diff options
author | zmo <zmo@chromium.org> | 2016-02-26 18:52:37 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-27 02:53:36 +0000 |
commit | 83d6c2f6c1edcfdd2cb0f6f368a2cd1f6b815bd4 (patch) | |
tree | 28196299674027cf74ec1a95b1aa34e863fdf41e | |
parent | 49c44c010634e2270ff761ebda343795b5f050d0 (diff) | |
download | chromium_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}
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 = |