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

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: clean up unit tests 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::DidUseExperiment(
43 blink::WebExperimentData data) {
44 DCHECK(page_timing_metrics_sender_);
45 page_timing_metrics_sender_->DidUseExperiment(data);
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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 return make_scoped_ptr(new base::OneShotTimer); 133 return make_scoped_ptr(new base::OneShotTimer);
128 } 134 }
129 135
130 bool MetricsRenderFrameObserver::HasNoRenderFrame() const { 136 bool MetricsRenderFrameObserver::HasNoRenderFrame() const {
131 bool no_frame = !render_frame() || !render_frame()->GetWebFrame(); 137 bool no_frame = !render_frame() || !render_frame()->GetWebFrame();
132 DCHECK(!no_frame); 138 DCHECK(!no_frame);
133 return no_frame; 139 return no_frame;
134 } 140 }
135 141
136 } // namespace page_load_metrics 142 } // namespace page_load_metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698