v138 · miscellaneous

Crash Reporting API: is_top_level & visibility_state

This feature adds `is_top_level` and `visibility_state` string fields to the crash reporting API body that gets sent to the default reporting endpoint for crash reports. See https://wicg.github.io/crash-reporting/#crash-report. For `is_top_level`: see https://github.com/WICG/crash-reporting/issues/20 & https://github.com/WICG/crash-reporting/pull/23. The

concepts

  1. Crash Context

    Crash reports automatically carry is_top_level and visibility_state. Easier to triage which renderer crashes affect interactive vs background tabs.

  2. Triage dashboard

    The on-call payoff. Crashes auto-bucket into a 2×2 of top-level×visibility — critical vs noise — so 95% iframe-OOM traffic stops paging you at 2am.

  3. Visibility timeline replay

    Simulates 60s of page life with visibility transitions, drops a crash at any moment, and shows the generated report — with the new is_top_level_visibility_state field highlighted.

  4. Visibility State Timeline

    Records your tab’s actual visibility transitions in real time — then previews the exact crash report body Chrome 138 would generate, with the new is_top_level and visibility_state fields filled in.

why it shipped

We've gotten reports from many developers that it would be useful to include more contextual bits of information about a crashing frame in the crash report body that gets sent to the `default` reporting endpoint. This feature exposes two new bits of information that were explicitly requested: `is_top_level` and `page_visibility`. See https://github.com/WICG/crash-reporting/issues/20 and https://github.com/WICG/crash-reporting/issues/14.

references