summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzmo <zmo@chromium.org>2016-02-26 18:52:37 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-27 02:53:36 +0000
commit83d6c2f6c1edcfdd2cb0f6f368a2cd1f6b815bd4 (patch)
tree28196299674027cf74ec1a95b1aa34e863fdf41e
parent49c44c010634e2270ff761ebda343795b5f050d0 (diff)
downloadchromium_src-83d6c2f6c1edcfdd2cb0f6f368a2cd1f6b815bd4.zip
chromium_src-83d6c2f6c1edcfdd2cb0f6f368a2cd1f6b815bd4.tar.gz
chromium_src-83d6c2f6c1edcfdd2cb0f6f368a2cd1f6b815bd4.tar.bz2
Revert of Add additional auditing for PageLoadTiming. (patchset #7 id:120001 of https://codereview.chromium.org/1735363002/ )
Reason for revert: Cause flakiness on all GPU debug bots stack trace: 0 libbase.dylib 0x000000011b89dbaf _ZN4base5debug10StackTraceC2Ev + 47 1 libbase.dylib 0x000000011b89dd53 _ZN4base5debug10StackTraceC1Ev + 35 2 libbase.dylib 0x000000011b929c70 _ZN7logging10LogMessageD2Ev + 80 3 libbase.dylib 0x000000011b9275a3 _ZN7logging10LogMessageD1Ev + 35 4 libchrome_main_dll.dylib 0x000000010f3e0985 _ZN17page_load_metrics12_GLOBAL__N_121IsValidPageLoadTimingERKNS_14PageLoadTimingE + 2389 5 libchrome_main_dll.dylib 0x000000010f3dffba _ZN17page_load_metrics15PageLoadTracker12UpdateTimingERKNS_14PageLoadTimingE + 122 6 libchrome_main_dll.dylib 0x000000010f3e24c3 _ZN17page_load_metrics26MetricsWebContentsObserver15OnTimingUpdatedEPN7content15RenderFrameHostERKNS_14PageLoadTimingE + 275 7 libchrome_main_dll.dylib 0x000000010f3e8564 _ZN3IPC20DispatchToMethodImplIN17page_load_metrics26MetricsWebContentsObserverEMS2_FvPN7content15RenderFrameHostERKNS1_14PageLoadTimingEES4_NSt3__15tupleIJS6_EEEJLm0EEEEvPT_T0_PT1_RKT2_N4base13IndexSequenceIJXspT3_EEEE + 164 8 libchrome_main_dll.dylib 0x000000010f3e8446 _ZN3IPC16DispatchToMethodIN17page_load_metrics26MetricsWebContentsObserverEN7content15RenderFrameHostEJRKNS1_14PageLoadTimingEEJS5_EEENSt3__19enable_ifIXeqsZT1_sZT2_EvE4typeEPT_MSC_FvPT0_DpT1_ESF_RKNS8_5tupleIJDpT2_EEE + 102 9 libchrome_main_dll.dylib 0x000000010f3e2348 _ZN3IPC8MessageTI37PageLoadMetricsMsg_TimingUpdated_MetaNSt3__15tupleIJN17page_load_metrics14PageLoadTimingEEEEvE8DispatchINS4_26MetricsWebContentsObserverES9_N7content15RenderFrameHostEMS9_FvPSB_RKS5_EEEbPKNS_7MessageEPT_PT0_PT1_T2_ + 248 10 libchrome_main_dll.dylib 0x000000010f3e21eb _ZN17page_load_metrics26MetricsWebContentsObserver17OnMessageReceivedERKN3IPC7MessageEPN7content15RenderFrameHostE + 555 11 libcontent.dylib 0x000000012435be4b _ZN7content15WebContentsImpl17OnMessageReceivedEPNS_14RenderViewHostEPNS_15RenderFrameHostERKN3IPC7MessageE + 475 12 libcontent.dylib 0x000000012437fc42 _ZN7content15WebContentsImpl17OnMessageReceivedEPNS_15RenderFrameHostERKN3IPC7MessageE + 66 13 libcontent.dylib 0x000000012437fcaa _ZThn128_N7content15WebContentsImpl17OnMessageReceivedEPNS_15RenderFrameHostERKN3IPC7MessageE + 58 14 libcontent.dylib 0x00000001237a87cf _ZN7content19RenderFrameHostImpl17OnMessageReceivedERKN3IPC7MessageE + 591 15 libcontent.dylib 0x0000000123f03603 _ZN7content21RenderProcessHostImpl17OnMessageReceivedERKN3IPC7MessageE + 2179 16 libcontent.dylib 0x0000000123f046b2 _ZThn8_N7content21RenderProcessHostImpl17OnMessageReceivedERKN3IPC7MessageE + 50 17 libipc.dylib 0x000000012d8b753e _ZN3IPC12ChannelProxy7Context17OnDispatchMessageERKNS_7MessageE + 750 18 libipc.dylib 0x000000012d8bdfa7 _ZN4base8internal15RunnableAdapterIMN3IPC12ChannelProxy7ContextEFvRKNS2_7MessageEEE3RunIJS7_EEEvPS4_DpOT_ + 135 19 libipc.dylib 0x000000012d8bde6d _ZN4base8internal12InvokeHelperILb0EvNS0_15RunnableAdapterIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEEEE8MakeItSoIJPS5_S8_EEEvSB_DpOT_ + 77 20 libipc.dylib 0x000000012d8bddfc _ZN4base8internal7InvokerINS_13IndexSequenceIJLm0ELm1EEEENS0_9BindStateINS0_15RunnableAdapterIMN3IPC12ChannelProxy7ContextEFvRKNS6_7MessageEEEEFvPS8_SB_EJSF_SB_EEENS0_12InvokeHelperILb0EvSE_EEFvvEE3RunEPNS0_13BindStateBaseE + 140 21 libbase.dylib 0x000000011b8747ff _ZNK4base8CallbackIFvvEE3RunEv + 63 22 libbase.dylib 0x000000011b89f91e _ZN4base5debug13TaskAnnotator7RunTaskEPKcRKNS_11PendingTaskE + 654 23 libbase.dylib 0x000000011b96f350 _ZN4base11MessageLoop7RunTaskERKNS_11PendingTaskE + 848 24 libbase.dylib 0x000000011b96f986 _ZN4base11MessageLoop21DeferOrRunPendingTaskERKNS_11PendingTaskE + 86 25 libbase.dylib 0x000000011b97000e _ZN4base11MessageLoop6DoWorkEv + 526 26 libbase.dylib 0x000000011b849ae8 _ZN4base24MessagePumpCFRunLoopBase7RunWorkEv + 104 27 libbase.dylib 0x000000011b849a5a ___ZN4base24MessagePumpCFRunLoopBase13RunWorkSourceEPv_block_invoke + 42 28 libbase.dylib 0x000000011b92d35a _ZN4base3mac15CallWithEHFrameEU13block_pointerFvvE + 10 29 libbase.dylib 0x000000011b848df5 _ZN4base24MessagePumpCFRunLoopBase13RunWorkSourceEPv + 101 30 CoreFoundation 0x00007fff9256fa01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 31 CoreFoundation 0x00007fff92561b8d __CFRunLoopDoSources0 + 269 32 CoreFoundation 0x00007fff925611bf __CFRunLoopRun + 927 33 CoreFoundation 0x00007fff92560bd8 CFRunLoopRunSpecific + 296 34 HIToolbox 0x00007fff8fb7d56f RunCurrentEventLoopInMode + 235 35 HIToolbox 0x00007fff8fb7d2ea ReceiveNextEventCommon + 431 36 HIToolbox 0x00007fff8fb7d12b _BlockUntilNextEventMatchingListInModeWithFilter + 71 37 AppKit 0x00007fff8af9f8ab _DPSNextEvent + 978 38 AppKit 0x00007fff8af9ee58 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 346 39 AppKit 0x00007fff8af94af3 -[NSApplication run] + 594 40 libbase.dylib 0x000000011b84ae02 _ZN4base24MessagePumpNSApplication5DoRunEPNS_11MessagePump8DelegateE + 306 41 libbase.dylib 0x000000011b8496fd _ZN4base24MessagePumpCFRunLoopBase3RunEPNS_11MessagePump8DelegateE + 125 42 libbase.dylib 0x000000011b96eb93 _ZN4base11MessageLoop10RunHandlerEv + 275 43 libbase.dylib 0x000000011ba01855 _ZN4base7RunLoop3RunEv + 85 44 libchrome_main_dll.dylib 0x000000010b60bfc0 _ZN22ChromeBrowserMainParts18MainMessageLoopRunEPi + 400 45 libcontent.dylib 0x00000001233448c7 _ZN7content15BrowserMainLoop23RunMainMessageLoopPartsEv + 359 46 libcontent.dylib 0x0000000123352e4f _ZN7content21BrowserMainRunnerImpl3RunEv + 447 47 libcontent.dylib 0x000000012333c1cc _ZN7content11BrowserMainERKNS_18MainFunctionParamsE + 348 48 libcontent.dylib 0x000000012303b217 _ZN7content23RunNamedProcessTypeMainERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEERKNS_18MainFunctionParamsEPNS_19ContentMainDelegateE + 599 49 libcontent.dylib 0x000000012303cfa1 _ZN7content21ContentMainRunnerImpl3RunEv + 577 50 libcontent.dylib 0x000000012303a460 _ZN7content11ContentMainERKNS_17ContentMainParamsE + 144 51 libchrome_main_dll.dylib 0x000000010b2caed3 ChromeMain + 83 52 Chromium 0x000000010b256fef main + 783 53 Chromium 0x000000010b256cd4 start + 52 54 ??? 0x0000000000000017 0x0 + 23 Original issue's description: > Add additional auditing for PageLoadTiming. > > BUG=589944 > > Committed: https://crrev.com/a562015fd6f1cea8a2f91c994d1024bc8f5ce066 > Cr-Commit-Position: refs/heads/master@{#378009} TBR=csharrison@chromium.org,bmcquade@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=589944 Review URL: https://codereview.chromium.org/1743923002 Cr-Commit-Position: refs/heads/master@{#378093}
-rw-r--r--chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc1
-rw-r--r--chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc12
-rw-r--r--chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc8
-rw-r--r--chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc34
-rw-r--r--chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h4
-rw-r--r--components/page_load_metrics/browser/metrics_web_contents_observer.cc81
-rw-r--r--components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc1
7 files changed, 16 insertions, 125 deletions
diff --git a/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc
index 67959ce..039b93d 100644
--- a/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc
@@ -147,7 +147,6 @@ TEST_F(AbortsPageLoadMetricsObserverTest, NoAbortNewNavigationAfterPaint) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_paint = base::TimeDelta::FromMicroseconds(1);
- PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL("https://www.google.com"));
SimulateTimingUpdate(timing);
NavigateAndCommit(GURL("https://www.example.com"));
diff --git a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc
index 1ffa417..7ef0dc1 100644
--- a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc
@@ -49,7 +49,6 @@ TEST_F(CorePageLoadMetricsObserverTest, SamePageNoTriggerUntilTrueNavCommit) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_layout = first_layout;
- PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL(kDefaultTestUrl));
SimulateTimingUpdate(timing);
@@ -76,7 +75,6 @@ TEST_F(CorePageLoadMetricsObserverTest, SingleMetricAfterCommit) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_layout = first_layout;
- PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL(kDefaultTestUrl));
SimulateTimingUpdate(timing);
@@ -96,7 +94,7 @@ TEST_F(CorePageLoadMetricsObserverTest, SingleMetricAfterCommit) {
}
TEST_F(CorePageLoadMetricsObserverTest, MultipleMetricsAfterCommits) {
- base::TimeDelta first_layout_1 = base::TimeDelta::FromMilliseconds(10);
+ base::TimeDelta first_layout_1 = base::TimeDelta::FromMilliseconds(1);
base::TimeDelta first_layout_2 = base::TimeDelta::FromMilliseconds(20);
base::TimeDelta response = base::TimeDelta::FromMilliseconds(10);
base::TimeDelta first_text_paint = base::TimeDelta::FromMilliseconds(30);
@@ -110,7 +108,6 @@ TEST_F(CorePageLoadMetricsObserverTest, MultipleMetricsAfterCommits) {
timing.first_text_paint = first_text_paint;
timing.dom_content_loaded_event_start = dom_content;
timing.load_event_start = load;
- PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL(kDefaultTestUrl));
SimulateTimingUpdate(timing);
@@ -120,7 +117,6 @@ TEST_F(CorePageLoadMetricsObserverTest, MultipleMetricsAfterCommits) {
page_load_metrics::PageLoadTiming timing2;
timing2.navigation_start = base::Time::FromDoubleT(200);
timing2.first_layout = first_layout_2;
- PopulateRequiredTimingFields(&timing2);
SimulateTimingUpdate(timing2);
@@ -154,7 +150,6 @@ TEST_F(CorePageLoadMetricsObserverTest, BackgroundDifferentHistogram) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_layout = first_layout;
- PopulateRequiredTimingFields(&timing);
// Simulate "Open link in new tab."
web_contents()->WasHidden();
@@ -203,7 +198,6 @@ TEST_F(CorePageLoadMetricsObserverTest, OnlyBackgroundLaterEvents) {
web_contents()->WasShown();
timing.first_layout = base::TimeDelta::FromSeconds(3);
timing.first_text_paint = base::TimeDelta::FromSeconds(4);
- PopulateRequiredTimingFields(&timing);
SimulateTimingUpdate(timing);
// Navigate again to force histogram recording.
@@ -242,7 +236,6 @@ TEST_F(CorePageLoadMetricsObserverTest, DontBackgroundQuickerLoad) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_layout = first_layout;
- PopulateRequiredTimingFields(&timing);
web_contents()->WasHidden();
@@ -308,7 +301,6 @@ TEST_F(CorePageLoadMetricsObserverTest, BackgroundBeforePaint) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_paint = base::TimeDelta::FromSeconds(10);
- PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL(kDefaultTestUrl));
// Background the tab and go for a coffee or something.
web_contents()->WasHidden();
@@ -332,7 +324,6 @@ TEST_F(CorePageLoadMetricsObserverTest, RapporLongPageLoad) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_contentful_paint = base::TimeDelta::FromSeconds(40);
- PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL(kDefaultTestUrl));
SimulateTimingUpdate(timing);
@@ -355,7 +346,6 @@ TEST_F(CorePageLoadMetricsObserverTest, RapporQuickPageLoad) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_contentful_paint = base::TimeDelta::FromSeconds(1);
- PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL(kDefaultTestUrl));
SimulateTimingUpdate(timing);
diff --git a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc
index ae25b65..ac68b5f 100644
--- a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc
@@ -53,7 +53,6 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, NoReferral) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
- PopulateRequiredTimingFields(&timing);
NavigateAndCommit(GURL("http://www.example.com"));
SimulateTimingUpdate(timing);
@@ -67,7 +66,6 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, ReferralsFromGWSHTTPToHTTPS) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
- PopulateRequiredTimingFields(&timing);
// HTTPS google.com referral to HTTP example.com.
set_referrer(content::Referrer(GURL("https://www.google.com"),
blink::WebReferrerPolicyOrigin));
@@ -87,7 +85,6 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, ReferralFromGWS) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
- PopulateRequiredTimingFields(&timing);
set_referrer(content::Referrer(GURL("https://www.google.com/url"),
blink::WebReferrerPolicyDefault));
@@ -107,7 +104,6 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, ReferralFromGWSBackgroundLater) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMicroseconds(1);
- PopulateRequiredTimingFields(&timing);
set_referrer(content::Referrer(GURL("https://www.google.com/url"),
blink::WebReferrerPolicyDefault));
@@ -128,7 +124,6 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, ReferralsFromCaseInsensitive) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
- PopulateRequiredTimingFields(&timing);
// HTTPS google.com referral to HTTP example.com.
set_referrer(content::Referrer(GURL("https://wWw.GoOGlE.cOm/webhp"),
blink::WebReferrerPolicyOrigin));
@@ -147,7 +142,6 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, ReferralsFromGWSOrigin) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
- PopulateRequiredTimingFields(&timing);
// HTTPS google.com referral to HTTP example.com.
set_referrer(content::Referrer(GURL("https://www.google.com"),
blink::WebReferrerPolicyOrigin));
@@ -158,7 +152,6 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, ReferralsFromGWSOrigin) {
page_load_metrics::PageLoadTiming timing2;
timing2.navigation_start = base::Time::FromDoubleT(10);
timing2.first_text_paint = base::TimeDelta::FromMilliseconds(100);
- PopulateRequiredTimingFields(&timing2);
// HTTPS google.com referral to HTTP example.com.
set_referrer(content::Referrer(GURL("https://www.google.co.in"),
blink::WebReferrerPolicyOrigin));
@@ -180,7 +173,6 @@ TEST_F(FromGWSPageLoadMetricsObserverTest, ReferralNotFromGWS) {
page_load_metrics::PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
timing.first_text_paint = base::TimeDelta::FromMilliseconds(1);
- PopulateRequiredTimingFields(&timing);
set_referrer(content::Referrer(GURL("https://www.anothersite.com"),
blink::WebReferrerPolicyDefault));
NavigateAndCommit(GURL("https://www.example.com"));
diff --git a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
index e7d2656..44ff512 100644
--- a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
+++ b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
@@ -42,40 +42,6 @@ PageLoadMetricsObserverTestHarness::PageLoadMetricsObserverTestHarness()
PageLoadMetricsObserverTestHarness::~PageLoadMetricsObserverTestHarness() {}
-// static
-void PageLoadMetricsObserverTestHarness::PopulateRequiredTimingFields(
- PageLoadTiming* inout_timing) {
- if (!inout_timing->first_contentful_paint.is_zero() &&
- inout_timing->first_paint.is_zero()) {
- inout_timing->first_paint = inout_timing->first_contentful_paint;
- }
- if (!inout_timing->first_text_paint.is_zero() &&
- inout_timing->first_paint.is_zero()) {
- inout_timing->first_paint = inout_timing->first_text_paint;
- }
- if (!inout_timing->first_image_paint.is_zero() &&
- inout_timing->first_paint.is_zero()) {
- inout_timing->first_paint = inout_timing->first_image_paint;
- }
- if (!inout_timing->first_paint.is_zero() &&
- inout_timing->first_layout.is_zero()) {
- inout_timing->first_layout = inout_timing->first_paint;
- }
- if (!inout_timing->load_event_start.is_zero() &&
- inout_timing->dom_content_loaded_event_start.is_zero()) {
- inout_timing->dom_content_loaded_event_start =
- inout_timing->load_event_start;
- }
- if (!inout_timing->first_layout.is_zero() &&
- inout_timing->response_start.is_zero()) {
- inout_timing->response_start = inout_timing->first_layout;
- }
- if (!inout_timing->dom_content_loaded_event_start.is_zero() &&
- inout_timing->response_start.is_zero()) {
- inout_timing->response_start = inout_timing->dom_content_loaded_event_start;
- }
-}
-
void PageLoadMetricsObserverTestHarness::SetUp() {
ChromeRenderViewHostTestHarness::SetUp();
SetContents(CreateTestWebContents());
diff --git a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h
index ddbeb25..56e0832 100644
--- a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h
+++ b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h
@@ -22,10 +22,6 @@ class PageLoadMetricsObserverTestHarness
PageLoadMetricsObserverTestHarness();
~PageLoadMetricsObserverTestHarness() override;
- // Helper that fills in any timing fields that MWCO requires but that are
- // currently missing.
- static void PopulateRequiredTimingFields(PageLoadTiming* inout_timing);
-
void SetUp() override;
virtual void RegisterObservers(PageLoadTracker* tracker) {}
diff --git a/components/page_load_metrics/browser/metrics_web_contents_observer.cc b/components/page_load_metrics/browser/metrics_web_contents_observer.cc
index 146013d..21130fa 100644
--- a/components/page_load_metrics/browser/metrics_web_contents_observer.cc
+++ b/components/page_load_metrics/browser/metrics_web_contents_observer.cc
@@ -46,78 +46,31 @@ bool IsRelevantNavigation(content::NavigationHandle* navigation_handle,
(mime_type == "text/html" || mime_type == "application/xhtml+xml");
}
-// If second is non-zero, first must also be non-zero and less than or equal to
-// second.
-bool EventsInOrder(base::TimeDelta first, base::TimeDelta second) {
- if (second.is_zero()) {
- return true;
- }
- return !first.is_zero() && first <= second;
-}
-
bool IsValidPageLoadTiming(const PageLoadTiming& timing) {
if (timing.IsEmpty())
return false;
// If we have a non-empty timing, it should always have a navigation start.
if (timing.navigation_start.is_null()) {
- DLOG(FATAL) << "Received null navigation_start.";
- return false;
- }
-
- // Verify proper ordering between the various timings.
-
- if (!EventsInOrder(timing.response_start,
- timing.dom_content_loaded_event_start)) {
- // We sometimes get a zero response_start with a non-zero DCL. See
- // crbug.com/590212.
- DLOG(ERROR) << "Invalid response_start " << timing.response_start
- << " for dom_content_loaded_event_start "
- << timing.dom_content_loaded_event_start;
- return false;
- }
-
- if (!EventsInOrder(timing.dom_content_loaded_event_start,
- timing.load_event_start)) {
- // TODO(csharrison) crbug.com/536203 shows that sometimes we can get a load
- // event without a DCL. Figure out if we can change this condition to use a
- // DLOG(FATAL) in the condition.
- DLOG(ERROR) << "Invalid dom_content_loaded_event_start "
- << timing.dom_content_loaded_event_start
- << " for load_event_start " << timing.load_event_start;
- return false;
- }
-
- if (!EventsInOrder(timing.response_start, timing.first_layout)) {
- // We sometimes get a zero response_start with a non-zero first layout. See
- // crbug.com/590212.
- DLOG(ERROR) << "Invalid response_start " << timing.response_start
- << " for first_layout " << timing.first_layout;
- return false;
- }
-
- if (!EventsInOrder(timing.first_layout, timing.first_paint)) {
- DLOG(FATAL) << "Invalid first_layout " << timing.first_layout
- << " for first_paint " << timing.first_paint;
- return false;
- }
-
- if (!EventsInOrder(timing.first_paint, timing.first_text_paint)) {
- DLOG(FATAL) << "Invalid first_paint " << timing.first_paint
- << " for first_text_paint " << timing.first_text_paint;
+ NOTREACHED();
return false;
}
- if (!EventsInOrder(timing.first_paint, timing.first_image_paint)) {
- DLOG(FATAL) << "Invalid first_paint " << timing.first_paint
- << " for first_image_paint " << timing.first_image_paint;
+ // If we have a DOM content loaded event, we should have a response start.
+ if (!timing.dom_content_loaded_event_start.is_zero() &&
+ timing.response_start > timing.dom_content_loaded_event_start) {
+ NOTREACHED();
return false;
}
- if (!EventsInOrder(timing.first_paint, timing.first_contentful_paint)) {
- DLOG(FATAL) << "Invalid first_paint " << timing.first_paint
- << " for first_contentful_paint "
- << timing.first_contentful_paint;
+ // If we have a load event, we should have both a response start and a DCL.
+ // TODO(csharrison) crbug.com/536203 shows that sometimes we can get a load
+ // event without a DCL. Figure out if we can change this condition to use a
+ // NOTREACHED in the condition.
+ if (!timing.load_event_start.is_zero() &&
+ (timing.dom_content_loaded_event_start.is_zero() ||
+ timing.response_start > timing.load_event_start ||
+ timing.dom_content_loaded_event_start > timing.load_event_start)) {
return false;
}
@@ -135,9 +88,7 @@ UserAbortType AbortTypeForPageTransition(ui::PageTransition transition) {
return ABORT_FORWARD_BACK;
if (ui::PageTransitionIsNewNavigation(transition))
return ABORT_NEW_NAVIGATION;
- DLOG(FATAL)
- << "AbortTypeForPageTransition received unexpected ui::PageTransition: "
- << transition;
+ NOTREACHED();
return ABORT_OTHER;
}
@@ -201,9 +152,7 @@ void PageLoadTracker::LogAbortChainHistograms(
aborted_chain_size_);
return;
default:
- DLOG(FATAL)
- << "LogAbortChainHistograms received unexpected ui::PageTransition: "
- << committed_transition;
+ NOTREACHED();
return;
}
}
diff --git a/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc b/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc
index 7c3af90..975bb97 100644
--- a/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc
+++ b/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc
@@ -153,7 +153,6 @@ TEST_F(MetricsWebContentsObserverTest, SamePageNoTrigger) {
PageLoadTiming timing;
timing.navigation_start = base::Time::FromDoubleT(1);
- timing.response_start = base::TimeDelta::FromMilliseconds(1);
timing.first_layout = first_layout;
content::WebContentsTester* web_contents_tester =