| OLD | NEW |
| 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 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 void RecordAppBackgroundPageLoadCompleted(bool completed_after_background) { | 247 void RecordAppBackgroundPageLoadCompleted(bool completed_after_background) { |
| 248 UMA_HISTOGRAM_BOOLEAN(internal::kPageLoadCompletedAfterAppBackground, | 248 UMA_HISTOGRAM_BOOLEAN(internal::kPageLoadCompletedAfterAppBackground, |
| 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 (extra_info.metadata.behavior_flags != last_metadata.behavior_flags) |
| 258 observer->OnLoadingBehaviorObserved(extra_info); |
| 257 if (last_timing != new_timing) | 259 if (last_timing != new_timing) |
| 258 observer->OnTimingUpdate(new_timing, extra_info); | 260 observer->OnTimingUpdate(new_timing, 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 Loading... |
| 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 |
| OLD | NEW |