Contact emails
[email protected], [email protected]

Explainer
https://github.com/WICG/crash-reporting/blob/gh-pages/crashReport-explainer.md


Specification
https://github.com/WICG/crash-reporting/pull/37


Summary
A new key-value API, tentatively `window.crashReport`, backed by a per-Document 
map holding data that gets appended to crash reports. See 
https://github.com/WICG/crash-reporting/issues/15 for initial discussion. The 
data placed in this API's backing map gets sent in the `CrashReportBody` [1] if 
any renderer process crashes are incurred by the site. This lets developers 
debug what specific state in their application might be causing a given crash. 
[1]: https://wicg.github.io/crash-reporting/#crashreportbody


Blink component
Blink>ReportingObserver


Web Feature ID
kDRAFT_CrashReportStorageAPIInitialize


Motivation
The Crash Reporting API (https://wicg.github.io/crash-reporting/) allows 
developers to know when their site is crashing in the wild, and get some very 
rudimentary information associated with each crash. But developers don't have 
enough to go off to debug the crash further. The feature 
https://chromestatus.com/feature/4731248572628992 allows developers to get a 
JavaScript stack trace, but only for unresponsive crashes. Outside of this 
narrow case, developers have a hard time tying their specific logic or features 
to a real-world crash. The `window.crashReport` API exposes a light-weight 
key-value store that developers can use to store breadcrumbs of their app 
state, which get appended to crash reports that get sent to their 
developer-specified endpoints. This significantly helps developers pinpoint the 
cause of a crash they're seeing in the wild, and radically speed up their 
debugging cycle.


Initial public proposal
https://github.com/WICG/crash-reporting/issues/15


TAG review
No information provided


TAG review status
Issues addressed


Origin Trial Name
CrashReportingStorageAPI


Chromium Trial Name
CrashReportingStorageAPI


Origin Trial documentation link
https://github.com/WICG/crash-reporting/blob/gh-pages/crashReport-explainer.md


WebFeature UseCounter name
WebDXFeature::kCrashReportStorageAPIInitialize


Risks




Interoperability and Compatibility
No information provided

Gecko: Under consideration 
(https://github.com/mozilla/standards-positions/issues/1271) 
https://github.com/mozilla/standards-positions/issues/1271 is under 
consideration, but Mozilla is positive on the overall Crash Reporting 
infrastructure (https://github.com/mozilla/standards-positions/issues/288) and 
I've received positive, informal feedback in Web Perf WG when presenting this 
and asking Firefox engineers for feedback.

WebKit: Negative (https://github.com/WebKit/standards-positions/issues/528) 
Their concerns are not specific to this sub-API; they are concerned about the 
overall crash reporting infrastructure.

Web developers: Positive First-party partners at Google are excited to be able 
associate specific app state & data with web-exposed crash reports.

Other signals:


Security
https://github.com/WICG/crash-reporting/blob/gh-pages/crashReport-explainer.md#security-and-privacy-concerns


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?
No information provided



Debuggability
This feature could benefit by DevTools integration, to help developers more 
ergonomically interact with data in the crash report storage. We're considering 
this integration as a follow-up to support our partners, in the first half of 
2026.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?
Yes


Is this feature fully tested by web-platform-tests?
No
This feature is not fully testable with Web Platform Tests, because WPT 
infrastructure does not provide the ability to crash specific renderer 
processes. This limitation has not prevented the Crash Report Infrastructure 
from shipping in general, nor has it prevented additions like 
https://chromestatus.com/feature/4731248572628992. This API will be tested with 
as many web platform tests as possible to assert the shape and semantics of the 
JS-exposed web API.


Flag name on about://flags
CrashReportingStorageAPI


Finch feature name
CrashReportingStorageAPI


Rollout plan
Will ship enabled for all users


Requires code in //chrome?
False


Tracking bug
https://issues.chromium.org/issues/400432195


Availability expectation
My expectation is that the feature is available only in Chromium browsers for 
at least 12 months, with a possible (seems likely) implementation in Firefox to 
follow.


Adoption expectation
We expect the feature to be used by a very small number of large partners with 
uniquely complicated, memory-intensive web applications, and comprehensive 
client and server-side debugging infrastructure. These partners will be using 
the API well within 12 months of launch in Chrome.


Non-OSS dependencies

Does the feature depend on any code or APIs outside the Chromium open source 
repository and its open-source dependencies to function?
No


Estimated milestones


Shipping on desktop 145

Origin trial desktop first 140

Origin trial desktop last 142

Origin trial extension 1 end milestone 145

Shipping on Android 145

Origin trial Android first 140

Origin trial Android last 142

Shipping on WebView 145

Origin trial WebView first 140

Origin trial WebView last 142




Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, changing to naming or structure of the API in a 
non-backward-compatible way).
We're considering ergonomic additions to the API in the near future, such as: - 
The ability to retrieve keys placed in the crash storage - The ability to reset 
the storage entirely (freeing it), and re-request a different amount later The 
API has been designed in a way that does not preclude any of these additions.


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6228675846209536?gate=5081221847318528


Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/687500b2.170a0220.1c6204.01c6.GAE%40google.com
Intent to Experiment: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/688a7245.2b0a0220.35091d.043b.GAE%40google.com
Intent to Extend Experiment 1: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68e67fd8.050a0220.3258b8.09b7.GAE%40google.com



This intent message was generated by Chrome Platform Status.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69723029.710a0220.3080c5.03ca.GAE%40google.com.

Reply via email to