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

Side by Side Diff: components/page_load_metrics/browser/metrics_web_contents_observer.cc

Issue 1953673003: Log an immediate variant of FirstContentfulPaint (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add tests Created 4 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 "components/page_load_metrics/browser/metrics_web_contents_observer.h" 5 #include "components/page_load_metrics/browser/metrics_web_contents_observer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 timing_.navigation_start.is_null() || 345 timing_.navigation_start.is_null() ||
346 timing_.navigation_start == new_timing.navigation_start; 346 timing_.navigation_start == new_timing.navigation_start;
347 // Ensure flags sent previously are still present in the new metadata fields. 347 // Ensure flags sent previously are still present in the new metadata fields.
348 bool valid_behavior_descendent = 348 bool valid_behavior_descendent =
349 (metadata_.behavior_flags & new_metadata.behavior_flags) == 349 (metadata_.behavior_flags & new_metadata.behavior_flags) ==
350 metadata_.behavior_flags; 350 metadata_.behavior_flags;
351 if (IsValidPageLoadTiming(new_timing) && valid_timing_descendent && 351 if (IsValidPageLoadTiming(new_timing) && valid_timing_descendent &&
352 valid_behavior_descendent) { 352 valid_behavior_descendent) {
353 timing_ = new_timing; 353 timing_ = new_timing;
354 metadata_ = new_metadata; 354 metadata_ = new_metadata;
355 const PageLoadExtraInfo info = GetPageLoadMetricsInfo();
356 for (const auto& observer : observers_) {
357 observer->OnTimingUpdate(timing_, info);
358 }
355 return true; 359 return true;
356 } 360 }
357 return false; 361 return false;
358 } 362 }
359 363
360 void PageLoadTracker::set_renderer_tracked(bool renderer_tracked) { 364 void PageLoadTracker::set_renderer_tracked(bool renderer_tracked) {
361 renderer_tracked_ = renderer_tracked; 365 renderer_tracked_ = renderer_tracked;
362 } 366 }
363 367
364 void PageLoadTracker::AddObserver( 368 void PageLoadTracker::AddObserver(
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
739 743
740 if (!committed_load_->UpdateTiming(timing, metadata)) { 744 if (!committed_load_->UpdateTiming(timing, metadata)) {
741 // If the page load tracker cannot update its timing, something is wrong 745 // If the page load tracker cannot update its timing, something is wrong
742 // with the IPC (it's from another load, or it's invalid in some other way). 746 // with the IPC (it's from another load, or it's invalid in some other way).
743 // We expect this to be a rare occurrence. 747 // We expect this to be a rare occurrence.
744 RecordInternalError(ERR_BAD_TIMING_IPC); 748 RecordInternalError(ERR_BAD_TIMING_IPC);
745 } 749 }
746 } 750 }
747 751
748 } // namespace page_load_metrics 752 } // namespace page_load_metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698