Index: chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc |
diff --git a/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc b/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc |
index e016bb3251445b98216fb664624a3b9a22bd3572..2e5361c743c8b3122ddb6b62fdeb8cbc9aa09f8e 100644 |
--- a/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc |
+++ b/chrome/renderer/page_load_metrics/page_timing_metrics_sender.cc |
@@ -23,13 +23,13 @@ PageTimingMetricsSender::PageTimingMetricsSender( |
IPC::Sender* ipc_sender, |
int routing_id, |
std::unique_ptr<base::Timer> timer, |
- const PageLoadTiming& initial_timing) |
+ mojo::StructPtr<mojom::PageLoadTiming> initial_timing) |
: ipc_sender_(ipc_sender), |
routing_id_(routing_id), |
timer_(std::move(timer)), |
- last_timing_(initial_timing), |
- metadata_(PageLoadMetadata()) { |
- if (!initial_timing.IsEmpty()) { |
+ last_timing_(std::move(initial_timing)), |
+ metadata_(mojom::PageLoadMetadata()) { |
+ if (!IsEmpty(*last_timing_)) { |
// Send an initial IPC relatively early to help track aborts. |
EnsureSendTimer(kInitialTimerDelayMillis); |
} |
@@ -52,19 +52,20 @@ void PageTimingMetricsSender::DidObserveLoadingBehavior( |
EnsureSendTimer(kTimerDelayMillis); |
} |
-void PageTimingMetricsSender::Send(const PageLoadTiming& timing) { |
- if (timing == last_timing_) |
+void PageTimingMetricsSender::Send( |
+ mojo::StructPtr<mojom::PageLoadTiming> timing) { |
+ if (last_timing_->Equals(*timing)) |
return; |
// We want to make sure that each PageTimingMetricsSender is associated |
// with a distinct page navigation. Because we reset the object on commit, |
// we can trash last_timing_ on a provisional load before SendNow() fires. |
- if (!last_timing_.navigation_start.is_null() && |
- last_timing_.navigation_start != timing.navigation_start) { |
+ if (!last_timing_->navigation_start.is_null() && |
+ last_timing_->navigation_start != timing->navigation_start) { |
return; |
} |
- last_timing_ = timing; |
+ last_timing_ = std::move(timing); |
EnsureSendTimer(kTimerDelayMillis); |
} |
@@ -77,7 +78,7 @@ void PageTimingMetricsSender::EnsureSendTimer(int delay) { |
void PageTimingMetricsSender::SendNow() { |
ipc_sender_->Send(new PageLoadMetricsMsg_TimingUpdated( |
- routing_id_, last_timing_, metadata_)); |
+ routing_id_, *last_timing_, metadata_)); |
} |
} // namespace page_load_metrics |