| Index: components/page_load_metrics/renderer/metrics_render_frame_observer.cc
|
| diff --git a/components/page_load_metrics/renderer/metrics_render_frame_observer.cc b/components/page_load_metrics/renderer/metrics_render_frame_observer.cc
|
| index 9f923939a8ec3771b32f722a652a8ae35f7a4dcb..e3066f836a158901e0586a036cedc8760c12d2ac 100644
|
| --- a/components/page_load_metrics/renderer/metrics_render_frame_observer.cc
|
| +++ b/components/page_load_metrics/renderer/metrics_render_frame_observer.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/timer/timer.h"
|
| #include "components/page_load_metrics/renderer/page_timing_metrics_sender.h"
|
| #include "content/public/renderer/render_frame.h"
|
| +#include "services/shell/public/cpp/interface_provider.h"
|
| #include "third_party/WebKit/public/platform/WebURLResponse.h"
|
| #include "third_party/WebKit/public/web/WebDataSource.h"
|
| #include "third_party/WebKit/public/web/WebDocument.h"
|
| @@ -32,7 +33,16 @@ base::TimeDelta ClampDelta(double event, double start) {
|
|
|
| MetricsRenderFrameObserver::MetricsRenderFrameObserver(
|
| content::RenderFrame* render_frame)
|
| - : content::RenderFrameObserver(render_frame) {}
|
| + : content::RenderFrameObserver(render_frame) {
|
| + render_frame->GetRemoteInterfaces()->GetInterface(
|
| + mojo::GetProxy(&page_load_metrics_));
|
| +}
|
| +
|
| +MetricsRenderFrameObserver::MetricsRenderFrameObserver(
|
| + content::RenderFrame* render_frame,
|
| + page_load_metrics::mojom::PageLoadMetricsPtr page_load_metrics)
|
| + : content::RenderFrameObserver(render_frame),
|
| + page_load_metrics_(std::move(page_load_metrics)) {}
|
|
|
| MetricsRenderFrameObserver::~MetricsRenderFrameObserver() {}
|
|
|
| @@ -67,8 +77,8 @@ void MetricsRenderFrameObserver::DidCommitProvisionalLoad(
|
| if (ShouldSendMetrics()) {
|
| PageLoadTiming timing(GetTiming());
|
| DCHECK(!timing.navigation_start.is_null());
|
| - page_timing_metrics_sender_.reset(
|
| - new PageTimingMetricsSender(this, routing_id(), CreateTimer(), timing));
|
| + page_timing_metrics_sender_.reset(new PageTimingMetricsSender(
|
| + page_load_metrics_.get(), CreateTimer(), timing));
|
| }
|
| }
|
|
|
|
|