← back to v153 · js-self-profiling-markers
conformance · v153
v153 · js-self-profiling-markers — conformance probe
6 assertions drawn from the spec. Each is a single contract the spec text makes. Pass/fail reflects what this browser executed; blocked means the contract was not run because it needs user mediation, hardware, or another unavailable precondition. Open the page in Chrome stable / canary / Firefox / Safari to compare.
0
pass
0
fail
0
blocked
6
total
| id | contract | kind | verdict | detail |
|---|---|---|---|---|
profiler-exists |
The interface the marker field is added to. spec ↗ | typeof | … | |
profiler-construction-is-policy-gated |
Construction is gated on Document-Policy: js-profiling. This suite's own page is served with it, so the constructor must succeed here — and the same call from a document without the header fails, which the marker-field-probe demo shows in a frame created on demand. The negative half is deliberately NOT asserted here: attempting it makes Chrome write a document policy violation to the console on every page that carries this suite, which would report the whole feature as broken. spec ↗ | script | … | |
a-profile-produces-samples-stacks-and-frames |
The trace shape the demos read: samples pointing at stacks, stacks pointing at frames, frames pointing at resources. Every derived number depends on this structure. spec ↗ | script | … | |
frames-carry-a-name-and-a-position |
A frame names a function and where it is, which is what makes a self-profile actionable at all — and what a marker complements rather than replaces. spec ↗ | script | … | |
samples-carry-a-marker |
The feature itself: every sample in a trace carries a marker naming the browser activity it was taken during. A trace whose samples have only stackId and timestamp cannot distinguish garbage collection from arithmetic. spec ↗ | script | … | |
marker-values-come-from-the-defined-set |
Whatever markers a trace does carry must be drawn from the proposal's vocabulary. An implementation inventing its own value would make the field unreadable across browsers, which is the opposite of what it is for. spec ↗ | script | … |