Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc

Issue 2874663005: [Page Load Metrics] Add mojom file to page load metrics. (Closed)
Patch Set: Remove unnecessary variable Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h" 5 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 46
47 } // namespace 47 } // namespace
48 48
49 PageLoadMetricsObserverTestHarness::PageLoadMetricsObserverTestHarness() 49 PageLoadMetricsObserverTestHarness::PageLoadMetricsObserverTestHarness()
50 : ChromeRenderViewHostTestHarness() {} 50 : ChromeRenderViewHostTestHarness() {}
51 51
52 PageLoadMetricsObserverTestHarness::~PageLoadMetricsObserverTestHarness() {} 52 PageLoadMetricsObserverTestHarness::~PageLoadMetricsObserverTestHarness() {}
53 53
54 // static 54 // static
55 void PageLoadMetricsObserverTestHarness::PopulateRequiredTimingFields( 55 void PageLoadMetricsObserverTestHarness::PopulateRequiredTimingFields(
56 PageLoadTiming* inout_timing) { 56 mojom::PageLoadTiming* inout_timing) {
57 if (inout_timing->paint_timing.first_meaningful_paint && 57 if (inout_timing->paint_timing->first_meaningful_paint &&
58 !inout_timing->paint_timing.first_contentful_paint) { 58 !inout_timing->paint_timing->first_contentful_paint) {
59 inout_timing->paint_timing.first_contentful_paint = 59 inout_timing->paint_timing->first_contentful_paint =
60 inout_timing->paint_timing.first_meaningful_paint; 60 inout_timing->paint_timing->first_meaningful_paint;
61 } 61 }
62 if ((inout_timing->paint_timing.first_text_paint || 62 if ((inout_timing->paint_timing->first_text_paint ||
63 inout_timing->paint_timing.first_image_paint || 63 inout_timing->paint_timing->first_image_paint ||
64 inout_timing->paint_timing.first_contentful_paint) && 64 inout_timing->paint_timing->first_contentful_paint) &&
65 !inout_timing->paint_timing.first_paint) { 65 !inout_timing->paint_timing->first_paint) {
66 inout_timing->paint_timing.first_paint = 66 inout_timing->paint_timing->first_paint =
67 OptionalMin(OptionalMin(inout_timing->paint_timing.first_text_paint, 67 OptionalMin(OptionalMin(inout_timing->paint_timing->first_text_paint,
68 inout_timing->paint_timing.first_image_paint), 68 inout_timing->paint_timing->first_image_paint),
69 inout_timing->paint_timing.first_contentful_paint); 69 inout_timing->paint_timing->first_contentful_paint);
70 } 70 }
71 if (inout_timing->paint_timing.first_paint && 71 if (inout_timing->paint_timing->first_paint &&
72 !inout_timing->document_timing.first_layout) { 72 !inout_timing->document_timing->first_layout) {
73 inout_timing->document_timing.first_layout = 73 inout_timing->document_timing->first_layout =
74 inout_timing->paint_timing.first_paint; 74 inout_timing->paint_timing->first_paint;
75 } 75 }
76 if (inout_timing->document_timing.load_event_start && 76 if (inout_timing->document_timing->load_event_start &&
77 !inout_timing->document_timing.dom_content_loaded_event_start) { 77 !inout_timing->document_timing->dom_content_loaded_event_start) {
78 inout_timing->document_timing.dom_content_loaded_event_start = 78 inout_timing->document_timing->dom_content_loaded_event_start =
79 inout_timing->document_timing.load_event_start; 79 inout_timing->document_timing->load_event_start;
80 } 80 }
81 if (inout_timing->document_timing.first_layout && 81 if (inout_timing->document_timing->first_layout &&
82 !inout_timing->parse_timing.parse_start) { 82 !inout_timing->parse_timing->parse_start) {
83 inout_timing->parse_timing.parse_start = 83 inout_timing->parse_timing->parse_start =
84 inout_timing->document_timing.first_layout; 84 inout_timing->document_timing->first_layout;
85 } 85 }
86 if (inout_timing->document_timing.dom_content_loaded_event_start && 86 if (inout_timing->document_timing->dom_content_loaded_event_start &&
87 !inout_timing->parse_timing.parse_stop) { 87 !inout_timing->parse_timing->parse_stop) {
88 inout_timing->parse_timing.parse_stop = 88 inout_timing->parse_timing->parse_stop =
89 inout_timing->document_timing.dom_content_loaded_event_start; 89 inout_timing->document_timing->dom_content_loaded_event_start;
90 } 90 }
91 if (inout_timing->parse_timing.parse_stop && 91 if (inout_timing->parse_timing->parse_stop &&
92 !inout_timing->parse_timing.parse_start) { 92 !inout_timing->parse_timing->parse_start) {
93 inout_timing->parse_timing.parse_start = 93 inout_timing->parse_timing->parse_start =
94 inout_timing->parse_timing.parse_stop; 94 inout_timing->parse_timing->parse_stop;
95 } 95 }
96 if (inout_timing->parse_timing.parse_start && !inout_timing->response_start) { 96 if (inout_timing->parse_timing->parse_start &&
97 inout_timing->response_start = inout_timing->parse_timing.parse_start; 97 !inout_timing->response_start) {
98 inout_timing->response_start = inout_timing->parse_timing->parse_start;
98 } 99 }
99 if (inout_timing->parse_timing.parse_start) { 100 if (inout_timing->parse_timing->parse_start) {
100 if (!inout_timing->parse_timing.parse_blocked_on_script_load_duration) 101 if (!inout_timing->parse_timing->parse_blocked_on_script_load_duration)
101 inout_timing->parse_timing.parse_blocked_on_script_load_duration = 102 inout_timing->parse_timing->parse_blocked_on_script_load_duration =
102 base::TimeDelta(); 103 base::TimeDelta();
103 if (!inout_timing->parse_timing 104 if (!inout_timing->parse_timing
104 .parse_blocked_on_script_execution_duration) { 105 ->parse_blocked_on_script_execution_duration) {
105 inout_timing->parse_timing.parse_blocked_on_script_execution_duration = 106 inout_timing->parse_timing->parse_blocked_on_script_execution_duration =
106 base::TimeDelta(); 107 base::TimeDelta();
107 } 108 }
108 if (!inout_timing->parse_timing 109 if (!inout_timing->parse_timing
109 .parse_blocked_on_script_load_from_document_write_duration) { 110 ->parse_blocked_on_script_load_from_document_write_duration) {
110 inout_timing->parse_timing 111 inout_timing->parse_timing
111 .parse_blocked_on_script_load_from_document_write_duration = 112 ->parse_blocked_on_script_load_from_document_write_duration =
112 base::TimeDelta(); 113 base::TimeDelta();
113 } 114 }
114 if (!inout_timing->parse_timing 115 if (!inout_timing->parse_timing
115 .parse_blocked_on_script_execution_from_document_write_duration) { 116 ->parse_blocked_on_script_execution_from_document_write_duration) {
116 inout_timing->parse_timing 117 inout_timing->parse_timing
117 .parse_blocked_on_script_execution_from_document_write_duration = 118 ->parse_blocked_on_script_execution_from_document_write_duration =
118 base::TimeDelta(); 119 base::TimeDelta();
119 } 120 }
120 } 121 }
121 } 122 }
122 123
123 void PageLoadMetricsObserverTestHarness::SetUp() { 124 void PageLoadMetricsObserverTestHarness::SetUp() {
124 ChromeRenderViewHostTestHarness::SetUp(); 125 ChromeRenderViewHostTestHarness::SetUp();
125 SetContents(CreateTestWebContents()); 126 SetContents(CreateTestWebContents());
126 NavigateAndCommit(GURL("http://www.google.com")); 127 NavigateAndCommit(GURL("http://www.google.com"));
127 observer_ = MetricsWebContentsObserver::CreateForWebContents( 128 observer_ = MetricsWebContentsObserver::CreateForWebContents(
128 web_contents(), 129 web_contents(),
129 base::MakeUnique<TestPageLoadMetricsEmbedderInterface>(this)); 130 base::MakeUnique<TestPageLoadMetricsEmbedderInterface>(this));
130 web_contents()->WasShown(); 131 web_contents()->WasShown();
131 } 132 }
132 133
133 void PageLoadMetricsObserverTestHarness::StartNavigation(const GURL& gurl) { 134 void PageLoadMetricsObserverTestHarness::StartNavigation(const GURL& gurl) {
134 content::WebContentsTester* web_contents_tester = 135 content::WebContentsTester* web_contents_tester =
135 content::WebContentsTester::For(web_contents()); 136 content::WebContentsTester::For(web_contents());
136 web_contents_tester->StartNavigation(gurl); 137 web_contents_tester->StartNavigation(gurl);
137 } 138 }
138 139
139 void PageLoadMetricsObserverTestHarness::SimulateTimingUpdate( 140 void PageLoadMetricsObserverTestHarness::SimulateTimingUpdate(
140 const PageLoadTiming& timing) { 141 const mojom::PageLoadTiming& timing) {
141 SimulateTimingAndMetadataUpdate(timing, PageLoadMetadata()); 142 SimulateTimingAndMetadataUpdate(timing, mojom::PageLoadMetadata());
142 } 143 }
143 144
144 void PageLoadMetricsObserverTestHarness::SimulateTimingAndMetadataUpdate( 145 void PageLoadMetricsObserverTestHarness::SimulateTimingAndMetadataUpdate(
145 const PageLoadTiming& timing, 146 const mojom::PageLoadTiming& timing,
146 const PageLoadMetadata& metadata) { 147 const mojom::PageLoadMetadata& metadata) {
147 observer_->OnTimingUpdated(web_contents()->GetMainFrame(), timing, metadata); 148 observer_->OnTimingUpdated(web_contents()->GetMainFrame(), timing, metadata);
148 } 149 }
149 150
150 void PageLoadMetricsObserverTestHarness::SimulateStartedResource( 151 void PageLoadMetricsObserverTestHarness::SimulateStartedResource(
151 const ExtraRequestStartInfo& info) { 152 const ExtraRequestStartInfo& info) {
152 observer_->OnRequestStarted(content::GlobalRequestID(), info.resource_type, 153 observer_->OnRequestStarted(content::GlobalRequestID(), info.resource_type,
153 base::TimeTicks::Now()); 154 base::TimeTicks::Now());
154 } 155 }
155 156
156 void PageLoadMetricsObserverTestHarness::SimulateLoadedResource( 157 void PageLoadMetricsObserverTestHarness::SimulateLoadedResource(
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 } 194 }
194 195
195 void PageLoadMetricsObserverTestHarness::NavigateWithPageTransitionAndCommit( 196 void PageLoadMetricsObserverTestHarness::NavigateWithPageTransitionAndCommit(
196 const GURL& url, 197 const GURL& url,
197 ui::PageTransition transition) { 198 ui::PageTransition transition) {
198 controller().LoadURL(url, content::Referrer(), transition, std::string()); 199 controller().LoadURL(url, content::Referrer(), transition, std::string());
199 content::WebContentsTester::For(web_contents())->CommitPendingNavigation(); 200 content::WebContentsTester::For(web_contents())->CommitPendingNavigation();
200 } 201 }
201 202
202 } // namespace page_load_metrics 203 } // namespace page_load_metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698