| Index: chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
|
| diff --git a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
|
| index bc777a07be34d4562fef85557e98d1068d3adab8..301b4fcbfaebad739d90e87a08f03b7d3adf852d 100644
|
| --- a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
|
| +++ b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
|
| @@ -38,6 +38,13 @@ class TestPageLoadMetricsEmbedderInterface
|
| test_->RegisterObservers(tracker);
|
| }
|
|
|
| + std::unique_ptr<base::Timer> CreateTimer() override {
|
| + std::unique_ptr<PageLoadMetricsObserverTestHarness::WeakMockTimer> timer =
|
| + base::MakeUnique<PageLoadMetricsObserverTestHarness::WeakMockTimer>();
|
| + test_->SetMostRecentTimer(timer->AsWeakPtr());
|
| + return std::move(timer);
|
| + }
|
| +
|
| private:
|
| PageLoadMetricsObserverTestHarness* test_;
|
|
|
| @@ -146,6 +153,12 @@ void PageLoadMetricsObserverTestHarness::SimulateTimingAndMetadataUpdate(
|
| const mojom::PageLoadTiming& timing,
|
| const mojom::PageLoadMetadata& metadata) {
|
| observer_->OnTimingUpdated(web_contents()->GetMainFrame(), timing, metadata);
|
| + // If sending the timing update caused the PageLoadMetricsUpdateDispatcher to
|
| + // schedule a buffering timer, then fire it now so metrics are dispatched to
|
| + // observers.
|
| + base::MockTimer* mock_timer = GetMostRecentTimer();
|
| + if (mock_timer && mock_timer->IsRunning())
|
| + mock_timer->Fire();
|
| }
|
|
|
| void PageLoadMetricsObserverTestHarness::SimulateStartedResource(
|
|
|