#1251: Other Spec Review: JS Self-Profiling Markers (ProfilerSample.marker)
Discussions
Log in to see TAG-private discussions.
Comment by @bkardell Aug 12, 2026 (See Github)
@monica-ch can you say more about the plan for a Chromium Origin Trial? Is there already an issue/intent? Any reason there is no standards position filed on the other vendors?
Comment by @monica-ch Aug 13, 2026 (See Github)
Thanks @bkardell! Updates on all three points:
Origin Trial plan & intent. The Intent to Experiment is approved on blink-dev, and the Chromium Origin Trial is approved to run M153 → M161. Tracking links:
- ChromeStatus: https://chromestatus.com/feature/5201297767792640
- Intent to Experiment (approved): https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a72681c.c91ea2f1.3ad85a.01ad.GAE%40google.com
- Implementation bug: https://crbug.com/40800459
- Spec PR under review: https://github.com/WICG/js-self-profiling/pull/89
The trial gathers field data from partner developers (Excel Online, Datadog) on the marker vocabulary and the cross-origin-isolation gating before we finalize the design.
On standards positions for Mozilla and WebKit. Good prompt — here's the accurate state:
-
There is a Mozilla standards-position request on the base JS Self-Profiling API (mozilla/standards-positions#477), filed alongside the original TAG review (#366). It's still open and unresolved. There is no separate WebKit position issue, and neither engine has implemented the base API.
-
This markers proposal is a one-field extension (
markeronProfilerSample) on top of that base API. Given the parent position is still unresolved and the API is Chromium-only today, filing a fresh position on the extension right now would likely just fork the same unresolved base-API security discussion rather than move it forward. -
The one genuinely new design point, isolation-based gating of the sensitive markers (
script/gc/paint) is still under active discussion (WICG/js-self-profiling#61) and is exactly what the Origin Trial is meant to validate. My inclination is to file the markers-specific WebKit/Mozilla positions once that gating stabilizes after the OT, so their review is against final semantics. Does that sequencing work for TAG, or would you prefer we file now and consolidate with the existing base-API discussion?
We'd welcome TAG feedback before or early in the trial — the marker set and gating are still open for iteration as part of standardization.
Comment by @marcoscaceres Aug 18, 2026 (See Github)
Def worth while filing a WebKit standards position. With my WebKit hat on 🤠, at first glance, my colleagues and I have some privacy concerns/questions.
Comment by @monica-ch Aug 26, 2026 (See Github)
@marcoscaceres Just filed a WebKit position https://github.com/WebKit/standards-positions/issues/717
OpenedJul 29, 2026
Specification
https://github.com/WICG/js-self-profiling/blob/main/markers.md, https://github.com/WICG/js-self-profiling/pull/89
Explainer
https://github.com/WICG/js-self-profiling/blob/main/markers.md
Links
The specification
Where and by whom is the work is being done?
Feedback so far
You should also know that...
-
-
- The full marker set is exposed only in cross-origin-isolated documents
(COOP+COEP) via
- In non-isolated documents only
- Markers attributable to a specific document are attached only when that
document is same-origin with the profiler.
-
<!-- Content below this is maintained by @w3c-tag-bot -->This is an incremental extension of an already-reviewed, shipped API. The base JS Self-Profiling API went through TAG review in #366 and ships in Chromium. This proposal adds exactly one optional field —
markeronProfilerSample— labeling the user-agent activity at each sample (script/gc/style/layout/paint/other). No new entry point, no new way to start profiling, no change to the existingDocument-Policy: js-profilinggate.The only new consideration is timing, and it's addressed by design.
[CrossOriginIsolated]on the IDL member — the same isolation boundary already used for cross-origin-sensitive timing. In such a process a document can already observe process-wide signals (Spectre threat model,performance.measureMemory(),WeakRef), sogc/paint/scriptadd no new leverage.styleandlayoutare exposed. That timing is already same-origin observable today via forced synchronous reflow (Element.getBoundingClientRect()forces layout;getComputedStyle()forces style/layout). The markers provide the same class of information, sampled rather than forced — strictly less capability than pages already have. This mirrors the exposure model of Long Animation Frames (LoAF).Timing / ask. We plan a Chromium Origin Trial to gather field data from partners (Excel Online, Datadog). Feedback before or early in the trial would be most valuable; we're happy to iterate on the marker vocabulary and gating as part of standardization.
Track conversations at https://tag-github-bot.w3.org/gh/w3ctag/design-reviews/1251