Skip to content

Commit 3a78637

Browse files
committed
Move content_visibility to css.js
1 parent 5aa1f76 commit 3a78637

File tree

3 files changed

+37
-35
lines changed

3 files changed

+37
-35
lines changed

dist/almanac.js

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -777,39 +777,5 @@ return JSON.stringify({
777777

778778
'length_of_h1s': (() => {
779779
return [...document.querySelectorAll('h1')].map(node => node.innerText.length);
780-
})(),
781-
782-
'content_visibility': (() => {
783-
// Detects elements using the content-visibility CSS property
784-
const elements = document.querySelectorAll('*');
785-
const contentVisibilityElements = [];
786-
const contentVisibilityValues = {};
787-
788-
for (const element of elements) {
789-
try {
790-
const computedStyle = getComputedStyle(element);
791-
const contentVisibility = computedStyle.getPropertyValue('content-visibility');
792-
793-
if (contentVisibility && contentVisibility !== 'visible') {
794-
contentVisibilityElements.push({
795-
tagName: element.tagName.toLowerCase(),
796-
contentVisibility: contentVisibility.trim(),
797-
className: element.className || '',
798-
id: element.id || ''
799-
});
800-
801-
const value = contentVisibility.trim();
802-
contentVisibilityValues[value] = (contentVisibilityValues[value] || 0) + 1;
803-
}
804-
} catch (e) {
805-
// continue regardless of error
806-
}
807-
}
808-
809-
return {
810-
total: contentVisibilityElements.length,
811-
elements: contentVisibilityElements,
812-
values: contentVisibilityValues
813-
};
814780
})()
815781
});

dist/css.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,38 @@ return JSON.stringify({
7575
externalCssInBody: countExternalCssInBody(),
7676
inlineCssInHead: countInlineCssInHead(),
7777
inlineCssInBody: countInlineCssInBody(),
78+
79+
content_visibility: (() => {
80+
// Detects elements using the content-visibility CSS property
81+
const elements = document.querySelectorAll('*');
82+
const contentVisibilityElements = [];
83+
const contentVisibilityValues = {};
84+
85+
for (const element of elements) {
86+
try {
87+
const computedStyle = getComputedStyle(element);
88+
const contentVisibility = computedStyle.getPropertyValue('content-visibility');
89+
90+
if (contentVisibility && contentVisibility !== 'visible') {
91+
contentVisibilityElements.push({
92+
tagName: element.tagName.toLowerCase(),
93+
contentVisibility: contentVisibility.trim(),
94+
className: element.className || '',
95+
id: element.id || ''
96+
});
97+
98+
const value = contentVisibility.trim();
99+
contentVisibilityValues[value] = (contentVisibilityValues[value] || 0) + 1;
100+
}
101+
} catch (e) {
102+
// continue regardless of error
103+
}
104+
}
105+
106+
return {
107+
total: contentVisibilityElements.length,
108+
elements: contentVisibilityElements,
109+
values: contentVisibilityValues
110+
};
111+
})()
78112
});

metric-summary.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,9 @@ Example response:
723723
[5, 12, 11]
724724
```
725725

726-
## content_visibility
726+
## [css.js](https://github.com/HTTPArchive/custom-metrics/blob/main/dist/css.js) metrics
727+
728+
### content_visibility
727729

728730
Detects elements using the `content-visibility` CSS property for performance optimization analysis. Returns information about elements that have content-visibility set to values other than 'visible' (such as 'auto', 'hidden', or 'skip').
729731

0 commit comments

Comments
 (0)