v158 · mime sniffing · resource timing
Bucketing a real page's resources
This is why contentType minimizes at all: a RUM tool wants "how much CSS, how much script, how much XML" — a dozen stable buckets, not the raw zoo of every Content-Type a CDN emits. This page audits its own live resource-timing entries (plus a few freshly fetched +xml responses) exactly the way such a tool would.
Spec-compliant classification ships in Chrome 158. Earlier builds: --enable-blink-features=SpecCompliantXmlMimeTypes or chrome://flags/#enable-experimental-web-platform-features. Pre-158, the fetched +xml entries scatter — text/*+xml under its raw type, unsupported types under "" — the inconsistency this feature removes.
This page's resources, by minimized type
The audit reads every buffered resource entry for this page — the stylesheet, the telemetry script, and three XML documents this button fetches from the site's own server under different +xml types.
| bucket (contentType) | entries | what landed here |
|---|---|---|
| Not run yet. | ||
code path
// A RUM bucketing pass — small stable vocabulary, no per-CDN special cases:
const buckets = new Map();
for (const entry of performance.getEntriesByType("resource")) {
const bucket = entry.contentType; // "" = the browser has no category
if (!buckets.has(bucket)) buckets.set(bucket, []);
buckets.get(bucket).push(entry.name);
}
// Chrome 158: every */*+xml response lands together in "application/xml".
// pre-158: they scatter — "text/feed+xml" raw, "" for image/diagram+xml.