<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/web-perf-wednesday-007-chrome-makes-busy-workers-measurable-css-wizardry-xxsb0p0sw" -->

---
title: Web-Perf Wednesday 007 – Chrome Makes Busy Workers...
description: Chrome 153 adds Long Animation Frame (LoAF) reporting inside dedicated Web Workers, giving RUM a way to detect congestion that main-thread metrics miss when...
canonical: https://daily.dev/posts/web-perf-wednesday-007-chrome-makes-busy-workers-measurable-css-wizardry-xxsb0p0sw
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Web-Perf Wednesday 007 – Chrome Makes Busy Workers Measurable – CSS Wizardry | daily.dev
og:description: Chrome 153 adds Long Animation Frame (LoAF) reporting inside dedicated Web Workers, giving RUM a way to detect congestion that main-thread metrics miss when...
og:url: https://daily.dev/posts/web-perf-wednesday-007-chrome-makes-busy-workers-measurable-css-wizardry-xxsb0p0sw
og:image: https://api.daily.dev/og/posts/xxSb0p0sw.png
og:image:alt: Web-Perf Wednesday 007 – Chrome Makes Busy Workers Measurable – CSS Wizardry
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Web-Perf Wednesday 007 – Chrome Makes Busy Workers Measurable – CSS Wizardry

