Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Side by Side Diff: chrome/browser/page_load_metrics/observers/resource_prefetch_predictor_page_load_metrics_observer_unittest.cc

Issue 2755093002: predictors: Mark before_first_contentful_paint for resources fetched before fcp. (Closed)
Patch Set: before_first_contentful_paint browser_test Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h" 8 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h"
9 #include "chrome/browser/predictors/resource_prefetch_common.h" 9 #include "chrome/browser/predictors/resource_prefetch_common.h"
10 #include "chrome/browser/predictors/resource_prefetch_predictor.h" 10 #include "chrome/browser/predictors/resource_prefetch_predictor.h"
11 #include "chrome/browser/sessions/session_tab_helper.h"
11 #include "chrome/test/base/testing_profile.h" 12 #include "chrome/test/base/testing_profile.h"
12 #include "content/public/test/test_browser_thread_bundle.h" 13 #include "content/public/test/test_browser_thread_bundle.h"
13 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
14 15
15 using predictors::ResourcePrefetchPredictor; 16 using predictors::ResourcePrefetchPredictor;
16 17
17 class MockResourcePrefetchPredictor : public ResourcePrefetchPredictor { 18 class MockResourcePrefetchPredictor : public ResourcePrefetchPredictor {
18 public: 19 public:
19 MockResourcePrefetchPredictor( 20 MockResourcePrefetchPredictor(
20 const predictors::ResourcePrefetchPredictorConfig& config, 21 const predictors::ResourcePrefetchPredictorConfig& config,
(...skipping 18 matching lines...) Expand all
39 timing_.navigation_start = base::Time::FromDoubleT(1); 40 timing_.navigation_start = base::Time::FromDoubleT(1);
40 timing_.paint_timing.first_paint = base::TimeDelta::FromSeconds(2); 41 timing_.paint_timing.first_paint = base::TimeDelta::FromSeconds(2);
41 timing_.paint_timing.first_contentful_paint = 42 timing_.paint_timing.first_contentful_paint =
42 base::TimeDelta::FromSeconds(3); 43 base::TimeDelta::FromSeconds(3);
43 timing_.paint_timing.first_meaningful_paint = 44 timing_.paint_timing.first_meaningful_paint =
44 base::TimeDelta::FromSeconds(4); 45 base::TimeDelta::FromSeconds(4);
45 PopulateRequiredTimingFields(&timing_); 46 PopulateRequiredTimingFields(&timing_);
46 } 47 }
47 48
48 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override { 49 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override {
50 // SessionTabHelper::CreateForWebContents(web_contents());
alexilin 2017/04/21 13:49:05 Do you still need this?
trevordixon 2017/04/25 12:46:09 Nope.
alexilin 2017/04/25 18:42:21 Nit: remove #include "chrome/browser/sessions/ses
49 tracker->AddObserver( 51 tracker->AddObserver(
50 base::MakeUnique<ResourcePrefetchPredictorPageLoadMetricsObserver>( 52 base::MakeUnique<ResourcePrefetchPredictorPageLoadMetricsObserver>(
51 predictor_.get())); 53 predictor_.get(), web_contents()));
52 } 54 }
53 55
54 std::unique_ptr<testing::StrictMock<MockResourcePrefetchPredictor>> 56 std::unique_ptr<testing::StrictMock<MockResourcePrefetchPredictor>>
55 predictor_; 57 predictor_;
56 page_load_metrics::PageLoadTiming timing_; 58 page_load_metrics::PageLoadTiming timing_;
57 }; 59 };
58 60
59 TEST_F(ResourcePrefetchPredictorPageLoadMetricsObserverTest, 61 TEST_F(ResourcePrefetchPredictorPageLoadMetricsObserverTest,
60 PrefetchableIsRecorded) { 62 PrefetchableIsRecorded) {
61 const GURL main_frame_url("https://www.google.com"); 63 const GURL main_frame_url("https://www.google.com");
(...skipping 16 matching lines...) Expand all
78 .WillOnce(testing::Return(false)); 80 .WillOnce(testing::Return(false));
79 81
80 NavigateAndCommit(main_frame_url); 82 NavigateAndCommit(main_frame_url);
81 SimulateTimingUpdate(timing_); 83 SimulateTimingUpdate(timing_);
82 84
83 histogram_tester().ExpectTotalCount( 85 histogram_tester().ExpectTotalCount(
84 internal::kHistogramResourcePrefetchPredictorFirstContentfulPaint, 0); 86 internal::kHistogramResourcePrefetchPredictorFirstContentfulPaint, 0);
85 histogram_tester().ExpectTotalCount( 87 histogram_tester().ExpectTotalCount(
86 internal::kHistogramResourcePrefetchPredictorFirstMeaningfulPaint, 0); 88 internal::kHistogramResourcePrefetchPredictorFirstMeaningfulPaint, 0);
87 } 89 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698