OLD | NEW |
---|---|
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 "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h" | 5 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 20 matching lines...) Expand all Loading... | |
31 : test_(test) {} | 31 : test_(test) {} |
32 | 32 |
33 bool IsNewTabPageUrl(const GURL& url) override { return false; } | 33 bool IsNewTabPageUrl(const GURL& url) override { return false; } |
34 | 34 |
35 // Forward the registration logic to the test class so that derived classes | 35 // Forward the registration logic to the test class so that derived classes |
36 // can override the logic there without depending on the embedder interface. | 36 // can override the logic there without depending on the embedder interface. |
37 void RegisterObservers(PageLoadTracker* tracker) override { | 37 void RegisterObservers(PageLoadTracker* tracker) override { |
38 test_->RegisterObservers(tracker); | 38 test_->RegisterObservers(tracker); |
39 } | 39 } |
40 | 40 |
41 std::unique_ptr<base::Timer> CreateTimer() override { | |
42 std::unique_ptr<WeakMockTimer> timer = base::MakeUnique<WeakMockTimer>(); | |
Charlie Harrison
2017/05/30 14:49:07
nit: usually base::MakeUnique is paired with auto:
Bryan McQuade
2017/05/30 15:30:22
done
| |
43 test_->SetMockTimer(timer->AsWeakPtr()); | |
44 return std::move(timer); | |
45 } | |
46 | |
41 private: | 47 private: |
42 PageLoadMetricsObserverTestHarness* test_; | 48 PageLoadMetricsObserverTestHarness* test_; |
43 | 49 |
44 DISALLOW_COPY_AND_ASSIGN(TestPageLoadMetricsEmbedderInterface); | 50 DISALLOW_COPY_AND_ASSIGN(TestPageLoadMetricsEmbedderInterface); |
45 }; | 51 }; |
46 | 52 |
47 } // namespace | 53 } // namespace |
48 | 54 |
49 PageLoadMetricsObserverTestHarness::PageLoadMetricsObserverTestHarness() | 55 PageLoadMetricsObserverTestHarness::PageLoadMetricsObserverTestHarness() |
50 : ChromeRenderViewHostTestHarness() {} | 56 : ChromeRenderViewHostTestHarness() {} |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
139 | 145 |
140 void PageLoadMetricsObserverTestHarness::SimulateTimingUpdate( | 146 void PageLoadMetricsObserverTestHarness::SimulateTimingUpdate( |
141 const mojom::PageLoadTiming& timing) { | 147 const mojom::PageLoadTiming& timing) { |
142 SimulateTimingAndMetadataUpdate(timing, mojom::PageLoadMetadata()); | 148 SimulateTimingAndMetadataUpdate(timing, mojom::PageLoadMetadata()); |
143 } | 149 } |
144 | 150 |
145 void PageLoadMetricsObserverTestHarness::SimulateTimingAndMetadataUpdate( | 151 void PageLoadMetricsObserverTestHarness::SimulateTimingAndMetadataUpdate( |
146 const mojom::PageLoadTiming& timing, | 152 const mojom::PageLoadTiming& timing, |
147 const mojom::PageLoadMetadata& metadata) { | 153 const mojom::PageLoadMetadata& metadata) { |
148 observer_->OnTimingUpdated(web_contents()->GetMainFrame(), timing, metadata); | 154 observer_->OnTimingUpdated(web_contents()->GetMainFrame(), timing, metadata); |
155 // If sending the timing update caused the PageLoadMetricsUpdateDispatcher to | |
156 // schedule a buffering timer, then fire it now so metrics are dispatched to | |
157 // observers. | |
158 base::MockTimer* mock_timer = GetMockTimer(); | |
159 if (mock_timer && mock_timer->IsRunning()) | |
160 mock_timer->Fire(); | |
149 } | 161 } |
150 | 162 |
151 void PageLoadMetricsObserverTestHarness::SimulateStartedResource( | 163 void PageLoadMetricsObserverTestHarness::SimulateStartedResource( |
152 const ExtraRequestStartInfo& info) { | 164 const ExtraRequestStartInfo& info) { |
153 observer_->OnRequestStarted(content::GlobalRequestID(), info.resource_type, | 165 observer_->OnRequestStarted(content::GlobalRequestID(), info.resource_type, |
154 base::TimeTicks::Now()); | 166 base::TimeTicks::Now()); |
155 } | 167 } |
156 | 168 |
157 void PageLoadMetricsObserverTestHarness::SimulateLoadedResource( | 169 void PageLoadMetricsObserverTestHarness::SimulateLoadedResource( |
158 const ExtraRequestCompleteInfo& info) { | 170 const ExtraRequestCompleteInfo& info) { |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
199 } | 211 } |
200 | 212 |
201 void PageLoadMetricsObserverTestHarness::NavigateWithPageTransitionAndCommit( | 213 void PageLoadMetricsObserverTestHarness::NavigateWithPageTransitionAndCommit( |
202 const GURL& url, | 214 const GURL& url, |
203 ui::PageTransition transition) { | 215 ui::PageTransition transition) { |
204 controller().LoadURL(url, content::Referrer(), transition, std::string()); | 216 controller().LoadURL(url, content::Referrer(), transition, std::string()); |
205 content::WebContentsTester::For(web_contents())->CommitPendingNavigation(); | 217 content::WebContentsTester::For(web_contents())->CommitPendingNavigation(); |
206 } | 218 } |
207 | 219 |
208 } // namespace page_load_metrics | 220 } // namespace page_load_metrics |
OLD | NEW |