From 95cc32f4ddedc4d1fbd657e321e4456747428838 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Mon, 17 Jul 2023 11:02:52 +0100 Subject: [PATCH 1/8] Add amber coloring --- icons/needs-improvement128w-3.png | Bin 0 -> 1657 bytes icons/needs-improvement128w-cls.png | Bin 0 -> 1706 bytes icons/needs-improvement128w-fid.png | Bin 0 -> 813 bytes icons/needs-improvement128w-lcp.png | Bin 0 -> 1340 bytes icons/needs-improvement128w.png | Bin 0 -> 97 bytes icons/needs-improvement16w.png | Bin 0 -> 84 bytes icons/needs-improvement256w.png | Bin 0 -> 103 bytes icons/needs-improvement48w.png | Bin 0 -> 85 bytes icons/needs-improvement512w.png | Bin 0 -> 126 bytes service_worker.js | 78 +++++++++++++++------- src/browser_action/viewer.css | 7 +- src/browser_action/vitals.js | 99 ++++++++++++++++++---------- 12 files changed, 126 insertions(+), 58 deletions(-) create mode 100644 icons/needs-improvement128w-3.png create mode 100644 icons/needs-improvement128w-cls.png create mode 100644 icons/needs-improvement128w-fid.png create mode 100644 icons/needs-improvement128w-lcp.png create mode 100644 icons/needs-improvement128w.png create mode 100644 icons/needs-improvement16w.png create mode 100644 icons/needs-improvement256w.png create mode 100644 icons/needs-improvement48w.png create mode 100644 icons/needs-improvement512w.png diff --git a/icons/needs-improvement128w-3.png b/icons/needs-improvement128w-3.png new file mode 100644 index 0000000000000000000000000000000000000000..44df51f2bfbf9891c8ac15267ccecd8ca9c1bdaa GIT binary patch literal 1657 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 IkzK<73#z2GjsO4v literal 0 HcmV?d00001 diff --git a/icons/needs-improvement128w-fid.png b/icons/needs-improvement128w-fid.png new file mode 100644 index 0000000000000000000000000000000000000000..655180534e682849b88bc80f85e4304d295b054b GIT binary patch literal 813 zcmZ9Idr->(0LOpZT6GaRl3tWJcTp-QuUMt%p{y4c&Xi8W;f~8l`Ca7|I(b~Xq;p;C zA=Ogpz4Wjm^cZTWmZqj;rtQ{i`C*&3v1RTF_eCy&dT)%i;72n`Y%nZ9^(Hh1Lf(jx8pxhQnvYMn@a80{w}4MY zUpn+OG0{WfYc`<6?@xGp26;x%X)%}!J`K|f2m{a*ib_{hx}eG(uMR<+g3$&{{X~ri zw9|NMhQfsq`eEh|q=hIl$D9T=+aRle<_9`XVRjOVZj>%Z*CjMZpq7DW7AP>mXdQ|z z@#{UbQszFS=!$1x`Ttm4desw~e z3}qiwQfTCm3!xB0#70jN-k!yb62Ct}T7cJ_rV0jEFRH`e$19whHPP1_+RR*Xb;u!S zWz?1vw?mjAspjz(US&~=e$AEnkAJo%xsIf?3t5A<_su&Q(Ra=4^|GIMA8z+e=!@LQ zTW>w_DAO@6eIz#US!HqmUeD|2#hhY!L`Fhb)nw#&cRY(WV40w;r-X{ed9>V9rY?3v zYdo!)3%d+$O(kpFh?eZti(6*=9JL|rV-IMz8T-;GlGN_lR_FG#G6Q4R9Y@XgxY2JE zW~l>tQ6`JTRzb(BsVS!$7JD%0UPd=qpWm0!TVt({&RfRMXJQ{CSc(S@YV1<&sKTK>{ST27s8 z11YlSlXh63>fv5@vfDX)_yxJ$N>NUiacts*k;x>jcZ~`(5huQVslfM(SqbSDROwJc zMrUSow=?8qSY+bd{)6M>hVjd#D-0+`Sw{|xo{YIh%Dz9Wn7GJj%p_QXLxZj7GUv`0 zolT6OG**Yr)H+WQR~3dj2fKvQxI_Wv)rX32N^cL|1)W+F!z*f2d^}<)$sf(=z4xV4 cZ~s637$$#9ZAy7frT#noeS>{UyxB>A0g1@QegFUf literal 0 HcmV?d00001 diff --git a/icons/needs-improvement128w-lcp.png b/icons/needs-improvement128w-lcp.png new file mode 100644 index 0000000000000000000000000000000000000000..7d462925a2fe2a1a5bbd54c70196079549499be9 GIT binary patch literal 1340 zcmZvcYcv!H0ENdenml5t#TG}L)7n;vN;<6=c`MBlPPIxe+Nj;AHAIXhb}LaQGSW)O zb(D*xQ&Vp-=!ktJXLYRT6DsU{oK7?@&md3HRjBi@U z=ShsQF_ei39>z*Bk_X{Sv`3-F1M6$(iUn&E+W*0_2rIMT2VrdmvrTyK4Iv9lV<<63 z&Nh4+#oJ@(dx}bDtgWKV3~k|H6U)oU>ZK$0RI;Ho?%6d%+2`n86EdfvJa&PFv~}-7V0jcKN*wdC_RX- zM_8W5r(wLILR638Tr|_smxOUHJ`NyL6+^F3ejL-aSm?#;J(zlj?#CD{!e{|9C6*}n+kPvt($6$o|lW0u9M*}L5WPy1hJE#RV)1@v%9UJNT9`J#&OSv z_*Nv5{QYZ^G`pH6pGsD)^ZdkX<-;b)dgL%|a@d!Wix;)(eA%XxSK?>xU#IyLiups^ zh#BmFv6P@(Da3|Vro5P43zQw6iQafrNy}hIpuK&>AKf&PsS=ET$s^c=9J+~~lt>!KgA@Q|~YfAUsx$n{^?k*XOwob*#M4lrXDmlwDv<1fLRCD)%mo-xqy0aRYy_A{1s=VaqN0qu6v9c~tF861U52#Vd z;h6_vFC*hR5|FFO7;ceSk65b`JQWZjWp~^`=LLDcd~~x@iJ7#=w`z+&$66NhxC(+ zTI@zgp1ql@i!NqtxRD)tIGm1yN^R(m_Scikw4Gaj_x_z}h9At%x$PUPO) zvUWz*{eZEbx%rB5bFZNF!j-Y`&;>4o>*deyYoth7v8MKlqZ$jC-KykyQisCn@r9d8 zW_d=QKC%Imd&xZGKA3&@r9ba4!+ tn3J3!!MZp>q^Bv+fXnTm#sYl?295>>#?WmkKY)rDJYD@<);T3K0RW*<8ioJ> literal 0 HcmV?d00001 diff --git a/icons/needs-improvement16w.png b/icons/needs-improvement16w.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa093344dd7b7ff036f4de6e41592ca321b13c0 GIT binary patch literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>;EMTmpcn?0l7S$E{-7; dbCMGjc!4|v21c>YSr>sU22WQ%mvv4FO#p#(5z_zw literal 0 HcmV?d00001 diff --git a/icons/needs-improvement256w.png b/icons/needs-improvement256w.png new file mode 100644 index 0000000000000000000000000000000000000000..87d49b8b7aec418d15b05fef3fba29d076886049 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K585o&?RN5XZRUpM2;1lBde+k3o&VpM&uDqv< tV@SoEw+9({fxJTtzWe9$nJ)k`!C)V+B2fRwbj5cduBWS?%Q~loCIDPe7&ia_ literal 0 HcmV?d00001 diff --git a/icons/needs-improvement48w.png b/icons/needs-improvement48w.png new file mode 100644 index 0000000000000000000000000000000000000000..2bc6b9e1a7c11c59176cc6caece6e428a06276fb GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDH3?y^UWFG-i%mF?juK$-XT<$Em1?2L2x;TbZ g%t=m=V75`1+Z~NuUISr>mdKI;Vst01i)VXbLJAo8)fKQ0)|0N8UI}2_Bxn`a& ujv*Cu-X3IR1oD~`{;$vTZ~!s!fg0&11_s7U6`dbIsyto&T-G@yGywoT8yOq` literal 0 HcmV?d00001 diff --git a/service_worker.js b/service_worker.js index e8bc4ec..8a2ce1f 100755 --- a/service_worker.js +++ b/service_worker.js @@ -12,12 +12,15 @@ */ // Core Web Vitals thresholds -const LCP_THRESHOLD = 2500; -const FID_THRESHOLD = 100; -const INP_THRESHOLD = 200; -const CLS_THRESHOLD = 0.1; -const FCP_THRESHOLD = 1800; -const TTFB_THRESHOLD = 800; +const LCP_GOOD_THRESHOLD = 2500; +const FID_GOOD_THRESHOLD = 100; +const INP_GOOD_THRESHOLD = 200; +const CLS_GOOD_THRESHOLD = 0.1; +const FCP_GOOD_THRESHOLD = 1800; +const TTFB_GOOD_THRESHOLD = 800; +const LCP_POOR_THRESHOLD = 4000; +const FID_POOR_THRESHOLD = 200; +const CLS_POOR_THRESHOLD = 0.25; /** * Hash the URL and return a numeric hash as a String to be used as the key @@ -102,6 +105,16 @@ function badgeOverallPerf(badgeCategory, tabid) { tabId: currentTab, }); break; + case 'NEEDS_IMPROVEMENT': + chrome.action.setIcon({ + path: '../../icons/needs-improvement128w.png', + tabId: currentTab, + }); + chrome.action.setBadgeText({ + text: '', + tabId: currentTab, + }); + break; case 'GOOD': chrome.action.setIcon({ path: '../../icons/fast128w.png', @@ -139,22 +152,29 @@ function badgeMetric(metric, value, tabid) { // If URL is overall failing the thresholds, only show // a red badge for metrics actually failing (issues/22) - if (metric === 'cls' && value <= CLS_THRESHOLD) { + if (metric === 'cls' && value <= CLS_GOOD_THRESHOLD) { return; } - if (metric === 'lcp' && value <= LCP_THRESHOLD) { + if (metric === 'lcp' && value <= LCP_GOOD_THRESHOLD) { return; } - if (metric === 'fid' && value <= FID_THRESHOLD) { + if (metric === 'fid' && value <= FID_GOOD_THRESHOLD) { return; } switch (metric) { case 'lcp': - chrome.action.setIcon({ - path: '../../icons/slow128w-lcp.png', - tabId: currentTab, - }); + if (value <= LCP_POOR_THRESHOLD) { + chrome.action.setIcon({ + path: '../../icons/needs-improvement128w-lcp.png', + tabId: currentTab, + }); + } else { + chrome.action.setIcon({ + path: '../../icons/slow128w-lcp.png', + tabId: currentTab, + }); + } chrome.action.setBadgeBackgroundColor({ color: bgColor, tabId: currentTab, @@ -165,10 +185,17 @@ function badgeMetric(metric, value, tabid) { }); break; case 'cls': - chrome.action.setIcon({ - path: '../../icons/slow128w-cls.png', - tabId: currentTab, - }); + if (value <= CLS_POOR_THRESHOLD) { + chrome.action.setIcon({ + path: '../../icons/needs-improvement128w-cls.png', + tabId: currentTab, + }); + } else { + chrome.action.setIcon({ + path: '../../icons/slow128w-cls.png', + tabId: currentTab, + }); + } chrome.action.setBadgeBackgroundColor({ color: bgColor, tabId: currentTab, @@ -179,10 +206,17 @@ function badgeMetric(metric, value, tabid) { }); break; case 'fid': - chrome.action.setIcon({ - path: '../../icons/slow128w-fid.png', - tabId: currentTab, - }); + if (value <= FID_POOR_THRESHOLD) { + chrome.action.setIcon({ + path: '../../icons/needs-improvement128w-fid.png', + tabId: currentTab, + }); + } else { + chrome.action.setIcon({ + path: '../../icons/slow128w-fid.png', + tabId: currentTab, + }); + } chrome.action.setBadgeBackgroundColor({ color: bgColor, tabId: currentTab, @@ -250,7 +284,7 @@ async function animateBadges(request, tabId) { // First badge overall perf badgeOverallPerf(request.passesAllThresholds, tabId); // If perf is poor, animate the sequence - if (request.passesAllThresholds === 'POOR') { + if (request.passesAllThresholds !== 'GOOD') { await wait(delay); if (animationsByTabId.get(tabId) !== animationId) return; badgeMetric('lcp', request.metrics.lcp.value, tabId); diff --git a/src/browser_action/viewer.css b/src/browser_action/viewer.css index 8236759..dc540ce 100644 --- a/src/browser_action/viewer.css +++ b/src/browser_action/viewer.css @@ -360,7 +360,7 @@ color: var(--color-gray-500); } -.web-vitals-chrome-extension .lh-audit__description, +.web-vitals-chrome-extension .lh-audit__description, .web-vitals-chrome-extension .lh-audit__stackpack { --inner-audit-padding-right: var(--stackpack-padding-horizontal); padding-left: var(--audit-description-padding-left); @@ -440,6 +440,7 @@ .web-vitals-chrome-extension .lh-audit--pass .lh-audit__display-text { color: var(--color-pass-secondary); } + .web-vitals-chrome-extension .lh-audit--pass .lh-audit__score-icon { border-radius: 100%; background: var(--color-pass); @@ -1717,7 +1718,7 @@ .web-vitals-chrome-extension #web-vitals-close, .lh-overlay-close { all: unset; font-family: Roboto, Helvetica, Arial, sans-serif; - font-weight: bold; + font-weight: bold; font-size: 16px; position: fixed; z-index: 100000000; @@ -1728,7 +1729,7 @@ border-width: initial; border-style: initial; border-image: initial; - display: block; + display: block; margin: 7px 9px 0px 0px; } diff --git a/src/browser_action/vitals.js b/src/browser_action/vitals.js index 3ec5dfd..61b592e 100644 --- a/src/browser_action/vitals.js +++ b/src/browser_action/vitals.js @@ -21,12 +21,18 @@ let enableUserTiming = localStorage.getItem('web-vitals-extension-user-timing')=='TRUE'; // Core Web Vitals thresholds - const LCP_THRESHOLD = webVitals.LCPThresholds[0]; - const FID_THRESHOLD = webVitals.FIDThresholds[0]; - const INP_THRESHOLD = webVitals.INPThresholds[0]; - const CLS_THRESHOLD = webVitals.CLSThresholds[0]; - const FCP_THRESHOLD = webVitals.FCPThresholds[0]; - const TTFB_THRESHOLD = webVitals.TTFBThresholds[0]; + const LCP_GOOD_THRESHOLD = webVitals.LCPThresholds[0]; + const FID_GOOD_THRESHOLD = webVitals.FIDThresholds[0]; + const INP_GOOD_THRESHOLD = webVitals.INPThresholds[0]; + const CLS_GOOD_THRESHOLD = webVitals.CLSThresholds[0]; + const FCP_GOOD_THRESHOLD = webVitals.FCPThresholds[0]; + const TTFB_GOOD_THRESHOLD = webVitals.TTFBThresholds[0]; + const LCP_POOR_THRESHOLD = webVitals.LCPThresholds[1]; + const FID_POOR_THRESHOLD = webVitals.FIDThresholds[1]; + const INP_POOR_THRESHOLD = webVitals.INPThresholds[1]; + const CLS_POOR_THRESHOLD = webVitals.CLSThresholds[1]; + const FCP_POOR_THRESHOLD = webVitals.FCPThresholds[1]; + const TTFB_POOR_THRESHOLD = webVitals.TTFBThresholds[1]; const COLOR_GOOD = '#0CCE6A'; const COLOR_NEEDS_IMPROVEMENT = '#FFA400'; const COLOR_POOR = '#FF4E42'; @@ -60,27 +66,27 @@ return { lcp: { value: null, - pass: true, + state: 'pass', }, cls: { value: null, - pass: true, + state: 'pass', }, fid: { value: null, - pass: true, + state: 'pass', }, inp: { value: null, - pass: true, + state: 'pass', }, fcp: { value: null, - pass: true, + state: 'pass', }, ttfb: { value: null, - pass: true, + state: 'pass', }, // This is used to distinguish between navigations. // TODO: Is there a cleaner way? @@ -99,29 +105,56 @@ // a boolean to give us the flexibility of introducing a // 'NEEDS IMPROVEMENT' option here in the future. let overallScore = 'GOOD'; - if (metrics.lcp.value > LCP_THRESHOLD) { - overallScore = 'POOR'; - metrics.lcp.pass = false; + if (metrics.lcp.value > LCP_GOOD_THRESHOLD) { + if (metrics.lcp.value > LCP_POOR_THRESHOLD) { + overallScore = 'POOR'; + metrics.lcp.state = 'fail'; + } else if (overallScore === 'GOOD') { + overallScore = 'NEEDS_IMPROVEMENT'; + metrics.lcp.state = 'average'; + } } - if (metrics.cls.value > CLS_THRESHOLD) { - overallScore = 'POOR'; - metrics.cls.pass = false; + if (metrics.cls.value > CLS_GOOD_THRESHOLD) { + if (metrics.cls.value > CLS_POOR_THRESHOLD) { + overallScore = 'POOR'; + metrics.cls.state = 'fail'; + } else if (overallScore === 'GOOD') { + overallScore = 'NEEDS_IMPROVEMENT'; + metrics.cls.state = 'average'; + } } - if (metrics.fid.value > FID_THRESHOLD) { - overallScore = 'POOR'; - metrics.fid.pass = false; + if (metrics.fid.value > FID_GOOD_THRESHOLD) { + if (metrics.fid.value > FID_POOR_THRESHOLD) { + overallScore = 'POOR'; + metrics.fid.state = 'fail'; + } else if (overallScore === 'GOOD') { + overallScore = 'NEEDS_IMPROVEMENT'; + metrics.fid.state = 'average'; + } } - if (metrics.inp.value > INP_THRESHOLD) { + if (metrics.inp.value > INP_GOOD_THRESHOLD) { // INP does not affect overall score - metrics.inp.pass = false; + if (metrics.inp.value > INP_POOR_THRESHOLD) { + metrics.inp.state = 'fail'; + } else { + metrics.inp.state = 'average'; + } } - if (metrics.fcp.value > FCP_THRESHOLD) { + if (metrics.fcp.value > FCP_GOOD_THRESHOLD) { // FCP does not affect overall score - metrics.fcp.pass = false; + if (metrics.fcp.value > FCP_POOR_THRESHOLD) { + metrics.fcp.state = 'fail'; + } else { + metrics.fcp.state = 'average'; + } } - if (metrics.ttfb.value > TTFB_THRESHOLD) { + if (metrics.ttfb.value > TTFB_GOOD_THRESHOLD) { // TTFB does not affect overall score - metrics.ttfb.pass = false; + if (metrics.ttfb.value > TTFB_POOR_THRESHOLD) { + metrics.ttfb.state = 'fail'; + } else { + metrics.ttfb.state = 'average'; + } } return overallScore; } @@ -509,7 +542,7 @@
-
+
Largest Contentful Paint @@ -518,13 +551,13 @@
${((metrics.lcp.value || 0)/1000).toFixed(2)} s
-
+
Cumulative Layout Shift
${(metrics.cls.value || 0).toFixed(3)}
-
+
First Input Delay @@ -536,7 +569,7 @@ }
-
+
Interaction to Next Paint @@ -548,7 +581,7 @@ }
-
+
First Contentful Paint @@ -558,7 +591,7 @@
-
+
Time to First Byte From db521304eb72cbd93a401c29d600173fee7d3c59 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Mon, 17 Jul 2023 11:13:47 +0100 Subject: [PATCH 2/8] Remove unnecessary toLowerCase() --- src/browser_action/vitals.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/browser_action/vitals.js b/src/browser_action/vitals.js index 61b592e..5a9616e 100644 --- a/src/browser_action/vitals.js +++ b/src/browser_action/vitals.js @@ -542,7 +542,7 @@
-
+
Largest Contentful Paint @@ -551,13 +551,13 @@
${((metrics.lcp.value || 0)/1000).toFixed(2)} s
-
+
Cumulative Layout Shift
${(metrics.cls.value || 0).toFixed(3)}
-
+
First Input Delay @@ -569,7 +569,7 @@ }
-
+
Interaction to Next Paint @@ -581,7 +581,7 @@ }
-
+
First Contentful Paint @@ -591,7 +591,7 @@
-
+
Time to First Byte From 09f431f02f8752a7c46fb9b9a144c53bb3bdecec Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Mon, 17 Jul 2023 14:02:37 +0100 Subject: [PATCH 3/8] Swithc from pass/average/fail -> good/needs-improvement/poor --- service_worker.js | 4 +- src/browser_action/viewer.css | 124 +++++++++++++++++----------------- src/browser_action/vitals.js | 36 +++++----- 3 files changed, 82 insertions(+), 82 deletions(-) diff --git a/service_worker.js b/service_worker.js index 8a2ce1f..821ecd2 100755 --- a/service_worker.js +++ b/service_worker.js @@ -83,7 +83,7 @@ chrome.tabs.onActivated.addListener(({tabId, windowId}) => { /** * * Update the badge icon based on the overall WebVitals - * pass rate (i.e good = green icon, poor = red icon) + * good rate (i.e good = green icon, poor = red icon) * @param {String} badgeCategory - GOOD or POOR * @param {Number} tabid */ @@ -270,7 +270,7 @@ let globalAnimationId = 0; const animationsByTabId = new Map(); /** - * Animate badges between pass/fail -> each failing metric. + * Animate badges between good/needs-improvement/poor -> each failing metric. * We track each animation by tabId so that we can handle "cancellation" of the animation on new information. * @param {Object} request * @param {Number} tabId diff --git a/src/browser_action/viewer.css b/src/browser_action/viewer.css index dc540ce..0eb0395 100644 --- a/src/browser_action/viewer.css +++ b/src/browser_action/viewer.css @@ -67,13 +67,13 @@ --color-white: #FFFFFF; /* Context-specific colors */ - --color-average-secondary: var(--color-orange-700); - --color-average: var(--color-orange); - --color-fail-secondary: var(--color-red-700); - --color-fail: var(--color-red); + --color-needs-improvment-secondary: var(--color-orange-700); + --color-needs-improvment: var(--color-orange); + --color-poor-secondary: var(--color-red-700); + --color-poor: var(--color-red); --color-informative: var(--color-blue-900); - --color-pass-secondary: var(--color-green-700); - --color-pass: var(--color-green); + --color-good-secondary: var(--color-green-700); + --color-good: var(--color-green); --color-hover: var(--color-gray-50); /* Component variables */ @@ -154,9 +154,9 @@ --plugin-icon-url-dark: url('data:image/svg+xml;utf8,'); --plugin-icon-url: url('data:image/svg+xml;utf8,'); - --pass-icon-url: url('data:image/svg+xml;utf8,check'); - --average-icon-url: url('data:image/svg+xml;utf8,info'); - --fail-icon-url: url('data:image/svg+xml;utf8,warn'); + --good-icon-url: url('data:image/svg+xml;utf8,check'); + --needs-improvment-icon-url: url('data:image/svg+xml;utf8,info'); + --poor-icon-url: url('data:image/svg+xml;utf8,warn'); --pwa-fast-reliable-gray-url: url('data:image/svg+xml;utf8,'); --pwa-installable-gray-url: url('data:image/svg+xml;utf8,'); @@ -437,32 +437,32 @@ margin: var(--score-icon-margin); } -.web-vitals-chrome-extension .lh-audit--pass .lh-audit__display-text { - color: var(--color-pass-secondary); +.web-vitals-chrome-extension .lh-audit--good .lh-audit__display-text { + color: var(--color-good-secondary); } -.web-vitals-chrome-extension .lh-audit--pass .lh-audit__score-icon { +.web-vitals-chrome-extension .lh-audit--good .lh-audit__score-icon { border-radius: 100%; - background: var(--color-pass); + background: var(--color-good); } -.web-vitals-chrome-extension .lh-audit--average .lh-audit__display-text { - color: var(--color-average-secondary); +.web-vitals-chrome-extension .lh-audit--needs-improvment .lh-audit__display-text { + color: var(--color-needs-improvment-secondary); } -.web-vitals-chrome-extension .lh-audit--average .lh-audit__score-icon { - background: var(--color-average); +.web-vitals-chrome-extension .lh-audit--needs-improvment .lh-audit__score-icon { + background: var(--color-needs-improvment); width: var(--icon-square-size); height: var(--icon-square-size); } -.web-vitals-chrome-extension .lh-audit--fail .lh-audit__display-text { - color: var(--color-fail-secondary); +.web-vitals-chrome-extension .lh-audit--poor .lh-audit__display-text { + color: var(--color-poor-secondary); } -.web-vitals-chrome-extension.lh-audit--fail .lh-audit__score-icon, +.web-vitals-chrome-extension.lh-audit--poor .lh-audit__score-icon, .web-vitals-chrome-extension.lh-audit--error .lh-audit__score-icon { border-left: calc(var(--score-icon-size) / 2) solid transparent; border-right: calc(var(--score-icon-size) / 2) solid transparent; - border-bottom: var(--score-icon-size) solid var(--color-fail); + border-bottom: var(--score-icon-size) solid var(--color-poor); } .web-vitals-chrome-extension .lh-audit--manual .lh-audit__display-text, @@ -713,36 +713,36 @@ margin: var(--score-icon-margin); } -.web-vitals-chrome-extension .lh-metric--pass .lh-metric__value { - color: var(--color-pass-secondary); +.web-vitals-chrome-extension .lh-metric--good .lh-metric__value { + color: var(--color-good-secondary); } -.web-vitals-chrome-extension .lh-metric--pass .lh-metric__innerwrap::before { +.web-vitals-chrome-extension .lh-metric--good .lh-metric__innerwrap::before { border-radius: 100%; - background: var(--color-pass); + background: var(--color-good); } -.web-vitals-chrome-extension .lh-metric--average .lh-metric__value { - color: var(--color-average-secondary); +.web-vitals-chrome-extension .lh-metric--needs-improvment .lh-metric__value { + color: var(--color-needs-improvment-secondary); } -.web-vitals-chrome-extension .lh-metric--average .lh-metric__innerwrap::before { - background: var(--color-average); +.web-vitals-chrome-extension .lh-metric--needs-improvment .lh-metric__innerwrap::before { + background: var(--color-needs-improvment); width: var(--icon-square-size); height: var(--icon-square-size); } -.web-vitals-chrome-extension .lh-metric--fail .lh-metric__value { - color: var(--color-fail-secondary); +.web-vitals-chrome-extension .lh-metric--poor .lh-metric__value { + color: var(--color-poor-secondary); } -.web-vitals-chrome-extension .lh-metric--fail .lh-metric__innerwrap::before, +.web-vitals-chrome-extension .lh-metric--poor .lh-metric__innerwrap::before, .web-vitals-chrome-extension .lh-metric--error .lh-metric__innerwrap::before { border-left: calc(var(--score-icon-size) / 2) solid transparent; border-right: calc(var(--score-icon-size) / 2) solid transparent; - border-bottom: var(--score-icon-size) solid var(--color-fail); + border-bottom: var(--score-icon-size) solid var(--color-poor); } .web-vitals-chrome-extension .lh-metric--error .lh-metric__value, .web-vitals-chrome-extension .lh-metric--error .lh-metric__description { - color: var(--color-fail-secondary); + color: var(--color-poor-secondary); } /* Perf load opportunity */ @@ -794,16 +794,16 @@ float: right; } -.lh-audit--pass .lh-sparkline__bar { - background: var(--color-pass); +.lh-audit--good .lh-sparkline__bar { + background: var(--color-good); } -.web-vitals-chrome-extension .lh-audit--average .lh-sparkline__bar { - background: var(--color-average); +.web-vitals-chrome-extension .lh-audit--needs-improvment .lh-sparkline__bar { + background: var(--color-needs-improvment); } -.web-vitals-chrome-extension .lh-audit--fail .lh-sparkline__bar { - background: var(--color-fail); +.web-vitals-chrome-extension .lh-audit--poor .lh-sparkline__bar { + background: var(--color-poor); } @@ -862,7 +862,7 @@ .web-vitals-chrome-extension .lh-audit--error .lh-audit__display-text { - color: var(--color-fail); + color: var(--color-poor); } /* Audit Group */ @@ -983,8 +983,8 @@ display: inline-block; } -.web-vitals-chrome-extension .lh-audit--fail .lh-audit-explanation { - color: var(--color-fail); +.web-vitals-chrome-extension .lh-audit--poor .lh-audit-explanation { + color: var(--color-poor); } /* Report */ @@ -1015,7 +1015,7 @@ .web-vitals-chrome-extension .lh-warnings { --item-margin: calc(var(--report-line-height) / 6); - color: var(--color-average); + color: var(--color-needs-improvment); margin: var(--audit-padding-vertical) 0; padding: calc(var(--audit-padding-vertical) / 2) var(--audit-padding-vertical); } @@ -1056,22 +1056,22 @@ /* Gauge */ -.web-vitals-chrome-extension .lh-gauge__wrapper--pass { - color: var(--color-pass); - fill: var(--color-pass); - stroke: var(--color-pass); +.web-vitals-chrome-extension .lh-gauge__wrapper--good { + color: var(--color-good); + fill: var(--color-good); + stroke: var(--color-good); } -.web-vitals-chrome-extension .lh-gauge__wrapper--average { - color: var(--color-average); - fill: var(--color-average); - stroke: var(--color-average); +.web-vitals-chrome-extension .lh-gauge__wrapper--needs-improvment { + color: var(--color-needs-improvment); + fill: var(--color-needs-improvment); + stroke: var(--color-needs-improvment); } -.web-vitals-chrome-extension .lh-gauge__wrapper--fail { - color: var(--color-fail); - fill: var(--color-fail); - stroke: var(--color-fail); +.web-vitals-chrome-extension .lh-gauge__wrapper--poor { + color: var(--color-poor); + fill: var(--color-poor); + stroke: var(--color-poor); } .web-vitals-chrome-extension .lh-gauge { @@ -1213,16 +1213,16 @@ margin-right: 10px; } -.web-vitals-chrome-extension .lh-scorescale-range--pass::before { - background-color: var(--color-pass); +.web-vitals-chrome-extension .lh-scorescale-range--good::before { + background-color: var(--color-good); } -.web-vitals-chrome-extension .lh-scorescale-range--average::before { - background-color: var(--color-average); +.web-vitals-chrome-extension .lh-scorescale-range--needs-improvment::before { + background-color: var(--color-needs-improvment); } -.web-vitals-chrome-extension .lh-scorescale-range--fail::before { - background-color: var(--color-fail); +.web-vitals-chrome-extension .lh-scorescale-range--poor::before { + background-color: var(--color-poor); } /* Hide category score gauages if it's a single category report */ diff --git a/src/browser_action/vitals.js b/src/browser_action/vitals.js index 5a9616e..f2bc052 100644 --- a/src/browser_action/vitals.js +++ b/src/browser_action/vitals.js @@ -66,27 +66,27 @@ return { lcp: { value: null, - state: 'pass', + state: 'good', }, cls: { value: null, - state: 'pass', + state: 'good', }, fid: { value: null, - state: 'pass', + state: 'good', }, inp: { value: null, - state: 'pass', + state: 'good', }, fcp: { value: null, - state: 'pass', + state: 'good', }, ttfb: { value: null, - state: 'pass', + state: 'good', }, // This is used to distinguish between navigations. // TODO: Is there a cleaner way? @@ -108,52 +108,52 @@ if (metrics.lcp.value > LCP_GOOD_THRESHOLD) { if (metrics.lcp.value > LCP_POOR_THRESHOLD) { overallScore = 'POOR'; - metrics.lcp.state = 'fail'; + metrics.lcp.state = 'poor'; } else if (overallScore === 'GOOD') { overallScore = 'NEEDS_IMPROVEMENT'; - metrics.lcp.state = 'average'; + metrics.lcp.state = 'needs-improvment'; } } if (metrics.cls.value > CLS_GOOD_THRESHOLD) { if (metrics.cls.value > CLS_POOR_THRESHOLD) { overallScore = 'POOR'; - metrics.cls.state = 'fail'; + metrics.cls.state = 'poor'; } else if (overallScore === 'GOOD') { overallScore = 'NEEDS_IMPROVEMENT'; - metrics.cls.state = 'average'; + metrics.cls.state = 'needs-improvment'; } } if (metrics.fid.value > FID_GOOD_THRESHOLD) { if (metrics.fid.value > FID_POOR_THRESHOLD) { overallScore = 'POOR'; - metrics.fid.state = 'fail'; + metrics.fid.state = 'poor'; } else if (overallScore === 'GOOD') { overallScore = 'NEEDS_IMPROVEMENT'; - metrics.fid.state = 'average'; + metrics.fid.state = 'needs-improvment'; } } if (metrics.inp.value > INP_GOOD_THRESHOLD) { // INP does not affect overall score if (metrics.inp.value > INP_POOR_THRESHOLD) { - metrics.inp.state = 'fail'; + metrics.inp.state = 'poor'; } else { - metrics.inp.state = 'average'; + metrics.inp.state = 'needs-improvment'; } } if (metrics.fcp.value > FCP_GOOD_THRESHOLD) { // FCP does not affect overall score if (metrics.fcp.value > FCP_POOR_THRESHOLD) { - metrics.fcp.state = 'fail'; + metrics.fcp.state = 'poor'; } else { - metrics.fcp.state = 'average'; + metrics.fcp.state = 'needs-improvment'; } } if (metrics.ttfb.value > TTFB_GOOD_THRESHOLD) { // TTFB does not affect overall score if (metrics.ttfb.value > TTFB_POOR_THRESHOLD) { - metrics.ttfb.state = 'fail'; + metrics.ttfb.state = 'poor'; } else { - metrics.ttfb.state = 'average'; + metrics.ttfb.state = 'needs-improvment'; } } return overallScore; From 4fe8b20addd7ea17b0864cf2a9c3c575b4278e20 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Mon, 17 Jul 2023 18:38:20 +0100 Subject: [PATCH 4/8] Fix FID threshold --- service_worker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service_worker.js b/service_worker.js index 821ecd2..72305db 100755 --- a/service_worker.js +++ b/service_worker.js @@ -19,7 +19,7 @@ const CLS_GOOD_THRESHOLD = 0.1; const FCP_GOOD_THRESHOLD = 1800; const TTFB_GOOD_THRESHOLD = 800; const LCP_POOR_THRESHOLD = 4000; -const FID_POOR_THRESHOLD = 200; +const FID_POOR_THRESHOLD = 300; const CLS_POOR_THRESHOLD = 0.25; /** From 57057df6ceae9f5364964d504b61e014ee20fb17 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Mon, 17 Jul 2023 18:42:08 +0100 Subject: [PATCH 5/8] Fix comments --- service_worker.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/service_worker.js b/service_worker.js index 72305db..af57329 100755 --- a/service_worker.js +++ b/service_worker.js @@ -83,8 +83,8 @@ chrome.tabs.onActivated.addListener(({tabId, windowId}) => { /** * * Update the badge icon based on the overall WebVitals - * good rate (i.e good = green icon, poor = red icon) - * @param {String} badgeCategory - GOOD or POOR + * good rate (i.e good = green icon, needs improvement = amber icon, poor = red icon) + * @param {String} badgeCategory - GOOD, NEEDS_INPROVEMENT or POOR * @param {Number} tabid */ function badgeOverallPerf(badgeCategory, tabid) { @@ -283,7 +283,7 @@ async function animateBadges(request, tabId) { const delay = 2000; // First badge overall perf badgeOverallPerf(request.passesAllThresholds, tabId); - // If perf is poor, animate the sequence + // If perf is not good, animate the sequence if (request.passesAllThresholds !== 'GOOD') { await wait(delay); if (animationsByTabId.get(tabId) !== animationId) return; From 5d4776a046b1b1110b5ca6b2591aed370b9f8964 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Mon, 17 Jul 2023 18:43:21 +0100 Subject: [PATCH 6/8] Fix typo --- src/browser_action/viewer.css | 40 +++++++++++++++++------------------ src/browser_action/vitals.js | 12 +++++------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/browser_action/viewer.css b/src/browser_action/viewer.css index 0eb0395..b1fc771 100644 --- a/src/browser_action/viewer.css +++ b/src/browser_action/viewer.css @@ -67,8 +67,8 @@ --color-white: #FFFFFF; /* Context-specific colors */ - --color-needs-improvment-secondary: var(--color-orange-700); - --color-needs-improvment: var(--color-orange); + --color-needs-improvement-secondary: var(--color-orange-700); + --color-needs-improvement: var(--color-orange); --color-poor-secondary: var(--color-red-700); --color-poor: var(--color-red); --color-informative: var(--color-blue-900); @@ -155,7 +155,7 @@ --plugin-icon-url: url('data:image/svg+xml;utf8,'); --good-icon-url: url('data:image/svg+xml;utf8,check'); - --needs-improvment-icon-url: url('data:image/svg+xml;utf8,info'); + --needs-improvement-icon-url: url('data:image/svg+xml;utf8,info'); --poor-icon-url: url('data:image/svg+xml;utf8,warn'); --pwa-fast-reliable-gray-url: url('data:image/svg+xml;utf8,'); @@ -446,11 +446,11 @@ background: var(--color-good); } -.web-vitals-chrome-extension .lh-audit--needs-improvment .lh-audit__display-text { - color: var(--color-needs-improvment-secondary); +.web-vitals-chrome-extension .lh-audit--needs-improvement .lh-audit__display-text { + color: var(--color-needs-improvement-secondary); } -.web-vitals-chrome-extension .lh-audit--needs-improvment .lh-audit__score-icon { - background: var(--color-needs-improvment); +.web-vitals-chrome-extension .lh-audit--needs-improvement .lh-audit__score-icon { + background: var(--color-needs-improvement); width: var(--icon-square-size); height: var(--icon-square-size); } @@ -721,11 +721,11 @@ background: var(--color-good); } -.web-vitals-chrome-extension .lh-metric--needs-improvment .lh-metric__value { - color: var(--color-needs-improvment-secondary); +.web-vitals-chrome-extension .lh-metric--needs-improvement .lh-metric__value { + color: var(--color-needs-improvement-secondary); } -.web-vitals-chrome-extension .lh-metric--needs-improvment .lh-metric__innerwrap::before { - background: var(--color-needs-improvment); +.web-vitals-chrome-extension .lh-metric--needs-improvement .lh-metric__innerwrap::before { + background: var(--color-needs-improvement); width: var(--icon-square-size); height: var(--icon-square-size); } @@ -798,8 +798,8 @@ background: var(--color-good); } -.web-vitals-chrome-extension .lh-audit--needs-improvment .lh-sparkline__bar { - background: var(--color-needs-improvment); +.web-vitals-chrome-extension .lh-audit--needs-improvement .lh-sparkline__bar { + background: var(--color-needs-improvement); } .web-vitals-chrome-extension .lh-audit--poor .lh-sparkline__bar { @@ -1015,7 +1015,7 @@ .web-vitals-chrome-extension .lh-warnings { --item-margin: calc(var(--report-line-height) / 6); - color: var(--color-needs-improvment); + color: var(--color-needs-improvement); margin: var(--audit-padding-vertical) 0; padding: calc(var(--audit-padding-vertical) / 2) var(--audit-padding-vertical); } @@ -1062,10 +1062,10 @@ stroke: var(--color-good); } -.web-vitals-chrome-extension .lh-gauge__wrapper--needs-improvment { - color: var(--color-needs-improvment); - fill: var(--color-needs-improvment); - stroke: var(--color-needs-improvment); +.web-vitals-chrome-extension .lh-gauge__wrapper--needs-improvement { + color: var(--color-needs-improvement); + fill: var(--color-needs-improvement); + stroke: var(--color-needs-improvement); } .web-vitals-chrome-extension .lh-gauge__wrapper--poor { @@ -1217,8 +1217,8 @@ background-color: var(--color-good); } -.web-vitals-chrome-extension .lh-scorescale-range--needs-improvment::before { - background-color: var(--color-needs-improvment); +.web-vitals-chrome-extension .lh-scorescale-range--needs-improvement::before { + background-color: var(--color-needs-improvement); } .web-vitals-chrome-extension .lh-scorescale-range--poor::before { diff --git a/src/browser_action/vitals.js b/src/browser_action/vitals.js index f2bc052..5f7fde0 100644 --- a/src/browser_action/vitals.js +++ b/src/browser_action/vitals.js @@ -111,7 +111,7 @@ metrics.lcp.state = 'poor'; } else if (overallScore === 'GOOD') { overallScore = 'NEEDS_IMPROVEMENT'; - metrics.lcp.state = 'needs-improvment'; + metrics.lcp.state = 'needs-improvement'; } } if (metrics.cls.value > CLS_GOOD_THRESHOLD) { @@ -120,7 +120,7 @@ metrics.cls.state = 'poor'; } else if (overallScore === 'GOOD') { overallScore = 'NEEDS_IMPROVEMENT'; - metrics.cls.state = 'needs-improvment'; + metrics.cls.state = 'needs-improvement'; } } if (metrics.fid.value > FID_GOOD_THRESHOLD) { @@ -129,7 +129,7 @@ metrics.fid.state = 'poor'; } else if (overallScore === 'GOOD') { overallScore = 'NEEDS_IMPROVEMENT'; - metrics.fid.state = 'needs-improvment'; + metrics.fid.state = 'needs-improvement'; } } if (metrics.inp.value > INP_GOOD_THRESHOLD) { @@ -137,7 +137,7 @@ if (metrics.inp.value > INP_POOR_THRESHOLD) { metrics.inp.state = 'poor'; } else { - metrics.inp.state = 'needs-improvment'; + metrics.inp.state = 'needs-improvement'; } } if (metrics.fcp.value > FCP_GOOD_THRESHOLD) { @@ -145,7 +145,7 @@ if (metrics.fcp.value > FCP_POOR_THRESHOLD) { metrics.fcp.state = 'poor'; } else { - metrics.fcp.state = 'needs-improvment'; + metrics.fcp.state = 'needs-improvement'; } } if (metrics.ttfb.value > TTFB_GOOD_THRESHOLD) { @@ -153,7 +153,7 @@ if (metrics.ttfb.value > TTFB_POOR_THRESHOLD) { metrics.ttfb.state = 'poor'; } else { - metrics.ttfb.state = 'needs-improvment'; + metrics.ttfb.state = 'needs-improvement'; } } return overallScore; From 2dfa96c45551c327a3bcaf53489a57ae84c90e0f Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Mon, 17 Jul 2023 19:10:31 +0100 Subject: [PATCH 7/8] Another comment fix --- service_worker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service_worker.js b/service_worker.js index af57329..ce24b58 100755 --- a/service_worker.js +++ b/service_worker.js @@ -83,7 +83,7 @@ chrome.tabs.onActivated.addListener(({tabId, windowId}) => { /** * * Update the badge icon based on the overall WebVitals - * good rate (i.e good = green icon, needs improvement = amber icon, poor = red icon) + * rating (i.e good = green icon, needs improvement = amber icon, poor = red icon) * @param {String} badgeCategory - GOOD, NEEDS_INPROVEMENT or POOR * @param {Number} tabid */ From 71639b99ec1465e1a7ae3b96490e4851f7393cc3 Mon Sep 17 00:00:00 2001 From: Barry Pollard Date: Fri, 21 Jul 2023 19:57:23 +0100 Subject: [PATCH 8/8] README updates --- README.md | 6 +++--- media/cwv-extension-drilldown-2.png | Bin 52379 -> 52365 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 13ca3b6..47b5a14 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ It supports all of the [Core Web Vitals](https://web.dev/vitals/#core-web-vitals * [Cumulative Layout Shift](https://web.dev/cls/) * [First Input Delay](https://web.dev/fid/) -It also supports the newer INP metric: +It also supports the pending INP metric: * [Interaction to Next Paint](https://web.dev/inp/) Finally, it also supports the diagnostic metrics: @@ -57,9 +57,9 @@ If one or more metrics are failing, the badge will animate the values of these m -Clicking the Ambient badge icon will allow you to drill in to the individual metric values. In this mode, the extension will also say if a metric value `might change` or requires a user action. +Clicking the Ambient badge icon will allow you to drill in to the individual metric values. In this mode, the extension will also say if a metric requires a user action. -For example, First Input Delay requires a real interaction (e.g click/tap) with the page and will be in a `waiting for input` state until this is the case. We recommend consulting the web.dev documentation for [LCP](https://web.dev/lcp), [CLS](https://web.dev/cls) and [FID](https://web.dev/fid) to get an understanding of when metric values settle. +For example, Interaction to Next Paint requires a real interaction (e.g click/tap) with the page and will be in a `waiting for input` state until this is the case. We recommend consulting the web.dev documentation for [LCP](https://web.dev/lcp), [CLS](https://web.dev/cls) and [FID](https://web.dev/fid) to get an understanding of when metric values settle. As of version 1.0.0, the popup combines your local Core Web Vitals experiences with real-user data from the field via the [Chrome UX Report](https://developers.google.com/web/tools/chrome-user-experience-report) (CrUX) [API](https://developers.google.com/web/tools/chrome-user-experience-report/api/reference). This integration gives you contextual insights to help you understand how similar your individual experiences are to other desktop users on the same page. We've also added a new option to "Compare local experiences to phone field data" instead, if needed. Note that CrUX data may not be available for some pages, in which case we try to load field data for the origin as a whole. diff --git a/media/cwv-extension-drilldown-2.png b/media/cwv-extension-drilldown-2.png index 6cf041ddf76373f71e12e5f6bd00b1fbbbc1414b..ecef0a704bfc4cd4d22728c7e71525e03bf3a4c3 100644 GIT binary patch literal 52365 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 literal 52379 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