We should implement Network Error Logging (https://wicg.github.io/network-error-logging/), in hopes that it can eventually replace Domain Reliability.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f9b74060edac5c9ca6b9345505eb25297e9d79f4 commit f9b74060edac5c9ca6b9345505eb25297e9d79f4 Author: Julia Tuttle <juliatuttle@chromium.org> Date: Thu Jul 27 14:44:05 2017 NEL: Create Delegate interface in //net/url_request, plumb headers out. Bug: 748549 Change-Id: Ib622dda648649bbcd9d0a2f16307dc700223c068 Reviewed-on: https://chromium-review.googlesource.com/580268 Commit-Queue: Julia Tuttle <juliatuttle@chromium.org> Reviewed-by: Miriam Gershenson <mgersh@chromium.org> Cr-Commit-Position: refs/heads/master@{#489921} [modify] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/BUILD.gn [add] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/network_error_logging_delegate.cc [add] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/network_error_logging_delegate.h [modify] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/url_request_context.cc [modify] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/url_request_context.h [modify] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/url_request_context_storage.cc [modify] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/url_request_context_storage.h [modify] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/url_request_http_job.cc [modify] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/url_request_http_job.h [modify] https://crrev.com/f9b74060edac5c9ca6b9345505eb25297e9d79f4/net/url_request/url_request_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9791cf626fb152def0887b5057edc10881b577d5 commit 9791cf626fb152def0887b5057edc10881b577d5 Author: Julia Tuttle <juliatuttle@chromium.org> Date: Tue Sep 05 19:21:49 2017 NEL: Create skeleton of //components/network_error_logging. Bug: 748549 Change-Id: I9dbb81c767bcaad26949843dd1b91110f29df6bd Reviewed-on: https://chromium-review.googlesource.com/585148 Commit-Queue: Julia Tuttle <juliatuttle@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Miriam Gershenson <mgersh@chromium.org> Cr-Commit-Position: refs/heads/master@{#499700} [modify] https://crrev.com/9791cf626fb152def0887b5057edc10881b577d5/components/BUILD.gn [add] https://crrev.com/9791cf626fb152def0887b5057edc10881b577d5/components/network_error_logging/BUILD.gn [add] https://crrev.com/9791cf626fb152def0887b5057edc10881b577d5/components/network_error_logging/DEPS [add] https://crrev.com/9791cf626fb152def0887b5057edc10881b577d5/components/network_error_logging/OWNERS [add] https://crrev.com/9791cf626fb152def0887b5057edc10881b577d5/components/network_error_logging/network_error_logging_export.h [add] https://crrev.com/9791cf626fb152def0887b5057edc10881b577d5/components/network_error_logging/network_error_logging_service.cc [add] https://crrev.com/9791cf626fb152def0887b5057edc10881b577d5/components/network_error_logging/network_error_logging_service.h [add] https://crrev.com/9791cf626fb152def0887b5057edc10881b577d5/components/network_error_logging/network_error_logging_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b0d454706e1003638749bebb2b397f99b113fd80 commit b0d454706e1003638749bebb2b397f99b113fd80 Author: Julia Tuttle <juliatuttle@chromium.org> Date: Mon Sep 25 20:14:43 2017 NEL: Actually ingest headers and generate reports. Bug: 748549 Change-Id: I017ecf9a45e3b3ae092ae678aa85099435da49ea Reviewed-on: https://chromium-review.googlesource.com/596794 Commit-Queue: Julia Tuttle <juliatuttle@chromium.org> Reviewed-by: Miriam Gershenson <mgersh@chromium.org> Cr-Commit-Position: refs/heads/master@{#504147} [modify] https://crrev.com/b0d454706e1003638749bebb2b397f99b113fd80/components/network_error_logging/BUILD.gn [modify] https://crrev.com/b0d454706e1003638749bebb2b397f99b113fd80/components/network_error_logging/network_error_logging_service.cc [modify] https://crrev.com/b0d454706e1003638749bebb2b397f99b113fd80/components/network_error_logging/network_error_logging_service.h [modify] https://crrev.com/b0d454706e1003638749bebb2b397f99b113fd80/components/network_error_logging/network_error_logging_service_unittest.cc [modify] https://crrev.com/b0d454706e1003638749bebb2b397f99b113fd80/net/url_request/network_error_logging_delegate.cc [modify] https://crrev.com/b0d454706e1003638749bebb2b397f99b113fd80/net/url_request/network_error_logging_delegate.h [modify] https://crrev.com/b0d454706e1003638749bebb2b397f99b113fd80/net/url_request/url_request_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fadc26de4635da9d31ef25cb01b63187650a2895 commit fadc26de4635da9d31ef25cb01b63187650a2895 Author: Julia Tuttle <juliatuttle@chromium.org> Date: Fri Oct 13 18:12:29 2017 NEL: Actually report errors to delegate. Bug: 748549 Change-Id: If9d3ce3caa64063948a93445aae21739a84237e5 Reviewed-on: https://chromium-review.googlesource.com/653922 Commit-Queue: Julia Tuttle <juliatuttle@chromium.org> Reviewed-by: Miriam Gershenson <mgersh@chromium.org> Cr-Commit-Position: refs/heads/master@{#508757} [modify] https://crrev.com/fadc26de4635da9d31ef25cb01b63187650a2895/net/url_request/url_request.cc [modify] https://crrev.com/fadc26de4635da9d31ef25cb01b63187650a2895/net/url_request/url_request.h [modify] https://crrev.com/fadc26de4635da9d31ef25cb01b63187650a2895/net/url_request/url_request_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f53eab63f1ca92461b1c9e286cdeceb7977ecad commit 6f53eab63f1ca92461b1c9e286cdeceb7977ecad Author: Douglas Creager <dcreager@google.com> Date: Tue Jan 30 16:37:03 2018 Network Error Logging: Add success and failure sampling rates There are separate sampling rates for reports about successful and failed requests. Even though we're not currently reporting anything for successful requests, this plumbs through both sampling rates from the NEL header into the OriginPolicy instance. (A future change will add reports for successful requests; doing the patches in this order ensures that we never upload reports for 100% of successful requests unless specifically instructed to do so by the origin.) Bug: 748549 Change-Id: I66d9d0c0544372e642d3a146deb0a06f7973452d Reviewed-on: https://chromium-review.googlesource.com/891741 Commit-Queue: Julia Tuttle <juliatuttle@chromium.org> Reviewed-by: Julia Tuttle <juliatuttle@chromium.org> Cr-Commit-Position: refs/heads/master@{#532911} [modify] https://crrev.com/6f53eab63f1ca92461b1c9e286cdeceb7977ecad/net/network_error_logging/network_error_logging_service.cc [modify] https://crrev.com/6f53eab63f1ca92461b1c9e286cdeceb7977ecad/net/network_error_logging/network_error_logging_service.h [modify] https://crrev.com/6f53eab63f1ca92461b1c9e286cdeceb7977ecad/net/network_error_logging/network_error_logging_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1f56bbedf4db521ea98bde7dd824a1b7e623ee66 commit 1f56bbedf4db521ea98bde7dd824a1b7e623ee66 Author: Douglas Creager <dcreager@google.com> Date: Sat Feb 17 03:58:40 2018 Network Error Logging: Reports for successful requests and HTTP errors We now generate NEL reports for successful requests, rate limited by the `success-fraction` field of the NEL configuration header. We have to handle HTTP errors (i.e., those with 4xx and 5xx status codes) specially, since they show up as "successful" according to the network stack, but NEL considers that to be a special `http.error` failed request. Bug: 748549 Change-Id: I1a0a01fd52a4782855ba410be1301b0ccb81ee30 Reviewed-on: https://chromium-review.googlesource.com/893679 Commit-Queue: Douglas Creager <dcreager@google.com> Reviewed-by: Julia Tuttle <juliatuttle@chromium.org> Reviewed-by: Martin Šrámek <msramek@chromium.org> Cr-Commit-Position: refs/heads/master@{#537526} [modify] https://crrev.com/1f56bbedf4db521ea98bde7dd824a1b7e623ee66/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc [modify] https://crrev.com/1f56bbedf4db521ea98bde7dd824a1b7e623ee66/net/network_error_logging/network_error_logging_service.cc [modify] https://crrev.com/1f56bbedf4db521ea98bde7dd824a1b7e623ee66/net/network_error_logging/network_error_logging_service.h [modify] https://crrev.com/1f56bbedf4db521ea98bde7dd824a1b7e623ee66/net/network_error_logging/network_error_logging_service_unittest.cc [modify] https://crrev.com/1f56bbedf4db521ea98bde7dd824a1b7e623ee66/net/url_request/network_error_logging_delegate.cc [modify] https://crrev.com/1f56bbedf4db521ea98bde7dd824a1b7e623ee66/net/url_request/network_error_logging_delegate.h [modify] https://crrev.com/1f56bbedf4db521ea98bde7dd824a1b7e623ee66/net/url_request/url_request.cc [modify] https://crrev.com/1f56bbedf4db521ea98bde7dd824a1b7e623ee66/net/url_request/url_request_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4467e5809ee40582965e5378d9094b4f70b7dd60 commit 4467e5809ee40582965e5378d9094b4f70b7dd60 Author: Douglas Creager <dcreager@google.com> Date: Tue Apr 17 22:36:08 2018 Network Error Logging: Fill in protocol field If ALPN protocol negotiation gives us an answer, use that directly; otherwise, we assume HTTP/1.1 if any response headers were received. Bug: 748549, 833996 Change-Id: I33d6217ede6202358acf1a343296f5019a9b6052 Reviewed-on: https://chromium-review.googlesource.com/998021 Commit-Queue: Douglas Creager <dcreager@google.com> Reviewed-by: Julia Tuttle <juliatuttle@chromium.org> Cr-Commit-Position: refs/heads/master@{#551505} [modify] https://crrev.com/4467e5809ee40582965e5378d9094b4f70b7dd60/net/network_error_logging/network_error_logging_service.cc [modify] https://crrev.com/4467e5809ee40582965e5378d9094b4f70b7dd60/net/network_error_logging/network_error_logging_service.h [modify] https://crrev.com/4467e5809ee40582965e5378d9094b4f70b7dd60/net/network_error_logging/network_error_logging_service_unittest.cc [modify] https://crrev.com/4467e5809ee40582965e5378d9094b4f70b7dd60/net/url_request/url_request.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/89ae5599653735228e61d3b4d5ec3b22537893ef commit 89ae5599653735228e61d3b4d5ec3b22537893ef Author: Douglas Creager <dcreager@google.com> Date: Wed Apr 25 16:12:52 2018 Network Error Logging: Fill in protocol field If ALPN protocol negotiation gives us an answer, use that directly; otherwise, we assume HTTP/1.1 if any response headers were received. Bug: 748549, 833996 Change-Id: I33d6217ede6202358acf1a343296f5019a9b6052 Reviewed-on: https://chromium-review.googlesource.com/998021 Commit-Queue: Douglas Creager <dcreager@google.com> Reviewed-by: Julia Tuttle <juliatuttle@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#551505}(cherry picked from commit 4467e5809ee40582965e5378d9094b4f70b7dd60) Reviewed-on: https://chromium-review.googlesource.com/1028091 Cr-Commit-Position: refs/branch-heads/3396@{#293} Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428} [modify] https://crrev.com/89ae5599653735228e61d3b4d5ec3b22537893ef/net/network_error_logging/network_error_logging_service.cc [modify] https://crrev.com/89ae5599653735228e61d3b4d5ec3b22537893ef/net/network_error_logging/network_error_logging_service.h [modify] https://crrev.com/89ae5599653735228e61d3b4d5ec3b22537893ef/net/network_error_logging/network_error_logging_service_unittest.cc [modify] https://crrev.com/89ae5599653735228e61d3b4d5ec3b22537893ef/net/url_request/url_request.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a7c9db23267704abb0777a011873d6d7176481a6 commit a7c9db23267704abb0777a011873d6d7176481a6 Author: Douglas Creager <dcreager@chromium.org> Date: Mon Jun 18 17:12:23 2018 Network Error Logging: Update payload fields to use underscores This updates the NEL implementation to match the fields renames from https://github.com/WICG/network-error-logging/pull/75. Bug: 748549 Cq-Include-Trybots: luci.chromium.try:closure_compilation Change-Id: I0545ce6f9bddb46c556e2ba15d16398ee9c3b1fa Reviewed-on: https://chromium-review.googlesource.com/1104384 Reviewed-by: Matt Menke <mmenke@chromium.org> Commit-Queue: Douglas Creager <dcreager@chromium.org> Cr-Commit-Position: refs/heads/master@{#568048} [modify] https://crrev.com/a7c9db23267704abb0777a011873d6d7176481a6/chrome/browser/resources/net_internals/reporting_view.js [modify] https://crrev.com/a7c9db23267704abb0777a011873d6d7176481a6/net/network_error_logging/network_error_logging_end_to_end_test.cc [modify] https://crrev.com/a7c9db23267704abb0777a011873d6d7176481a6/net/network_error_logging/network_error_logging_service.cc [modify] https://crrev.com/a7c9db23267704abb0777a011873d6d7176481a6/net/network_error_logging/network_error_logging_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d70b1b2db53131e2467ab59ccc71992fc76c75a0 commit d70b1b2db53131e2467ab59ccc71992fc76c75a0 Author: Douglas Creager <dcreager@chromium.org> Date: Tue Jul 17 14:31:52 2018 Network Error Logging: Add request method to reports Per https://github.com/WICG/network-error-logging/issues/73, we need to add the request method to NEL reports. Bug: 748549 Change-Id: I306ce389612a8ac794be732a47744b18db8cb4e2 Reviewed-on: https://chromium-review.googlesource.com/1118525 Reviewed-by: Misha Efimov <mef@chromium.org> Commit-Queue: Douglas Creager <dcreager@chromium.org> Cr-Commit-Position: refs/heads/master@{#575635} [modify] https://crrev.com/d70b1b2db53131e2467ab59ccc71992fc76c75a0/chrome/browser/net/reporting_browsertest.cc [modify] https://crrev.com/d70b1b2db53131e2467ab59ccc71992fc76c75a0/net/network_error_logging/network_error_logging_service.cc [modify] https://crrev.com/d70b1b2db53131e2467ab59ccc71992fc76c75a0/net/network_error_logging/network_error_logging_service.h [modify] https://crrev.com/d70b1b2db53131e2467ab59ccc71992fc76c75a0/net/network_error_logging/network_error_logging_service_unittest.cc [modify] https://crrev.com/d70b1b2db53131e2467ab59ccc71992fc76c75a0/net/url_request/url_request.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6edfcc42d76e7638e91ed2919dbe3d588fff1d56 commit 6edfcc42d76e7638e91ed2919dbe3d588fff1d56 Author: Douglas Creager <dcreager@chromium.org> Date: Thu Jul 19 01:47:58 2018 Network Error Logging: Remove redundant `uri` field Per https://github.com/w3c/network-error-logging/pull/90, a NEL report's `url` field now contains the (sanitized) URL of the request that the report describes. (Before that spec update, it was supposed to contain the URL of the page that made the request, which isn't relevant for NEL.) Now that the report contains the "right" URL, the NEL body's `uri` field is redundant, and can be removed. Bug: 748549 Change-Id: Ibd2b0213b829e94329ecc7263baecd549d41e40c Reviewed-on: https://chromium-review.googlesource.com/1141271 Reviewed-by: Misha Efimov <mef@chromium.org> Commit-Queue: Douglas Creager <dcreager@chromium.org> Cr-Commit-Position: refs/heads/master@{#576312} [modify] https://crrev.com/6edfcc42d76e7638e91ed2919dbe3d588fff1d56/chrome/browser/net/reporting_browsertest.cc [modify] https://crrev.com/6edfcc42d76e7638e91ed2919dbe3d588fff1d56/net/network_error_logging/network_error_logging_end_to_end_test.cc [modify] https://crrev.com/6edfcc42d76e7638e91ed2919dbe3d588fff1d56/net/network_error_logging/network_error_logging_service.cc [modify] https://crrev.com/6edfcc42d76e7638e91ed2919dbe3d588fff1d56/net/network_error_logging/network_error_logging_service.h [modify] https://crrev.com/6edfcc42d76e7638e91ed2919dbe3d588fff1d56/net/network_error_logging/network_error_logging_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/75b6486872b68e505e8ec1363e9bb4d04e722796 commit 75b6486872b68e505e8ec1363e9bb4d04e722796 Author: Douglas Creager <dcreager@chromium.org> Date: Fri Aug 17 16:14:37 2018 Network Error Logging: Add web platform tests This adds web-platform-tests for Network Error Logging. They should be suitable to upstream into the cross-platform WPT repo. Bug: 748549 Change-Id: I24098aeec8488c34a5f9239309264e9534dca6e4 Reviewed-on: https://chromium-review.googlesource.com/1106518 Reviewed-by: Peter Beverloo <peter@chromium.org> Reviewed-by: Philip Jägenstedt <foolip@chromium.org> Commit-Queue: Douglas Creager <dcreager@chromium.org> Cr-Commit-Position: refs/heads/master@{#584093} [modify] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/content/shell/browser/shell_url_request_context_getter.cc [modify] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/VirtualTestSuites [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/META.yml [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/README.md [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/no-report-on-failed-cors-preflight.https.html [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/no-report-on-subdomain-404.https.html [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/no-report-on-subdomain-success.https.html [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/reports-are-not-observable.https.html [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/sends-report-on-404.https.html [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/sends-report-on-subdomain-dns-failure.https.html [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/sends-report-on-success-with-subdomain-policy.https.html [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/sends-report-on-success.https.html [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/clear-policy-pass.png [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/clear-policy-pass.png.sub.headers [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/lock.py [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/nel.sub.js [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/no-policy-pass.png [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/pass.png [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/pass.png.sub.headers [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/report.py [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/subdomains-pass.png [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/external/wpt/network-error-logging/support/subdomains-pass.png.sub.headers [add] https://crrev.com/75b6486872b68e505e8ec1363e9bb4d04e722796/third_party/WebKit/LayoutTests/virtual/network-error-logging/external/wpt/network-error-logging/README.txt
Comment 1 by bugdroid1@chromium.org
, Jul 27 2017