Lines Matching +full:error +full:- +full:reporting
1 # Reporting chapter
3 Reporting is a central mechanism for sending out-of-band error reports
9 * The original API implemented in Chrome (Reporting V0) can be found at
10 [https://www.w3.org/TR/2018/WD-reporting-1-20180925/].
11 * The newer API is split into two parts. Document and worker-level reporting
12 (Reporting V1) is specified in the [draft reporting spec]
13 (https://w3c.github.io/reporting/), while Network-level reporting is
14 specified in the [draft network reporting spec]
15 (https://w3c.github.io/reporting/network-reporting.html).
19 ## Reporting in Chromium
21 Reporting is implemented as part of the network stack in Chromium, such
23 by non-browser embedders as well as by Chromium.
27 * The top-level class is the *`ReportingService`*. This lives in the
28 `URLRequestContext`, and provides the high-level operations used by
32 * A *`ReportingPolicy`* specifies a number of parameters for the Reporting
39 contains the inner workings of Reporting, spread across several classes:
43 per reporting source in the V1 spec).
45 * The *`ReportingHeaderParser`* parses `Report-To:` and
46 `Reporting-Endpoints' headers and updates the cache accordingly.
52 * The *`ReportingUploader`* does the low-level work of delivering
55 CORS preflight requests for cross-origin report uploads.
78 * `Report-To:` headers are processed by an `HttpNetworkTransaction` when they
82 * `Reporting-Endpoints:` headers are initially parsed by
85 response until a reporting source can be associated with it, and is then
89 * A reporting source, used only by V1 reports, is a `base::UnguessableToken`
90 associated with the document (or worker eventually) which configures reporting
91 using a `Reporting-Endpoints:` header. This same token must be passed into
105 * The JavaScript [ReportingObserver](https://w3c.github.io/reporting/#observers)
119 * Cronet can configure "preloaded" `Report-To:` headers (as well as Network
120 Error Logging headers) when initializing a `CronetURLRequestContext`, to allow
124 * This functionality is tested on Android by way of sending Network Error
127 ## Differences between V0 and V1 reporting
129 The original V0 reporting API included support for the `Report-To` header only,
131 required for Network Error Logging, as those reports are not associated with
137 V1 reporting drops the `Report-To` header in favor of `Reporting-Endpoints`,
141 Chrome ignores any `Reporting-Endpoints` headers on those responses.) The V1 API
149 ## Supporting both V0 and V1 reporting in the same codebase
151 Chrome cannot yet drop support for NEL, and therefore for the `Report-To`
154 configured with `Report-To`.
159 maps are kept of (origin -> endpoint groups) and (source token -> endpoints).
162 reports except for NEL, which requires origin-scoped V0 configuration) must be
163 queued with that source's reporting source token.