| 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..bd2bf6ec8f5fc9fcaaaae05664b269adc61021e8 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<PageLoadTiming> initial_timing)
|
| : ipc_sender_(ipc_sender),
|
| routing_id_(routing_id),
|
| timer_(std::move(timer)),
|
| - last_timing_(initial_timing),
|
| + last_timing_(std::move(initial_timing)),
|
| metadata_(PageLoadMetadata()) {
|
| - if (!initial_timing.IsEmpty()) {
|
| + if (!IsEmpty(*last_timing_)) {
|
| // Send an initial IPC relatively early to help track aborts.
|
| EnsureSendTimer(kInitialTimerDelayMillis);
|
| }
|
| @@ -52,19 +52,19 @@ void PageTimingMetricsSender::DidObserveLoadingBehavior(
|
| EnsureSendTimer(kTimerDelayMillis);
|
| }
|
|
|
| -void PageTimingMetricsSender::Send(const PageLoadTiming& timing) {
|
| - if (timing == last_timing_)
|
| +void PageTimingMetricsSender::Send(mojo::StructPtr<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 +77,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
|
|
|