**[CSS Wizardry](https://daily.dev/sources/csswizardry)** · [@csswizardry](https://daily.dev/csswizardry) · 5 min read · 4 upvotes · 0 comments

## Summary

Chrome 153 adds Long Animation Frame (LoAF) reporting inside dedicated Web Workers, giving RUM a way to detect congestion that main-thread metrics miss when work is offloaded to a worker. The same release removes several Privacy Sandbox APIs (Related Website Sets, requestStorageAccessFor, Attribution Reporting API) despite retaining third-party cookies, requiring teams to audit production use. Firefox 155 (released September 1) stops permanently caching failed module loads as failures, allowing retried imports to succeed after transient network or MIME errors, and also tweaks modulepreload behavior. Safari Technology Preview 251 fixes a bug where imagesrcset failed to override href on preload links, and fixes case-sensitive matching of 'as' keywords on preload links.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://csswizardry.com/2026/09/web-perf-wednesday-007-chrome-makes-busy-workers-measurable>

## Questions this post answers

### How can I measure long tasks that block a dedicated Web Worker's event loop in Chrome?

Chrome 153 exposes Long Animation Frame (LoAF) entries from inside dedicated Web Workers, observable via PerformanceObserver run in the worker itself. It reports a single long task blocking the worker's event loop, with per-script attribution, letting a RUM strategy detect delays that main-thread INP metrics would miss. A page-level observer will not collect these entries; the observer must run inside the worker, and results need to be joined to the initiating action with an application mark or task ID.

_daily.dev helps performance engineers track browser-native signals like worker-side LoAF as they roll out._

### What Privacy Sandbox APIs does Chrome 153 remove?

Chrome 153 removes Related Website Sets and document.requestStorageAccessFor(), and also removes the Attribution Reporting API along with other Privacy Sandbox APIs, despite Chrome retaining its current approach to third-party cookies. Teams relying on these for embedded sign-in, cross-site journeys, or conversion measurement should inventory production usage and test fallback behavior, since third-party cookies do not recreate the same access or attribution model.

_Teams tracking browser API deprecations rely on daily.dev to catch changes like Privacy Sandbox removals before they break production._

### Does Firefox 155 retry a failed JavaScript module import after a network error?

Yes, Firefox 155, released September 1, no longer caches a failed module load as a permanent failure. If a network error or incorrect MIME type is later corrected, importing the same specifier again can succeed, covering JavaScript, JSON, CSS, and text modules loaded statically or dynamically in windows and workers. Firefox also adjusted modulepreload behavior around already-fetched modules and failed integrity checks.

_daily.dev keeps developers upgrading Firefox informed about module-loading changes that affect resilience testing._

## Similar posts on daily.dev

- [Web-Perf Wednesday 003 – Native SPA Metrics Have Arrived – CSS Wizardry](https://daily.dev/posts/web-perf-wednesday-003-native-spa-metrics-have-arrived-css-wizardry-ia9s4dkoc) · CSS Wizardry · 3 upvotes · 0 comments
- [Web-Perf Wednesday 005 – RUM Needs More Than a Percentile – CSS Wizardry](https://daily.dev/posts/web-perf-wednesday-005-rum-needs-more-than-a-percentile-css-wizardry-drravlqbb) · CSS Wizardry · 1 upvotes · 0 comments

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#google-chrome](https://daily.dev/tags/google-chrome), [#firefox](https://daily.dev/tags/firefox), [#safari](https://daily.dev/tags/safari)

[View this post on daily.dev](https://daily.dev/posts/web-perf-wednesday-007-chrome-makes-busy-workers-measurable-css-wizardry-xxsb0p0sw)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Web-Perf Wednesday 007 – Chrome Makes Busy Workers Measurable – CSS Wizardry","url":"https://daily.dev/posts/web-perf-wednesday-007-chrome-makes-busy-workers-measurable-css-wizardry-xxsb0p0sw","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/web-perf-wednesday-007-chrome-makes-busy-workers-measurable-css-wizardry-xxsb0p0sw"},"datePublished":"2026-09-02T08:55:53.446Z","dateModified":"2026-09-03T05:00:14.700Z","description":"Chrome 153 adds Long Animation Frame (LoAF) reporting inside dedicated Web Workers, giving RUM a way to detect congestion that main-thread metrics miss when...","image":"https://media.daily.dev/image/upload/s--ZrL_HSsR--/f_auto/v1722860399/public/Placeholder%2006","thumbnailUrl":"https://media.daily.dev/image/upload/s--ZrL_HSsR--/f_auto/v1722860399/public/Placeholder%2006","isAccessibleForFree":true,"articleSection":"CSS Wizardry","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Person","name":"Harry Roberts","url":"https://daily.dev/csswizardry","image":"https://media.daily.dev/image/upload/s--6zcMNpvC--/f_auto/v1755686282/avatars/avatar_Lw7jrTalrSeSbSjzuBQBH?_a=BAMClqZW0","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":200}},"commentCount":0,"discussionUrl":"https://daily.dev/posts/web-perf-wednesday-007-chrome-makes-busy-workers-measurable-css-wizardry-xxsb0p0sw","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":4},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"webdev,google-chrome,firefox,safari","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"CSS Wizardry","item":"https://daily.dev/sources/csswizardry"},{"@type":"ListItem","position":3,"name":"Web-Perf Wednesday 007 – Chrome Makes Busy Workers Measurable – CSS Wizardry"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/web-perf-wednesday-007-chrome-makes-busy-workers-measurable-css-wizardry-xxsb0p0sw#faq","mainEntity":[{"@type":"Question","name":"How can I measure long tasks that block a dedicated Web Worker's event loop in Chrome?","acceptedAnswer":{"@type":"Answer","text":"Chrome 153 exposes Long Animation Frame (LoAF) entries from inside dedicated Web Workers, observable via PerformanceObserver run in the worker itself. It reports a single long task blocking the worker's event loop, with per-script attribution, letting a RUM strategy detect delays that main-thread INP metrics would miss. A page-level observer will not collect these entries; the observer must run inside the worker, and results need to be joined to the initiating action with an application mark or task ID. daily.dev helps performance engineers track browser-native signals like worker-side LoAF as they roll out."}},{"@type":"Question","name":"What Privacy Sandbox APIs does Chrome 153 remove?","acceptedAnswer":{"@type":"Answer","text":"Chrome 153 removes Related Website Sets and document.requestStorageAccessFor(), and also removes the Attribution Reporting API along with other Privacy Sandbox APIs, despite Chrome retaining its current approach to third-party cookies. Teams relying on these for embedded sign-in, cross-site journeys, or conversion measurement should inventory production usage and test fallback behavior, since third-party cookies do not recreate the same access or attribution model. Teams tracking browser API deprecations rely on daily.dev to catch changes like Privacy Sandbox removals before they break production."}},{"@type":"Question","name":"Does Firefox 155 retry a failed JavaScript module import after a network error?","acceptedAnswer":{"@type":"Answer","text":"Yes, Firefox 155, released September 1, no longer caches a failed module load as a permanent failure. If a network error or incorrect MIME type is later corrected, importing the same specifier again can succeed, covering JavaScript, JSON, CSS, and text modules loaded statically or dynamically in windows and workers. Firefox also adjusted modulepreload behavior around already-fetched modules and failed integrity checks. daily.dev keeps developers upgrading Firefox informed about module-loading changes that affect resilience testing."}}]}
```

