This is a metabug for the implementation of the Reporting API, as specified at wicg.github.io/reporting/.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5868433300e998d6aee22dd603d95c5e42830776 commit 5868433300e998d6aee22dd603d95c5e42830776 Author: juliatuttle <juliatuttle@chromium.org> Date: Mon Mar 27 16:22:37 2017 Reporting: Implement cache. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This implements the cache, which holds report delivery configuration and queued reports. BUG=704259 Review-Url: https://codereview.chromium.org/2708503002 Cr-Commit-Position: refs/heads/master@{#459797} [modify] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/BUILD.gn [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_cache.cc [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_cache.h [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_cache_unittest.cc [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_client.cc [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_client.h [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_report.cc [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_report.h [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_test_util.cc [add] https://crrev.com/5868433300e998d6aee22dd603d95c5e42830776/net/reporting/reporting_test_util.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72a9ba62f86ddc14b76972333a3d5feee5f9b6d0 commit 72a9ba62f86ddc14b76972333a3d5feee5f9b6d0 Author: juliatuttle <juliatuttle@chromium.org> Date: Tue Mar 28 17:28:52 2017 Reporting: Clarify "pending" reports, add README.md. Add a few bits of documentation requested in a previous CL. BUG=704259 Review-Url: https://codereview.chromium.org/2774403003 Cr-Commit-Position: refs/heads/master@{#460155} [add] https://crrev.com/72a9ba62f86ddc14b76972333a3d5feee5f9b6d0/net/reporting/README.md [modify] https://crrev.com/72a9ba62f86ddc14b76972333a3d5feee5f9b6d0/net/reporting/reporting_cache.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1690bc6eba0b829b5250c2e26347a951ed653515 commit 1690bc6eba0b829b5250c2e26347a951ed653515 Author: juliatuttle <juliatuttle@chromium.org> Date: Wed Mar 29 17:20:46 2017 Reporting: Implement header parser. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This implements the header parser, which parses Report-To headers and applies the correct updates to the Reporting cache. BUG=704259 Review-Url: https://codereview.chromium.org/2689953004 Cr-Commit-Position: refs/heads/master@{#460434} [modify] https://crrev.com/1690bc6eba0b829b5250c2e26347a951ed653515/net/BUILD.gn [add] https://crrev.com/1690bc6eba0b829b5250c2e26347a951ed653515/net/reporting/reporting_header_parser.cc [add] https://crrev.com/1690bc6eba0b829b5250c2e26347a951ed653515/net/reporting/reporting_header_parser.h [add] https://crrev.com/1690bc6eba0b829b5250c2e26347a951ed653515/net/reporting/reporting_header_parser_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2f46b5780970e186eda8641be9138ec551e3f1db commit 2f46b5780970e186eda8641be9138ec551e3f1db Author: juliatuttle <juliatuttle@chromium.org> Date: Thu Mar 30 19:12:37 2017 Reporting: Implement uploader. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/. The uploader handles the network side of report delivery: it takes the assembled JSON and an endpoint URL, and handles sending the URL request and categorizing the response according to the Reporting spec. BUG=704259 Review-Url: https://codereview.chromium.org/2723563002 Cr-Commit-Position: refs/heads/master@{#460846} [modify] https://crrev.com/2f46b5780970e186eda8641be9138ec551e3f1db/net/BUILD.gn [add] https://crrev.com/2f46b5780970e186eda8641be9138ec551e3f1db/net/reporting/reporting_uploader.cc [add] https://crrev.com/2f46b5780970e186eda8641be9138ec551e3f1db/net/reporting/reporting_uploader.h [add] https://crrev.com/2f46b5780970e186eda8641be9138ec551e3f1db/net/reporting/reporting_uploader_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/add0a38b6ba104546419dc750650a3b09fa81810 commit add0a38b6ba104546419dc750650a3b09fa81810 Author: juliatuttle <juliatuttle@chromium.org> Date: Mon Apr 03 16:27:15 2017 Reporting: Implement endpoint manager. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. The endpoint manager keeps track of which endpoints have active delivery attempts in progress, and chooses endpoints from those configured in the cache, filtering out busy, failed, or expired ones. BUG=704259 Review-Url: https://codereview.chromium.org/2737483004 Cr-Commit-Position: refs/heads/master@{#461449} [modify] https://crrev.com/add0a38b6ba104546419dc750650a3b09fa81810/net/BUILD.gn [add] https://crrev.com/add0a38b6ba104546419dc750650a3b09fa81810/net/reporting/reporting_endpoint_manager.cc [add] https://crrev.com/add0a38b6ba104546419dc750650a3b09fa81810/net/reporting/reporting_endpoint_manager.h [add] https://crrev.com/add0a38b6ba104546419dc750650a3b09fa81810/net/reporting/reporting_endpoint_manager_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b54a1a8b7fe040cdf0d5cd6799cb0cb0a4bd8ddb commit b54a1a8b7fe040cdf0d5cd6799cb0cb0a4bd8ddb Author: juliatuttle <juliatuttle@chromium.org> Date: Thu Apr 06 19:35:29 2017 Reporting: Implement delivery agent. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. The delivery agent takes the queued reports in the cache, figures out (with the help of the EndpointManager) where to deliver them, and sends the serialized reports using the Uploader. BUG=704259 Review-Url: https://codereview.chromium.org/2739483002 Cr-Commit-Position: refs/heads/master@{#462584} [modify] https://crrev.com/b54a1a8b7fe040cdf0d5cd6799cb0cb0a4bd8ddb/net/BUILD.gn [add] https://crrev.com/b54a1a8b7fe040cdf0d5cd6799cb0cb0a4bd8ddb/net/reporting/reporting_delivery_agent.cc [add] https://crrev.com/b54a1a8b7fe040cdf0d5cd6799cb0cb0a4bd8ddb/net/reporting/reporting_delivery_agent.h [add] https://crrev.com/b54a1a8b7fe040cdf0d5cd6799cb0cb0a4bd8ddb/net/reporting/reporting_delivery_agent_unittest.cc [modify] https://crrev.com/b54a1a8b7fe040cdf0d5cd6799cb0cb0a4bd8ddb/net/reporting/reporting_report.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ee4b55e3526065ac1d0f09a80372e17f26892c8e commit ee4b55e3526065ac1d0f09a80372e17f26892c8e Author: juliatuttle <juliatuttle@chromium.org> Date: Fri Apr 07 17:09:45 2017 Reporting: Wrap existing classes in context. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This CL takes the pile of small classes that I've written so far and wraps them in a single "context" object. It also changes the classes to accept a pointer to the context instead of several pointers to individual dependencies. It *also* creates a ReportingTestBase class that provides a properly configured context for all of the existing unittests to use, and switches the tests over. BUG=704259 Review-Url: https://codereview.chromium.org/2751103002 Cr-Commit-Position: refs/heads/master@{#462901} [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/BUILD.gn [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_cache.cc [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_cache.h [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_cache_unittest.cc [add] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_context.cc [add] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_context.h [add] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_delegate.cc [add] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_delegate.h [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_delivery_agent.h [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_delivery_agent_unittest.cc [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_endpoint_manager.cc [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_endpoint_manager.h [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_endpoint_manager_unittest.cc [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_header_parser.cc [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_header_parser.h [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_header_parser_unittest.cc [add] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_policy.cc [add] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_policy.h [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_test_util.cc [modify] https://crrev.com/ee4b55e3526065ac1d0f09a80372e17f26892c8e/net/reporting/reporting_test_util.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/381d77efd050a4ef04eba2ce52f06741ac0d1107 commit 381d77efd050a4ef04eba2ce52f06741ac0d1107 Author: juliatuttle <juliatuttle@chromium.org> Date: Fri Apr 07 18:54:12 2017 Reporting: Wrap context in service. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This wraps the context in a service that keeps the implementation details of Reporting private while implementing and exposing the high-level operations that other components require from it. BUG=704259 Review-Url: https://codereview.chromium.org/2770443002 Cr-Commit-Position: refs/heads/master@{#462943} [modify] https://crrev.com/381d77efd050a4ef04eba2ce52f06741ac0d1107/net/BUILD.gn [add] https://crrev.com/381d77efd050a4ef04eba2ce52f06741ac0d1107/net/reporting/reporting_service.cc [add] https://crrev.com/381d77efd050a4ef04eba2ce52f06741ac0d1107/net/reporting/reporting_service.h [add] https://crrev.com/381d77efd050a4ef04eba2ce52f06741ac0d1107/net/reporting/reporting_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/48f489e9d57806e4e78039e4712721ba141229d7 commit 48f489e9d57806e4e78039e4712721ba141229d7 Author: juliatuttle <juliatuttle@chromium.org> Date: Fri Apr 07 20:14:57 2017 Reporting: Add Observer interface to observe cache updates. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This adds an Observer interface by which parts of Reporting can observe cache updates. Expected users are the DeliveryAgent and Serializer. BUG=704259 Review-Url: https://codereview.chromium.org/2778373003 Cr-Commit-Position: refs/heads/master@{#462980} [modify] https://crrev.com/48f489e9d57806e4e78039e4712721ba141229d7/net/BUILD.gn [modify] https://crrev.com/48f489e9d57806e4e78039e4712721ba141229d7/net/reporting/reporting_cache.cc [modify] https://crrev.com/48f489e9d57806e4e78039e4712721ba141229d7/net/reporting/reporting_cache_unittest.cc [modify] https://crrev.com/48f489e9d57806e4e78039e4712721ba141229d7/net/reporting/reporting_context.cc [modify] https://crrev.com/48f489e9d57806e4e78039e4712721ba141229d7/net/reporting/reporting_context.h [add] https://crrev.com/48f489e9d57806e4e78039e4712721ba141229d7/net/reporting/reporting_observer.cc [add] https://crrev.com/48f489e9d57806e4e78039e4712721ba141229d7/net/reporting/reporting_observer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1170eb931001e6307d73a250f8c7a7f2db2042a4 commit 1170eb931001e6307d73a250f8c7a7f2db2042a4 Author: juliatuttle <juliatuttle@chromium.org> Date: Fri Apr 07 21:54:58 2017 Reporting: Implement browsing data remover. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. The browsing data remover removes reports and/or endpoints that match an (optional) origin filter, or all reports and/or endpoints. It will be called from Chromium's browsing_data_remover, potentially among other places. BUG=704259 Review-Url: https://codereview.chromium.org/2752523005 Cr-Commit-Position: refs/heads/master@{#463016} [modify] https://crrev.com/1170eb931001e6307d73a250f8c7a7f2db2042a4/net/BUILD.gn [add] https://crrev.com/1170eb931001e6307d73a250f8c7a7f2db2042a4/net/reporting/reporting_browsing_data_remover.cc [add] https://crrev.com/1170eb931001e6307d73a250f8c7a7f2db2042a4/net/reporting/reporting_browsing_data_remover.h [add] https://crrev.com/1170eb931001e6307d73a250f8c7a7f2db2042a4/net/reporting/reporting_browsing_data_remover_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9f970c02c1feef9d61eff3fd52db7253eab1d9d9 commit 9f970c02c1feef9d61eff3fd52db7253eab1d9d9 Author: juliatuttle <juliatuttle@chromium.org> Date: Mon Apr 10 19:26:37 2017 Reporting: Implement garbage collector. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This implements the garbage collector, which cleans out reports that haven't been delivered for too long or through too many attempts (and also clears reports on network changes, if so configured). BUG=704259 Review-Url: https://codereview.chromium.org/2740833004 Cr-Commit-Position: refs/heads/master@{#463359} [modify] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/BUILD.gn [modify] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_context.cc [modify] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_context.h [add] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_garbage_collector.cc [add] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_garbage_collector.h [add] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_garbage_collector_unittest.cc [modify] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_policy.cc [modify] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_policy.h [modify] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_test_util.cc [modify] https://crrev.com/9f970c02c1feef9d61eff3fd52db7253eab1d9d9/net/reporting/reporting_test_util.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e9b931b5db3e382b208607439ebc22ab0a7e5a68 commit e9b931b5db3e382b208607439ebc22ab0a7e5a68 Author: juliatuttle <juliatuttle@chromium.org> Date: Wed Apr 12 18:51:25 2017 Reporting: Properly support endpoints with includeSubdomains. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This modifies the ReportingCache to look for superdomain matches when asked for clients for an origin but no exact origin match is found. BUG=704259 Review-Url: https://codereview.chromium.org/2779983002 Cr-Commit-Position: refs/heads/master@{#464097} [modify] https://crrev.com/e9b931b5db3e382b208607439ebc22ab0a7e5a68/net/reporting/reporting_cache.cc [modify] https://crrev.com/e9b931b5db3e382b208607439ebc22ab0a7e5a68/net/reporting/reporting_cache.h [modify] https://crrev.com/e9b931b5db3e382b208607439ebc22ab0a7e5a68/net/reporting/reporting_cache_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7 commit 2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7 Author: juliatuttle <juliatuttle@chromium.org> Date: Wed Apr 12 21:27:41 2017 Reporting: Plumb into UrlRequest{HttpJob,Context}. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This CL adds a member in URLRequestContext{,Storage} for the ReportingService and calls ProcessHeader from URLRequestHttpJob when a Report-To header is received under the right circumstances. BUG=704259 Review-Url: https://codereview.chromium.org/2769703006 Cr-Commit-Position: refs/heads/master@{#464155} [modify] https://crrev.com/2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7/net/url_request/url_request_context.cc [modify] https://crrev.com/2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7/net/url_request/url_request_context.h [modify] https://crrev.com/2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7/net/url_request/url_request_context_storage.cc [modify] https://crrev.com/2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7/net/url_request/url_request_context_storage.h [modify] https://crrev.com/2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7/net/url_request/url_request_http_job.cc [modify] https://crrev.com/2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7/net/url_request/url_request_http_job.h [modify] https://crrev.com/2b8dd2d1d8c2c17e5715853ad74cf2891b3c87c7/net/url_request/url_request_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7da138164fb7dc30540f1340df0fd93b4d417a34 commit 7da138164fb7dc30540f1340df0fd93b4d417a34 Author: juliatuttle <juliatuttle@chromium.org> Date: Thu Apr 13 19:18:19 2017 Reporting: Implement serializer. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. The serializer can serialize and deserialize the data in the cache (and potentially other places eventually, like the endpoint manager's state). It will be used to persist selected state of the Reporting system across browser/embedder restarts. BUG=704259 Review-Url: https://codereview.chromium.org/2751883003 Cr-Commit-Position: refs/heads/master@{#464496} [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/BUILD.gn [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_context.cc [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_context.h [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_garbage_collector.cc [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_garbage_collector.h [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_observer.h [add] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_persister.cc [add] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_persister.h [add] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_persister_unittest.cc [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_policy.cc [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_policy.h [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_service.cc [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_test_util.cc [modify] https://crrev.com/7da138164fb7dc30540f1340df0fd93b4d417a34/net/reporting/reporting_test_util.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b commit 830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b Author: juliatuttle <juliatuttle@chromium.org> Date: Wed Apr 19 17:50:04 2017 Reporting: Make DeliveryAgent self-scheduling. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This makes the existing DeliveryAgent class self-scheduling using the ReportingObserver interface: when reports are added to the cache, or periodically while reports are still queued, it automatically runs the "send reports" algorithm described in the spec. BUG=704259 Review-Url: https://codereview.chromium.org/2785293003 Cr-Commit-Position: refs/heads/master@{#465663} [modify] https://crrev.com/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b/net/reporting/reporting_context.cc [modify] https://crrev.com/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b/net/reporting/reporting_delivery_agent.h [modify] https://crrev.com/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b/net/reporting/reporting_delivery_agent_unittest.cc [modify] https://crrev.com/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b/net/reporting/reporting_policy.cc [modify] https://crrev.com/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b/net/reporting/reporting_policy.h [modify] https://crrev.com/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b/net/reporting/reporting_test_util.cc [modify] https://crrev.com/830962ad03b788b02aa7ac6d8dd02f0a38ba6d4b/net/reporting/reporting_test_util.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/164e4cdfd53297fe3801ae893bbaa48651e1b339 commit 164e4cdfd53297fe3801ae893bbaa48651e1b339 Author: juliatuttle <juliatuttle@chromium.org> Date: Thu Apr 20 20:30:29 2017 Reporting: Observe network changes and clear reports/clients Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This CL adds a ReportingNetworkChangeObserver that can clear reports and/or clients (as configured in ReportingPolicy) on network changes. BUG=704259 Review-Url: https://codereview.chromium.org/2813103005 Cr-Commit-Position: refs/heads/master@{#466113} [modify] https://crrev.com/164e4cdfd53297fe3801ae893bbaa48651e1b339/net/BUILD.gn [modify] https://crrev.com/164e4cdfd53297fe3801ae893bbaa48651e1b339/net/reporting/reporting_context.cc [modify] https://crrev.com/164e4cdfd53297fe3801ae893bbaa48651e1b339/net/reporting/reporting_context.h [add] https://crrev.com/164e4cdfd53297fe3801ae893bbaa48651e1b339/net/reporting/reporting_network_change_observer.cc [add] https://crrev.com/164e4cdfd53297fe3801ae893bbaa48651e1b339/net/reporting/reporting_network_change_observer.h [add] https://crrev.com/164e4cdfd53297fe3801ae893bbaa48651e1b339/net/reporting/reporting_network_change_observer_unittest.cc [modify] https://crrev.com/164e4cdfd53297fe3801ae893bbaa48651e1b339/net/reporting/reporting_policy.cc [modify] https://crrev.com/164e4cdfd53297fe3801ae893bbaa48651e1b339/net/reporting/reporting_policy.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/42c573195110d731d47865d8d780db53b95a487b commit 42c573195110d731d47865d8d780db53b95a487b Author: juliatuttle <juliatuttle@chromium.org> Date: Fri Apr 28 03:01:30 2017 Reporting: Remove persistence for now. I'm going to build a general persistence mechanism for //net instead of tediously plumbing out to the profile's prefs (which gets really messy with isolated app contexts and such), so I'm removing the old persistence stuff until that's done. BUG=704259 Review-Url: https://codereview.chromium.org/2835923005 Cr-Commit-Position: refs/heads/master@{#467862} [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/BUILD.gn [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_context.cc [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_context.h [delete] https://crrev.com/c045c21a0b84cbeabd7428c9722fd37258c81bc0/net/reporting/reporting_delegate.cc [delete] https://crrev.com/c045c21a0b84cbeabd7428c9722fd37258c81bc0/net/reporting/reporting_delegate.h [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_delivery_agent.h [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_garbage_collector.cc [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_garbage_collector.h [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_persister.cc [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_persister.h [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_persister_unittest.cc [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_service.cc [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_service.h [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_service_unittest.cc [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_test_util.cc [modify] https://crrev.com/42c573195110d731d47865d8d780db53b95a487b/net/reporting/reporting_test_util.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1d92f015d0b85e071f0040c53ccd8f145b55e4c1 commit 1d92f015d0b85e071f0040c53ccd8f145b55e4c1 Author: juliatuttle <juliatuttle@chromium.org> Date: Fri Apr 28 17:19:21 2017 Reporting: Set up in ProfileImplIOData. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This CL creates a barebones ChromeReportingDelegate, initializes the ReportingService in ProfileImplIOData::InitializeInternal, and sets the service on the URLRequestContext. BUG=704259 Review-Url: https://codereview.chromium.org/2769083005 Cr-Commit-Position: refs/heads/master@{#468038} [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/chrome/browser/profiles/profile_browsertest.cc [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/chrome/browser/profiles/profile_impl_io_data.cc [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/chrome/browser/profiles/profile_impl_io_data.h [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/chrome/browser/profiles/profile_io_data.cc [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/chrome/browser/profiles/profile_io_data.h [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/net/BUILD.gn [add] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/net/reporting/reporting_feature.cc [add] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/net/reporting/reporting_feature.h [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/net/reporting/reporting_garbage_collector.cc [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/net/reporting/reporting_persister.h [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/net/reporting/reporting_persister_unittest.cc [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/net/reporting/reporting_service.cc [modify] https://crrev.com/1d92f015d0b85e071f0040c53ccd8f145b55e4c1/net/url_request/url_request_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aeb1abc9b5177c2817b21fe3a366fc0f23450607 commit aeb1abc9b5177c2817b21fe3a366fc0f23450607 Author: juliatuttle <juliatuttle@chromium.org> Date: Thu May 04 21:14:38 2017 Reporting: Plumb from //chrome/browser/browsing_data. Reporting is a spec for delivering out-of-band reports from various other parts of the browser. See http://wicg.github.io/reporting/ for the spec, or https://goo.gl/pygX5I for details of the planned implementation in Chromium. This CL plumbs from Chromium's browsing data removal code to Reporting (and also makes a few tweaks to Reporting's browsing data removal). BUG=704259 Review-Url: https://codereview.chromium.org/2829683004 Cr-Commit-Position: refs/heads/master@{#469474} [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/reporting/reporting_browsing_data_remover.cc [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/reporting/reporting_browsing_data_remover.h [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/reporting/reporting_browsing_data_remover_unittest.cc [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/reporting/reporting_context.cc [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/reporting/reporting_context.h [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/reporting/reporting_service.cc [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/reporting/reporting_service.h [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/reporting/reporting_test_util.h [modify] https://crrev.com/aeb1abc9b5177c2817b21fe3a366fc0f23450607/net/url_request/url_request_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cf0772c92c9909b3ad0f107541a533c567bfda75 commit cf0772c92c9909b3ad0f107541a533c567bfda75 Author: juliatuttle <juliatuttle@chromium.org> Date: Tue May 09 15:05:42 2017 Reporting: Document browsing data remover + endpoint backoff The ReportingBrowsingDataRemover currently doesn't remove entries from the endpoint backoff map in the ReportingEndpointManager, because it's never persisted to disk. This CL adds comments in a couple places to note this, so someone implementing persistence for that knows to implement browsing data removal as well. BUG=704259,676324 Review-Url: https://codereview.chromium.org/2862003003 Cr-Commit-Position: refs/heads/master@{#470336} [modify] https://crrev.com/cf0772c92c9909b3ad0f107541a533c567bfda75/net/reporting/reporting_browsing_data_remover.h [modify] https://crrev.com/cf0772c92c9909b3ad0f107541a533c567bfda75/net/reporting/reporting_endpoint_manager.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4e18c94a1f6cc8f76720e1bf7b8f7b9cec1ad4ac commit 4e18c94a1f6cc8f76720e1bf7b8f7b9cec1ad4ac Author: juliatuttle <juliatuttle@chromium.org> Date: Tue May 09 16:45:53 2017 Reporting: Cap number of reports in cache. BUG=704259 Review-Url: https://codereview.chromium.org/2847813002 Cr-Commit-Position: refs/heads/master@{#470353} [modify] https://crrev.com/4e18c94a1f6cc8f76720e1bf7b8f7b9cec1ad4ac/net/reporting/reporting_cache.cc [modify] https://crrev.com/4e18c94a1f6cc8f76720e1bf7b8f7b9cec1ad4ac/net/reporting/reporting_cache.h [modify] https://crrev.com/4e18c94a1f6cc8f76720e1bf7b8f7b9cec1ad4ac/net/reporting/reporting_cache_unittest.cc [modify] https://crrev.com/4e18c94a1f6cc8f76720e1bf7b8f7b9cec1ad4ac/net/reporting/reporting_policy.cc [modify] https://crrev.com/4e18c94a1f6cc8f76720e1bf7b8f7b9cec1ad4ac/net/reporting/reporting_policy.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/86cb6592130b35de26282d8855c135d550410f61 commit 86cb6592130b35de26282d8855c135d550410f61 Author: juliatuttle <juliatuttle@chromium.org> Date: Thu May 11 21:12:50 2017 Reporting: Cap number of clients in cache. BUG=704259 Review-Url: https://codereview.chromium.org/2851603002 Cr-Commit-Position: refs/heads/master@{#471071} [modify] https://crrev.com/86cb6592130b35de26282d8855c135d550410f61/net/reporting/reporting_cache.cc [modify] https://crrev.com/86cb6592130b35de26282d8855c135d550410f61/net/reporting/reporting_cache.h [modify] https://crrev.com/86cb6592130b35de26282d8855c135d550410f61/net/reporting/reporting_cache_unittest.cc [modify] https://crrev.com/86cb6592130b35de26282d8855c135d550410f61/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/86cb6592130b35de26282d8855c135d550410f61/net/reporting/reporting_policy.cc [modify] https://crrev.com/86cb6592130b35de26282d8855c135d550410f61/net/reporting/reporting_policy.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a35bbc87b95f73f8a5a704bc178763c389f29d1a commit a35bbc87b95f73f8a5a704bc178763c389f29d1a Author: juliatuttle <juliatuttle@chromium.org> Date: Mon May 22 19:25:19 2017 Reporting: Add missing #include <utility> What do you know, std::move doesn't come out of nowhere! BUG=704259 Review-Url: https://codereview.chromium.org/2895253002 Cr-Commit-Position: refs/heads/master@{#473655} [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_cache.cc [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_context.cc [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_garbage_collector.cc [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_persister.cc [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_report.cc [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_service.cc [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_uploader.cc [modify] https://crrev.com/a35bbc87b95f73f8a5a704bc178763c389f29d1a/net/reporting/reporting_uploader_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/587548914b332653d2ae18e4d10e73ffde0f9406 commit 587548914b332653d2ae18e4d10e73ffde0f9406 Author: juliatuttle <juliatuttle@chromium.org> Date: Tue May 23 14:17:21 2017 Reporting: Add ReportingDelegate to check site permissions This adds a Delegate to Reporting that can eventually be plumbed to check whether sites are allowed to store data (reports and clients). BUG=704259,676324 Review-Url: https://codereview.chromium.org/2889193002 Cr-Commit-Position: refs/heads/master@{#473885} [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/BUILD.gn [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_context.cc [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_context.h [add] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_delegate.cc [add] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_delegate.h [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_endpoint_manager.cc [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_endpoint_manager.h [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_header_parser.cc [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_header_parser.h [modify] https://crrev.com/587548914b332653d2ae18e4d10e73ffde0f9406/net/reporting/reporting_service.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fcf472038605e8554a6c7e75f0f159ebdaa73299 commit fcf472038605e8554a6c7e75f0f159ebdaa73299 Author: juliatuttle <juliatuttle@chromium.org> Date: Tue May 23 15:53:02 2017 Reporting: Wire ReportingDelegate into ChromeNetworkDelegate Add, implement, and call some methods in NetworkDelegate to check whether sites are allowed to store reports and clients. BUG=704259,676324 Review-Url: https://codereview.chromium.org/2891133003 Cr-Commit-Position: refs/heads/master@{#473917} [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/chrome/browser/net/chrome_network_delegate.cc [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/chrome/browser/net/chrome_network_delegate.h [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/base/layered_network_delegate.cc [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/base/layered_network_delegate.h [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/base/layered_network_delegate_unittest.cc [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/base/network_delegate.cc [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/base/network_delegate.h [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/base/network_delegate_impl.cc [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/base/network_delegate_impl.h [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/reporting/reporting_context.cc [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/reporting/reporting_context.h [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/reporting/reporting_delegate.cc [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/reporting/reporting_delegate.h [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/reporting/reporting_test_util.cc [modify] https://crrev.com/fcf472038605e8554a6c7e75f0f159ebdaa73299/net/reporting/reporting_test_util.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8ef9cbb441f237546060032abdbc7a04ba73cfc1 commit 8ef9cbb441f237546060032abdbc7a04ba73cfc1 Author: juliatuttle <juliatuttle@chromium.org> Date: Wed May 24 21:47:55 2017 Reporting: Add Feature to fieldtrial_testing_config.json BUG=676024,704259 Review-Url: https://codereview.chromium.org/2904583002 Cr-Commit-Position: refs/heads/master@{#474434} [modify] https://crrev.com/8ef9cbb441f237546060032abdbc7a04ba73cfc1/testing/variations/fieldtrial_testing_config.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/95fe3cc592eeb332824adc8c8f4b9951f2f170d7 commit 95fe3cc592eeb332824adc8c8f4b9951f2f170d7 Author: juliatuttle <juliatuttle@chromium.org> Date: Fri Jun 30 23:05:31 2017 Reporting: Plumb into RenderFrame via Mojo BUG=704259 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2881593002 Cr-Commit-Position: refs/heads/master@{#483855} [modify] https://crrev.com/95fe3cc592eeb332824adc8c8f4b9951f2f170d7/content/browser/BUILD.gn [modify] https://crrev.com/95fe3cc592eeb332824adc8c8f4b9951f2f170d7/content/browser/DEPS [add] https://crrev.com/95fe3cc592eeb332824adc8c8f4b9951f2f170d7/content/browser/net/reporting_service_proxy.cc [add] https://crrev.com/95fe3cc592eeb332824adc8c8f4b9951f2f170d7/content/browser/net/reporting_service_proxy.h [modify] https://crrev.com/95fe3cc592eeb332824adc8c8f4b9951f2f170d7/content/browser/renderer_host/render_process_host_impl.cc [modify] https://crrev.com/95fe3cc592eeb332824adc8c8f4b9951f2f170d7/third_party/WebKit/public/BUILD.gn [add] https://crrev.com/95fe3cc592eeb332824adc8c8f4b9951f2f170d7/third_party/WebKit/public/platform/reporting.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/667c0bb37390dc1f4e336151719e30537c1d746d commit 667c0bb37390dc1f4e336151719e30537c1d746d Author: juliatuttle <juliatuttle@chromium.org> Date: Thu Jul 06 15:17:13 2017 Reporting: Add histograms. BUG=704259, 676024 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2900553004 Cr-Commit-Position: refs/heads/master@{#484599} [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/content/browser/net/reporting_service_proxy.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_browsing_data_remover.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_cache.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_cache.h [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_cache_unittest.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_delivery_agent_unittest.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_garbage_collector.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_header_parser.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_header_parser.h [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_network_change_observer.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_report.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/reporting/reporting_report.h [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/net/url_request/url_request_http_job.cc [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/tools/metrics/histograms/enums.xml [modify] https://crrev.com/667c0bb37390dc1f4e336151719e30537c1d746d/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9 commit 7b07ea496fa602108d266ae0fe58b2b42aa7f6e9 Author: Douglas Creager <dcreager@google.com> Date: Tue Feb 27 21:08:08 2018 Reporting: Check upload permissions asynchronously This changes the signature of the CanSendReport method so that it works asynchronously. We need this to able to check the background sync permission, since that can only be checked from the UI thread; we need the async logic to pass control between the IO and UI threads in the right way. To reduce the number of async calls, the method has also been updated to check several origins all at once, instead of having a single method call for each origin. You pass in a set of origins that you'd like to upload reports for, and the method passes back the set of origins that you're allowed to. Bug: 704259 Change-Id: I431b2fe1c1eb4e65cea91a86fd213e3204b852a1 Reviewed-on: https://chromium-review.googlesource.com/937566 Reviewed-by: Julia Tuttle <juliatuttle@chromium.org> Commit-Queue: Douglas Creager <dcreager@google.com> Cr-Commit-Position: refs/heads/master@{#539546} [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/chrome/browser/net/chrome_network_delegate.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/chrome/browser/net/chrome_network_delegate.h [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/base/layered_network_delegate.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/base/layered_network_delegate.h [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/base/layered_network_delegate_unittest.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/base/network_delegate.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/base/network_delegate.h [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/base/network_delegate_impl.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/base/network_delegate_impl.h [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/reporting/reporting_delegate.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/reporting/reporting_delegate.h [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/reporting/reporting_delivery_agent_unittest.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/reporting/reporting_report.h [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/reporting/reporting_test_util.cc [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/net/reporting/reporting_test_util.h [modify] https://crrev.com/7b07ea496fa602108d266ae0fe58b2b42aa7f6e9/tools/metrics/histograms/enums.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d commit f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d Author: Douglas Creager <dcreager@google.com> Date: Wed Feb 28 17:50:23 2018 Reporting: Use new format for Report-To header The format of the Report-To header recently changed so that endpoint groups are the top-level element, instead of individual endpoints. Bug: 704259 Change-Id: I7534c46abbbb86c367931ffc060972ac36b1084b Reviewed-on: https://chromium-review.googlesource.com/914687 Commit-Queue: Douglas Creager <dcreager@google.com> Reviewed-by: Robert Kaplow <rkaplow@chromium.org> Reviewed-by: Julia Tuttle <juliatuttle@chromium.org> Cr-Commit-Position: refs/heads/master@{#539876} [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/net/network_error_logging/network_error_logging_end_to_end_test.cc [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/net/reporting/reporting_cache.cc [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/net/reporting/reporting_cache.h [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/net/reporting/reporting_header_parser.cc [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/net/reporting/reporting_header_parser_unittest.cc [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/net/reporting/reporting_service_unittest.cc [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting-api/reporting-api-doesnt-send-reports-without-violation.https.sub.html.sub.headers [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting-api/reporting-api-report-only-sends-reports-on-violation.https.sub.html.sub.headers [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting-api/reporting-api-report-to-overrides-report-uri-1.https.sub.html.sub.headers [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting-api/reporting-api-report-to-overrides-report-uri-2.https.sub.html.sub.headers [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting-api/reporting-api-sends-reports-on-violation.https.sub.html.sub.headers [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting-api/reporting-api-works-on-frame-src.https.sub.html.sub.headers [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/tools/metrics/histograms/enums.xml [modify] https://crrev.com/f0db63ad38a2ca6c37da8e9f37d34e5e0ad94b5d/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5964cda5112c705a78e0f4eff1dfb0bfb9509c39 commit 5964cda5112c705a78e0f4eff1dfb0bfb9509c39 Author: Douglas Creager <dcreager@google.com> Date: Thu Mar 01 16:40:29 2018 Move MockPermissionManager into //content/public/test This lets us use it in tests under //chrome/browser. Bug: 704259 Change-Id: Ic814dd88e5a676e13a0b9629fc422ec70df4f6cd Reviewed-on: https://chromium-review.googlesource.com/941642 Commit-Queue: Douglas Creager <dcreager@google.com> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Cr-Commit-Position: refs/heads/master@{#540179} [modify] https://crrev.com/5964cda5112c705a78e0f4eff1dfb0bfb9509c39/content/browser/background_sync/background_sync_manager_unittest.cc [modify] https://crrev.com/5964cda5112c705a78e0f4eff1dfb0bfb9509c39/content/browser/background_sync/background_sync_service_impl_unittest.cc [modify] https://crrev.com/5964cda5112c705a78e0f4eff1dfb0bfb9509c39/content/browser/geolocation/geolocation_service_impl_unittest.cc [rename] https://crrev.com/5964cda5112c705a78e0f4eff1dfb0bfb9509c39/content/public/test/mock_permission_manager.cc [rename] https://crrev.com/5964cda5112c705a78e0f4eff1dfb0bfb9509c39/content/public/test/mock_permission_manager.h [modify] https://crrev.com/5964cda5112c705a78e0f4eff1dfb0bfb9509c39/content/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/de03f4c93629026a59923b6981f50e2a74ac90a9 commit de03f4c93629026a59923b6981f50e2a74ac90a9 Author: Douglas Creager <dcreager@google.com> Date: Thu Mar 01 19:38:28 2018 Reporting: Use BACKGROUND_SYNC permission to control uploads We now use the BACKGROUND_SYNC permission to decide whether or not to upload reports for a particular origin. Note that as currently written, we don't use this permission to decide whether to *collect* the reports, only whether to *send* them. Whether or not to collect is controlled by the site's cookie settings. Bug: 704259 Change-Id: I059019ab85106c26f4d156e9f5d61e2f8b8fa757 Reviewed-on: https://chromium-review.googlesource.com/937572 Reviewed-by: Ryan Hamilton <rch@chromium.org> Commit-Queue: Douglas Creager <dcreager@google.com> Cr-Commit-Position: refs/heads/master@{#540257} [modify] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/BUILD.gn [modify] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/net/chrome_network_delegate.cc [modify] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/net/chrome_network_delegate.h [modify] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/net/chrome_network_delegate_unittest.cc [add] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/net/reporting_permissions_checker.cc [add] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/net/reporting_permissions_checker.h [add] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/net/reporting_permissions_checker_unittest.cc [modify] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/profiles/profile_impl_io_data.cc [modify] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/browser/profiles/profile_impl_io_data.h [modify] https://crrev.com/de03f4c93629026a59923b6981f50e2a74ac90a9/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/326c73c6cbc33e26b062a0afa41da36ec19db82e commit 326c73c6cbc33e26b062a0afa41da36ec19db82e Author: Wez <wez@chromium.org> Date: Sun May 13 17:55:40 2018 Revert "Reporting: Use BACKGROUND_SYNC permission to control uploads" This reverts commit de03f4c93629026a59923b6981f50e2a74ac90a9. Reason for revert: CL introduced a ReportingPermissionsChecker class which appears to be intended to safely "cancel" UI-thread work posted from the IO thread, when the class instance is destroyed. The class, however, is always destroyed on the IO thread, so this use of WeakPtrs does not have the intended effect. Original change's description: > Reporting: Use BACKGROUND_SYNC permission to control uploads > > We now use the BACKGROUND_SYNC permission to decide whether or not to > upload reports for a particular origin. Note that as currently written, > we don't use this permission to decide whether to *collect* the reports, > only whether to *send* them. Whether or not to collect is controlled > by the site's cookie settings. > > Bug: 704259 > Change-Id: I059019ab85106c26f4d156e9f5d61e2f8b8fa757 > Reviewed-on: https://chromium-review.googlesource.com/937572 > Reviewed-by: Ryan Hamilton <rch@chromium.org> > Commit-Queue: Douglas Creager <dcreager@google.com> > Cr-Commit-Position: refs/heads/master@{#540257} TBR=rch@chromium.org,juliatuttle@chromium.org,dcreager@google.com Bug: 704259 Change-Id: I9cb1990f4273f74e39de83b99a12e6bfc00e7348 Reviewed-on: https://chromium-review.googlesource.com/1056727 Commit-Queue: Wez <wez@chromium.org> Reviewed-by: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#558160} [modify] https://crrev.com/326c73c6cbc33e26b062a0afa41da36ec19db82e/chrome/browser/BUILD.gn [modify] https://crrev.com/326c73c6cbc33e26b062a0afa41da36ec19db82e/chrome/browser/net/chrome_network_delegate.cc [modify] https://crrev.com/326c73c6cbc33e26b062a0afa41da36ec19db82e/chrome/browser/net/chrome_network_delegate.h [modify] https://crrev.com/326c73c6cbc33e26b062a0afa41da36ec19db82e/chrome/browser/net/chrome_network_delegate_unittest.cc [delete] https://crrev.com/c77d564743fe0ac7b3dac2ef84142f134099c242/chrome/browser/net/reporting_permissions_checker.cc [delete] https://crrev.com/c77d564743fe0ac7b3dac2ef84142f134099c242/chrome/browser/net/reporting_permissions_checker.h [delete] https://crrev.com/c77d564743fe0ac7b3dac2ef84142f134099c242/chrome/browser/net/reporting_permissions_checker_unittest.cc [modify] https://crrev.com/326c73c6cbc33e26b062a0afa41da36ec19db82e/chrome/browser/profiles/profile_impl_io_data.cc [modify] https://crrev.com/326c73c6cbc33e26b062a0afa41da36ec19db82e/chrome/browser/profiles/profile_impl_io_data.h [modify] https://crrev.com/326c73c6cbc33e26b062a0afa41da36ec19db82e/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/81cad4732ff638166f36483f9322aa83ed4aefd7 commit 81cad4732ff638166f36483f9322aa83ed4aefd7 Author: Douglas Creager <dcreager@chromium.org> Date: Thu May 17 14:34:09 2018 Reporting: Clearly separate IO and UI thread concerns This patch separates ReportingPermissionsChecker class in two, making it clearer which parts belong on the UI and IO threads. The Profile creates an instance of the UI class on the UI thread, and then creates a subsidiary IO instance, which is how ChromeNetworkDelegate actually performs permissions checks. The IO instance as a WeakPtr to the UI instance, since it must delegate to the IO thread to actually perform the check. If the Profile starts tearing down itself (and by extension, the UI instance), the WeakPtr will be invalidated. But importantly, the IO instance will still be well-formed, in case the network delegate is trying any outstanding permissions checks. Bug: 704259 Change-Id: I2b8d437c835a00a90d59aa7e3f39a49d83f511f2 Reviewed-on: https://chromium-review.googlesource.com/1059455 Commit-Queue: Douglas Creager <dcreager@chromium.org> Reviewed-by: Matt Menke <mmenke@chromium.org> Reviewed-by: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#559526} [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/BUILD.gn [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/net/chrome_network_delegate.cc [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/net/chrome_network_delegate.h [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/net/chrome_network_delegate_unittest.cc [add] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/net/reporting_permissions_checker.cc [add] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/net/reporting_permissions_checker.h [add] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/net/reporting_permissions_checker_unittest.cc [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/profiles/profile_impl.cc [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/profiles/profile_impl.h [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/profiles/profile_impl_io_data.cc [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/browser/profiles/profile_impl_io_data.h [modify] https://crrev.com/81cad4732ff638166f36483f9322aa83ed4aefd7/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/048081e45f7508eeaeea40a756ee083b08dd7f8f commit 048081e45f7508eeaeea40a756ee083b08dd7f8f Author: Douglas Creager <dcreager@chromium.org> Date: Wed Jul 18 01:25:40 2018 Reporting: Payload field should be `body`, not `report` Per https://w3c.github.io/reporting/#try-delivery, the field in a JavaScript report object that contains the body is called `body`, not `report`. Bug: 704259 Change-Id: Iba3186a0104c2192ced5e4233d55e042e05908f3 Reviewed-on: https://chromium-review.googlesource.com/1140193 Reviewed-by: Misha Efimov <mef@chromium.org> Commit-Queue: Douglas Creager <dcreager@chromium.org> Cr-Commit-Position: refs/heads/master@{#575894} [modify] https://crrev.com/048081e45f7508eeaeea40a756ee083b08dd7f8f/chrome/browser/net/reporting_browsertest.cc [modify] https://crrev.com/048081e45f7508eeaeea40a756ee083b08dd7f8f/net/network_error_logging/network_error_logging_end_to_end_test.cc [modify] https://crrev.com/048081e45f7508eeaeea40a756ee083b08dd7f8f/net/reporting/reporting_delivery_agent.cc [modify] https://crrev.com/048081e45f7508eeaeea40a756ee083b08dd7f8f/net/reporting/reporting_delivery_agent_unittest.cc [modify] https://crrev.com/048081e45f7508eeaeea40a756ee083b08dd7f8f/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/checkReport.sub.js
Comment 1 by bugdroid1@chromium.org
, Mar 27 2017