OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/resource_prefetch_predictor
_page_load_metrics_observer.h" | 5 #include "chrome/browser/page_load_metrics/observers/resource_prefetch_predictor
_page_load_metrics_observer.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_
test_harness.h" | 10 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_
test_harness.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 class ResourcePrefetchPredictorPageLoadMetricsObserverTest | 31 class ResourcePrefetchPredictorPageLoadMetricsObserverTest |
32 : public page_load_metrics::PageLoadMetricsObserverTestHarness { | 32 : public page_load_metrics::PageLoadMetricsObserverTestHarness { |
33 protected: | 33 protected: |
34 void SetUp() override { | 34 void SetUp() override { |
35 page_load_metrics::PageLoadMetricsObserverTestHarness::SetUp(); | 35 page_load_metrics::PageLoadMetricsObserverTestHarness::SetUp(); |
36 predictors::LoadingPredictorConfig config; | 36 predictors::LoadingPredictorConfig config; |
37 config.mode = predictors::LoadingPredictorConfig::LEARNING; | 37 config.mode = predictors::LoadingPredictorConfig::LEARNING; |
38 predictor_ = | 38 predictor_ = |
39 base::MakeUnique<testing::StrictMock<MockResourcePrefetchPredictor>>( | 39 base::MakeUnique<testing::StrictMock<MockResourcePrefetchPredictor>>( |
40 config, profile()); | 40 config, profile()); |
| 41 page_load_metrics::InitPageLoadTimingForTest(&timing_); |
41 timing_.navigation_start = base::Time::FromDoubleT(1); | 42 timing_.navigation_start = base::Time::FromDoubleT(1); |
42 timing_.paint_timing.first_paint = base::TimeDelta::FromSeconds(2); | 43 timing_.paint_timing->first_paint = base::TimeDelta::FromSeconds(2); |
43 timing_.paint_timing.first_contentful_paint = | 44 timing_.paint_timing->first_contentful_paint = |
44 base::TimeDelta::FromSeconds(3); | 45 base::TimeDelta::FromSeconds(3); |
45 timing_.paint_timing.first_meaningful_paint = | 46 timing_.paint_timing->first_meaningful_paint = |
46 base::TimeDelta::FromSeconds(4); | 47 base::TimeDelta::FromSeconds(4); |
47 PopulateRequiredTimingFields(&timing_); | 48 PopulateRequiredTimingFields(&timing_); |
48 } | 49 } |
49 | 50 |
50 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override { | 51 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override { |
51 tracker->AddObserver( | 52 tracker->AddObserver( |
52 base::MakeUnique<ResourcePrefetchPredictorPageLoadMetricsObserver>( | 53 base::MakeUnique<ResourcePrefetchPredictorPageLoadMetricsObserver>( |
53 predictor_.get(), web_contents())); | 54 predictor_.get(), web_contents())); |
54 } | 55 } |
55 | 56 |
56 std::unique_ptr<testing::StrictMock<MockResourcePrefetchPredictor>> | 57 std::unique_ptr<testing::StrictMock<MockResourcePrefetchPredictor>> |
57 predictor_; | 58 predictor_; |
58 page_load_metrics::PageLoadTiming timing_; | 59 page_load_metrics::mojom::PageLoadTiming timing_; |
59 }; | 60 }; |
60 | 61 |
61 TEST_F(ResourcePrefetchPredictorPageLoadMetricsObserverTest, | 62 TEST_F(ResourcePrefetchPredictorPageLoadMetricsObserverTest, |
62 PrefetchableIsRecorded) { | 63 PrefetchableIsRecorded) { |
63 const GURL main_frame_url("https://www.google.com"); | 64 const GURL main_frame_url("https://www.google.com"); |
64 EXPECT_CALL(*predictor_.get(), IsUrlPrefetchable(main_frame_url)) | 65 EXPECT_CALL(*predictor_.get(), IsUrlPrefetchable(main_frame_url)) |
65 .WillOnce(testing::Return(true)); | 66 .WillOnce(testing::Return(true)); |
66 | 67 |
67 NavigateAndCommit(main_frame_url); | 68 NavigateAndCommit(main_frame_url); |
68 SimulateTimingUpdate(timing_); | 69 SimulateTimingUpdate(timing_); |
(...skipping 11 matching lines...) Expand all Loading... |
80 .WillOnce(testing::Return(false)); | 81 .WillOnce(testing::Return(false)); |
81 | 82 |
82 NavigateAndCommit(main_frame_url); | 83 NavigateAndCommit(main_frame_url); |
83 SimulateTimingUpdate(timing_); | 84 SimulateTimingUpdate(timing_); |
84 | 85 |
85 histogram_tester().ExpectTotalCount( | 86 histogram_tester().ExpectTotalCount( |
86 internal::kHistogramResourcePrefetchPredictorFirstContentfulPaint, 0); | 87 internal::kHistogramResourcePrefetchPredictorFirstContentfulPaint, 0); |
87 histogram_tester().ExpectTotalCount( | 88 histogram_tester().ExpectTotalCount( |
88 internal::kHistogramResourcePrefetchPredictorFirstMeaningfulPaint, 0); | 89 internal::kHistogramResourcePrefetchPredictorFirstMeaningfulPaint, 0); |
89 } | 90 } |
OLD | NEW |