Page load capping needs an infobar with appropriate (and localized) strings. This mechanism should allow the user to pause and unpause the page load.
Refreshed during triage.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d003ad1b523bb159524a253df3ad4245fdfbe1f0 commit d003ad1b523bb159524a253df3ad4245fdfbe1f0 Author: Ryan Sturm <ryansturm@chromium.org> Date: Thu Mar 29 22:28:40 2018 Adding a page capping infobar and triggering logic This CL introduces a page capping infobar, related strings, and triggering logic from a page load metrics observer. The flow checks if a feature is enabled and grabs parameters from a related field trial if there are any. Once the data usage (of the body bytes for completed requests) extends beyond a threshold, the infobar is triggerred. The thresholds vary by whether the page load played media or not. This does not yet introduce page pausing functionality. Although, the goal is to pause all future requests from the page by plumbing a mojo message to each related RenderFrame's scheduler. Bug: 797980 , 797976 Change-Id: Ib6a48400c87f1561b10078f38c2d75d0c78ab912 Reviewed-on: https://chromium-review.googlesource.com/953711 Commit-Queue: Ryan Sturm <ryansturm@chromium.org> Reviewed-by: Peter Kasting <pkasting@chromium.org> Reviewed-by: Bryan McQuade <bmcquade@chromium.org> Reviewed-by: Tarun Bansal <tbansal@chromium.org> Cr-Commit-Position: refs/heads/master@{#546986} [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/app/generated_resources.grd [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/BUILD.gn [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/data_use_measurement/chrome_data_use_ascriber.cc [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/data_use_measurement/chrome_data_use_ascriber_unittest.cc [add] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/data_use_measurement/page_load_capping/page_load_capping_infobar_delegate.cc [add] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/data_use_measurement/page_load_capping/page_load_capping_infobar_delegate.h [add] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/data_use_measurement/page_load_capping/page_load_capping_infobar_delegate_unittest.cc [delete] https://crrev.com/4df0bfb94bdc23558dcfb01ee2a4653db736e9df/chrome/browser/data_use_measurement/page_load_capping/page_load_observer.cc [delete] https://crrev.com/4df0bfb94bdc23558dcfb01ee2a4653db736e9df/chrome/browser/data_use_measurement/page_load_capping/page_load_observer.h [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/infobars/infobar_service.h [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/infobars/infobars_browsertest.cc [add] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/infobars/mock_infobar_service.cc [add] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/infobars/mock_infobar_service.h [add] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/page_load_metrics/observers/page_capping_page_load_metrics_observer.cc [add] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/page_load_metrics/observers/page_capping_page_load_metrics_observer.h [add] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/page_load_metrics/observers/page_capping_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/chrome/test/BUILD.gn [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/components/infobars/core/infobar_delegate.h [modify] https://crrev.com/d003ad1b523bb159524a253df3ad4245fdfbe1f0/tools/metrics/histograms/enums.xml
Comment 1 by ryansturm@chromium.org
, Dec 28 2017