This is a bug to track the progress of page load metrics mojofication.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0619e89fda91cf9c1a540fb42c0193ff579216aa commit 0619e89fda91cf9c1a540fb42c0193ff579216aa Author: lpy <lpy@chromium.org> Date: Thu May 18 18:38:42 2017 [Page Load Metrics] Add mojom file to page load metrics. This patch adds page_load_metrics.mojom to PLM to use in services in the future, and replaces all *Timing struct usage with mojom types. A subsequent patch based on https://codereview.chromium.org/2823523003 will add support for sending page load metrics over Mojo. We'll run a field trial to verify there are no changes in metrics due to Mojo, then cut over to Mojo and remove the IPC code. BUG= 709259 Review-Url: https://codereview.chromium.org/2874663005 Cr-Commit-Position: refs/heads/master@{#472881} [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/metrics_web_contents_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/android_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/android_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/css_scanning_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/css_scanning_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/data_reduction_proxy_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/delay_navigation_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/delay_navigation_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/delay_navigation_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/lofi_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/lofi_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/lofi_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/media_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/media_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/media_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/omnibox_suggestion_used_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/omnibox_suggestion_used_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/prerender_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/prerender_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/protocol_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/protocol_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/protocol_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/tab_restore_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/tab_restore_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/tab_restore_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/page_load_metrics_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/page_load_metrics_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/page_load_tracker.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/page_load_metrics/page_load_tracker.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/browser/prerender/prerender_browsertest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/common/BUILD.gn [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/common/page_load_metrics/OWNERS [add] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/common/page_load_metrics/page_load_metrics.mojom [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/common/page_load_metrics/page_load_metrics_messages.h [add] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/common/page_load_metrics/page_load_metrics_param_traits.cc [add] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/common/page_load_metrics/page_load_metrics_param_traits.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/common/page_load_metrics/page_load_timing.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/common/page_load_metrics/page_load_timing.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/renderer/page_load_metrics/fake_page_timing_metrics_ipc_sender.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/renderer/page_load_metrics/fake_page_timing_metrics_ipc_sender.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/renderer/page_load_metrics/metrics_render_frame_observer.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/renderer/page_load_metrics/page_timing_metrics_sender.h [modify] https://crrev.com/0619e89fda91cf9c1a540fb42c0193ff579216aa/chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b commit a44af8f558766ab8c6b65fff8be4b1ef1a5f903b Author: lpy <lpy@chromium.org> Date: Mon May 22 19:53:53 2017 [Page Load Metrics] PageLoadMetrics Mojofication. This patch 1. Adds mojo pipeline; 2. Adds Finch Trial check to toggle mojo IPC; 3. Modifies browser tests to be parameterized for mojo IPC. The PageLoadMetrics mojo interface defines a UpdateTiming interface that is implemented by MetricsWebContentsObserver. PageLoadMetrics is sensitive to IPC ordering, thus MetricsWebContentsObserver holds a WebContentsFrameBindingSet that is used to bind associated interface together with RenderFrameHost, and it shares the legacy IPC channel so that we make sure we don't break IPC ordering. BUG= 709259 ,712915 Review-Url: https://codereview.chromium.org/2823523003 Cr-Commit-Position: refs/heads/master@{#473663} [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/browser/chrome_content_browser_manifest_overlay.json [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/browser/page_load_metrics/metrics_web_contents_observer.h [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/common/chrome_features.cc [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/common/chrome_features.h [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/common/page_load_metrics/OWNERS [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/common/page_load_metrics/page_load_metrics.mojom [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/BUILD.gn [delete] https://crrev.com/d99444dbb09468ef53fc699708c0b68afb451baa/chrome/renderer/page_load_metrics/fake_page_timing_metrics_ipc_sender.cc [delete] https://crrev.com/d99444dbb09468ef53fc699708c0b68afb451baa/chrome/renderer/page_load_metrics/fake_page_timing_metrics_ipc_sender.h [add] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/fake_page_timing_sender.cc [add] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/fake_page_timing_sender.h [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/metrics_render_frame_observer.h [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/page_timing_metrics_sender.h [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc [add] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/renderer/page_load_metrics/page_timing_sender.h [modify] https://crrev.com/a44af8f558766ab8c6b65fff8be4b1ef1a5f903b/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1543140844c4f08b51022030ac7f5ce29a3b8756 commit 1543140844c4f08b51022030ac7f5ce29a3b8756 Author: lpy <lpy@chromium.org> Date: Tue Jun 27 00:10:42 2017 [PageLoadMetrics] Remove legacy IPC from Page Load Metrics. Page Load Metrics Mojofication has proven that we can safely migrate to use mojo IPC, this patch removes the legacy IPC and enables mojo IPC by default. Field Trial results: https://uma.googleplex.com/p/chrome/variations/?sid=a3c2a66c1ba11bac2961b7e38db75af3 BUG= 709259 ,712915 Review-Url: https://codereview.chromium.org/2948323002 Cr-Commit-Position: refs/heads/master@{#482480} [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/browser/page_load_metrics/metrics_web_contents_observer.h [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/common/BUILD.gn [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/common/chrome_features.cc [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/common/chrome_features.h [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/common/common_message_generator.h [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/common/page_load_metrics/OWNERS [delete] https://crrev.com/b9ab2095d1f334506aa74681fa758adf03ab4a13/chrome/common/page_load_metrics/page_load_metrics_messages.h [delete] https://crrev.com/b9ab2095d1f334506aa74681fa758adf03ab4a13/chrome/common/page_load_metrics/page_load_metrics_param_traits.cc [delete] https://crrev.com/b9ab2095d1f334506aa74681fa758adf03ab4a13/chrome/common/page_load_metrics/page_load_metrics_param_traits.h [modify] https://crrev.com/1543140844c4f08b51022030ac7f5ce29a3b8756/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc
Comment 1 by l...@chromium.org
, Apr 13 2017