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

Side by Side Diff: chrome/browser/page_load_metrics/page_load_tracker.cc

Issue 2684153003: Add subresource filter page load metrics observer (Closed)
Patch Set: address comments Created 3 years, 10 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/page_load_tracker.h" 5 #include "chrome/browser/page_load_metrics/page_load_tracker.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <ostream> 8 #include <ostream>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 completed_after_background); 249 completed_after_background);
250 } 250 }
251 251
252 void DispatchObserverTimingCallbacks(PageLoadMetricsObserver* observer, 252 void DispatchObserverTimingCallbacks(PageLoadMetricsObserver* observer,
253 const PageLoadTiming& last_timing, 253 const PageLoadTiming& last_timing,
254 const PageLoadTiming& new_timing, 254 const PageLoadTiming& new_timing,
255 const PageLoadMetadata& last_metadata, 255 const PageLoadMetadata& last_metadata,
256 const PageLoadExtraInfo& extra_info) { 256 const PageLoadExtraInfo& extra_info) {
257 if (last_timing != new_timing) 257 if (last_timing != new_timing)
258 observer->OnTimingUpdate(new_timing, extra_info); 258 observer->OnTimingUpdate(new_timing, extra_info);
259 if (extra_info.metadata.behavior_flags != last_metadata.behavior_flags)
Charlie Harrison 2017/02/09 19:19:13 Why not pull this above OnTimingUpdate too?
Bryan McQuade 2017/02/09 19:30:49 done
260 observer->OnLoadingBehaviorObserved(extra_info);
259 if (new_timing.dom_content_loaded_event_start && 261 if (new_timing.dom_content_loaded_event_start &&
260 !last_timing.dom_content_loaded_event_start) 262 !last_timing.dom_content_loaded_event_start)
261 observer->OnDomContentLoadedEventStart(new_timing, extra_info); 263 observer->OnDomContentLoadedEventStart(new_timing, extra_info);
262 if (new_timing.load_event_start && !last_timing.load_event_start) 264 if (new_timing.load_event_start && !last_timing.load_event_start)
263 observer->OnLoadEventStart(new_timing, extra_info); 265 observer->OnLoadEventStart(new_timing, extra_info);
264 if (new_timing.first_layout && !last_timing.first_layout) 266 if (new_timing.first_layout && !last_timing.first_layout)
265 observer->OnFirstLayout(new_timing, extra_info); 267 observer->OnFirstLayout(new_timing, extra_info);
266 if (new_timing.first_paint && !last_timing.first_paint) 268 if (new_timing.first_paint && !last_timing.first_paint)
267 observer->OnFirstPaint(new_timing, extra_info); 269 observer->OnFirstPaint(new_timing, extra_info);
268 if (new_timing.first_text_paint && !last_timing.first_text_paint) 270 if (new_timing.first_text_paint && !last_timing.first_text_paint)
269 observer->OnFirstTextPaint(new_timing, extra_info); 271 observer->OnFirstTextPaint(new_timing, extra_info);
270 if (new_timing.first_image_paint && !last_timing.first_image_paint) 272 if (new_timing.first_image_paint && !last_timing.first_image_paint)
271 observer->OnFirstImagePaint(new_timing, extra_info); 273 observer->OnFirstImagePaint(new_timing, extra_info);
272 if (new_timing.first_contentful_paint && !last_timing.first_contentful_paint) 274 if (new_timing.first_contentful_paint && !last_timing.first_contentful_paint)
273 observer->OnFirstContentfulPaint(new_timing, extra_info); 275 observer->OnFirstContentfulPaint(new_timing, extra_info);
274 if (new_timing.first_meaningful_paint && !last_timing.first_meaningful_paint) 276 if (new_timing.first_meaningful_paint && !last_timing.first_meaningful_paint)
275 observer->OnFirstMeaningfulPaint(new_timing, extra_info); 277 observer->OnFirstMeaningfulPaint(new_timing, extra_info);
276 if (new_timing.parse_start && !last_timing.parse_start) 278 if (new_timing.parse_start && !last_timing.parse_start)
277 observer->OnParseStart(new_timing, extra_info); 279 observer->OnParseStart(new_timing, extra_info);
278 if (new_timing.parse_stop && !last_timing.parse_stop) 280 if (new_timing.parse_stop && !last_timing.parse_stop)
279 observer->OnParseStop(new_timing, extra_info); 281 observer->OnParseStop(new_timing, extra_info);
280 if (extra_info.metadata.behavior_flags != last_metadata.behavior_flags)
281 observer->OnLoadingBehaviorObserved(extra_info);
282 } 282 }
283 283
284 } // namespace 284 } // namespace
285 285
286 PageLoadTracker::PageLoadTracker( 286 PageLoadTracker::PageLoadTracker(
287 bool in_foreground, 287 bool in_foreground,
288 PageLoadMetricsEmbedderInterface* embedder_interface, 288 PageLoadMetricsEmbedderInterface* embedder_interface,
289 const GURL& currently_committed_url, 289 const GURL& currently_committed_url,
290 content::NavigationHandle* navigation_handle, 290 content::NavigationHandle* navigation_handle,
291 UserInitiatedInfo user_initiated_info, 291 UserInitiatedInfo user_initiated_info,
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 // user initiated. 693 // user initiated.
694 if (abort_type != ABORT_CLIENT_REDIRECT) 694 if (abort_type != ABORT_CLIENT_REDIRECT)
695 abort_user_initiated_info_ = user_initiated_info; 695 abort_user_initiated_info_ = user_initiated_info;
696 696
697 if (is_certainly_browser_timestamp) { 697 if (is_certainly_browser_timestamp) {
698 ClampBrowserTimestampIfInterProcessTimeTickSkew(&abort_time_); 698 ClampBrowserTimestampIfInterProcessTimeTickSkew(&abort_time_);
699 } 699 }
700 } 700 }
701 701
702 } // namespace page_load_metrics 702 } // namespace page_load_metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698