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

Side by Side Diff: components/page_load_metrics/renderer/metrics_render_frame_observer.cc

Issue 1857443002: Plumb experiment flags through page_load_metrics and add a new observer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@page_load_experiments
Patch Set: remove todo and fix up a test script Created 4 years, 8 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/renderer/metrics_render_frame_observer.h" 5 #include "components/page_load_metrics/renderer/metrics_render_frame_observer.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "base/timer/timer.h" 10 #include "base/timer/timer.h"
(...skipping 21 matching lines...) Expand all
32 MetricsRenderFrameObserver::MetricsRenderFrameObserver( 32 MetricsRenderFrameObserver::MetricsRenderFrameObserver(
33 content::RenderFrame* render_frame) 33 content::RenderFrame* render_frame)
34 : content::RenderFrameObserver(render_frame) {} 34 : content::RenderFrameObserver(render_frame) {}
35 35
36 MetricsRenderFrameObserver::~MetricsRenderFrameObserver() {} 36 MetricsRenderFrameObserver::~MetricsRenderFrameObserver() {}
37 37
38 void MetricsRenderFrameObserver::DidChangePerformanceTiming() { 38 void MetricsRenderFrameObserver::DidChangePerformanceTiming() {
39 SendMetrics(); 39 SendMetrics();
40 } 40 }
41 41
42 void MetricsRenderFrameObserver::DidObserveLoadingBehavior(
43 blink::WebLoadingBehaviorFlag behavior) {
44 DCHECK(page_timing_metrics_sender_);
45 page_timing_metrics_sender_->DidObserveLoadingBehavior(behavior);
46 }
47
42 void MetricsRenderFrameObserver::DidCommitProvisionalLoad( 48 void MetricsRenderFrameObserver::DidCommitProvisionalLoad(
43 bool is_new_navigation, 49 bool is_new_navigation,
44 bool is_same_page_navigation) { 50 bool is_same_page_navigation) {
45 // Same-page navigations (e.g. an in-document navigation from a fragment 51 // Same-page navigations (e.g. an in-document navigation from a fragment
46 // link) aren't full page loads, since they don't go to network to load the 52 // link) aren't full page loads, since they don't go to network to load the
47 // main HTML resource. DidStartProvisionalLoad doesn't get invoked for same 53 // main HTML resource. DidStartProvisionalLoad doesn't get invoked for same
48 // page navigations, so we may still have an active 54 // page navigations, so we may still have an active
49 // page_timing_metrics_sender_ at this point. 55 // page_timing_metrics_sender_ at this point.
50 if (is_same_page_navigation) 56 if (is_same_page_navigation)
51 return; 57 return;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 return make_scoped_ptr(new base::OneShotTimer); 140 return make_scoped_ptr(new base::OneShotTimer);
135 } 141 }
136 142
137 bool MetricsRenderFrameObserver::HasNoRenderFrame() const { 143 bool MetricsRenderFrameObserver::HasNoRenderFrame() const {
138 bool no_frame = !render_frame() || !render_frame()->GetWebFrame(); 144 bool no_frame = !render_frame() || !render_frame()->GetWebFrame();
139 DCHECK(!no_frame); 145 DCHECK(!no_frame);
140 return no_frame; 146 return no_frame;
141 } 147 }
142 148
143 } // namespace page_load_metrics 149 } // namespace page_load_metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698