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

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

Issue 2132603002: [page_load_metrics] Add a NavigationThrottle for richer abort metrics (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nasko@ nits Created 4 years, 4 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 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/aborts_page_load_metrics_ob server.h" 5 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob server.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 9
10 class AbortsPageLoadMetricsObserverTest 10 class AbortsPageLoadMetricsObserverTest
11 : public page_load_metrics::PageLoadMetricsObserverTestHarness { 11 : public page_load_metrics::PageLoadMetricsObserverTestHarness {
12 protected: 12 protected:
13 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override { 13 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override {
14 tracker->AddObserver(base::WrapUnique(new AbortsPageLoadMetricsObserver())); 14 tracker->AddObserver(base::WrapUnique(new AbortsPageLoadMetricsObserver()));
15 } 15 }
16 16
17 void SimulateTimingWithoutPaint() { 17 void SimulateTimingWithoutPaint() {
18 page_load_metrics::PageLoadTiming timing; 18 page_load_metrics::PageLoadTiming timing;
19 timing.navigation_start = base::Time::FromDoubleT(1); 19 timing.navigation_start = base::Time::FromDoubleT(1);
20 SimulateTimingUpdate(timing); 20 SimulateTimingUpdate(timing);
21 } 21 }
22 }; 22 };
23 23
24 TEST_F(AbortsPageLoadMetricsObserverTest, UnknownNavigationBeforeCommit) { 24 TEST_F(AbortsPageLoadMetricsObserverTest, NewNavigationBeforeCommit) {
25 StartNavigation(GURL("https://www.google.com")); 25 StartNavigation(GURL("https://www.google.com"));
26 // Simulate the user performing another navigation before commit. 26 // Simulate the user performing another navigation before commit.
27 NavigateAndCommit(GURL("https://www.example.com")); 27 NavigateAndCommit(GURL("https://www.example.com"));
28 histogram_tester().ExpectTotalCount( 28 histogram_tester().ExpectTotalCount(
29 internal::kHistogramAbortUnknownNavigationBeforeCommit, 1); 29 internal::kHistogramAbortNewNavigationBeforeCommit, 1);
30 }
31
32 TEST_F(AbortsPageLoadMetricsObserverTest, ReloadBeforeCommit) {
33 StartNavigation(GURL("https://www.google.com"));
34 // Simulate the user performing another navigation before commit.
35 NavigateWithPageTransitionAndCommit(GURL("https://www.example.com"),
36 ui::PAGE_TRANSITION_RELOAD);
37 histogram_tester().ExpectTotalCount(
38 internal::kHistogramAbortReloadBeforeCommit, 1);
39 }
40
41 TEST_F(AbortsPageLoadMetricsObserverTest, ForwardBackBeforeCommit) {
42 StartNavigation(GURL("https://www.google.com"));
43 // Simulate the user performing another navigation before commit.
44 NavigateWithPageTransitionAndCommit(GURL("https://www.example.com"),
45 ui::PAGE_TRANSITION_FORWARD_BACK);
46 histogram_tester().ExpectTotalCount(
47 internal::kHistogramAbortForwardBackBeforeCommit, 1);
30 } 48 }
31 49
32 TEST_F(AbortsPageLoadMetricsObserverTest, 50 TEST_F(AbortsPageLoadMetricsObserverTest,
33 UnknownProvisionalNavigationBeforeCommit) { 51 NewProvisionalNavigationBeforeCommit) {
34 StartNavigation(GURL("https://www.google.com")); 52 StartNavigation(GURL("https://www.google.com"));
35 StartNavigation(GURL("https://www.example.com")); 53 StartNavigation(GURL("https://www.example.com"));
36 histogram_tester().ExpectTotalCount( 54 histogram_tester().ExpectTotalCount(
37 internal::kHistogramAbortUnknownNavigationBeforeCommit, 1); 55 internal::kHistogramAbortNewNavigationBeforeCommit, 1);
38 } 56 }
39 57
40 TEST_F(AbortsPageLoadMetricsObserverTest, 58 TEST_F(AbortsPageLoadMetricsObserverTest,
41 UnknownNavigationBeforeCommitNonTrackedPageLoad) { 59 NewNavigationBeforeCommitNonTrackedPageLoad) {
42 StartNavigation(GURL("https://www.google.com")); 60 StartNavigation(GURL("https://www.google.com"));
43 // Simulate the user performing another navigation before commit. Navigate to 61 // Simulate the user performing another navigation before commit. Navigate to
44 // an untracked URL, to verify that we still log abort metrics even if the new 62 // an untracked URL, to verify that we still log abort metrics even if the new
45 // navigation isn't tracked. 63 // navigation isn't tracked.
46 NavigateAndCommit(GURL("about:blank")); 64 NavigateAndCommit(GURL("about:blank"));
47 histogram_tester().ExpectTotalCount( 65 histogram_tester().ExpectTotalCount(
48 internal::kHistogramAbortUnknownNavigationBeforeCommit, 1); 66 internal::kHistogramAbortNewNavigationBeforeCommit, 1);
49 } 67 }
50 68
51 TEST_F(AbortsPageLoadMetricsObserverTest, NewNavigationBeforePaint) { 69 TEST_F(AbortsPageLoadMetricsObserverTest, NewNavigationBeforePaint) {
52 NavigateAndCommit(GURL("https://www.google.com")); 70 NavigateAndCommit(GURL("https://www.google.com"));
53 SimulateTimingWithoutPaint(); 71 SimulateTimingWithoutPaint();
54 // Simulate the user performing another navigation before paint. 72 // Simulate the user performing another navigation before paint.
55 NavigateAndCommit(GURL("https://www.example.com")); 73 NavigateAndCommit(GURL("https://www.example.com"));
56 histogram_tester().ExpectTotalCount( 74 histogram_tester().ExpectTotalCount(
57 internal::kHistogramAbortNewNavigationBeforePaint, 1); 75 internal::kHistogramAbortNewNavigationBeforePaint, 1);
58 histogram_tester().ExpectTotalCount( 76 histogram_tester().ExpectTotalCount(
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 229
212 NavigateAndCommit(GURL("https://www.example.com")); 230 NavigateAndCommit(GURL("https://www.example.com"));
213 231
214 base::HistogramTester::CountsMap counts_map = 232 base::HistogramTester::CountsMap counts_map =
215 histogram_tester().GetTotalCountsForPrefix( 233 histogram_tester().GetTotalCountsForPrefix(
216 internal::kHistogramAbortNewNavigationBeforePaint); 234 internal::kHistogramAbortNewNavigationBeforePaint);
217 235
218 EXPECT_TRUE(counts_map.empty() || 236 EXPECT_TRUE(counts_map.empty() ||
219 (counts_map.size() == 1 && counts_map.begin()->second == 1)); 237 (counts_map.size() == 1 && counts_map.begin()->second == 1));
220 } 238 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698