Chromium Code Reviews| 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/from_gws_page_load_metrics_ observer.h" | 5 #include "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_ observer.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h" | 9 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h" |
| 10 #include "components/page_load_metrics/browser/page_load_metrics_util.h" | 10 #include "components/page_load_metrics/browser/page_load_metrics_util.h" |
| (...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 667 NavigateAndCommit(GURL("https://example.test")); | 667 NavigateAndCommit(GURL("https://example.test")); |
| 668 SimulateTimingWithFirstPaint(); | 668 SimulateTimingWithFirstPaint(); |
| 669 // Simulate user interaction. | 669 // Simulate user interaction. |
| 670 SimulateMouseEvent(); | 670 SimulateMouseEvent(); |
| 671 // Simulate closing the tab. | 671 // Simulate closing the tab. |
| 672 DeleteContents(); | 672 DeleteContents(); |
| 673 histogram_tester().ExpectTotalCount( | 673 histogram_tester().ExpectTotalCount( |
| 674 internal::kHistogramFromGWSAbortCloseBeforeInteraction, 0); | 674 internal::kHistogramFromGWSAbortCloseBeforeInteraction, 0); |
| 675 } | 675 } |
| 676 | 676 |
| 677 TEST_F(FromGWSPageLoadMetricsObserverTest, Intent) { | |
| 678 NavigateAndCommit(GURL(kGoogleSearchResultsUrl)); | |
| 679 NavigateAndCommit(GURL("intent://en.m.wikipedia.org/wiki/Test")); | |
| 680 SimulateTimingWithFirstPaint(); | |
| 681 // Simulate closing the tab. | |
| 682 DeleteContents(); | |
| 683 histogram_tester().ExpectTotalCount( | |
| 684 internal::kHistogramFromGWSAbortCloseBeforeInteraction, 0); | |
| 685 } | |
| 686 | |
| 677 TEST_F(FromGWSPageLoadMetricsLoggerTest, IsGoogleSearchHostname) { | 687 TEST_F(FromGWSPageLoadMetricsLoggerTest, IsGoogleSearchHostname) { |
| 678 struct { | 688 struct { |
| 679 bool expected_result; | 689 bool expected_result; |
| 680 const char* url; | 690 const char* url; |
| 681 } test_cases[] = { | 691 } test_cases[] = { |
| 682 {true, "www.google.com"}, | 692 {true, "www.google.com"}, |
| 683 {true, "www.google.co.uk"}, | 693 {true, "www.google.co.uk"}, |
| 684 {true, "www.google.co.in"}, | 694 {true, "www.google.co.in"}, |
| 685 {false, "other.google.com"}, | 695 {false, "other.google.com"}, |
| 686 {false, "other.www.google.com"}, | 696 {false, "other.www.google.com"}, |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 823 for (const auto& test : test_cases) { | 833 for (const auto& test : test_cases) { |
| 824 EXPECT_EQ(test.expected_result, | 834 EXPECT_EQ(test.expected_result, |
| 825 FromGWSPageLoadMetricsLogger::QueryContainsComponentPrefix( | 835 FromGWSPageLoadMetricsLogger::QueryContainsComponentPrefix( |
| 826 test.query, test.component)) | 836 test.query, test.component)) |
| 827 << "For query: " << test.query << " with component: " << test.component; | 837 << "For query: " << test.query << " with component: " << test.component; |
| 828 } | 838 } |
| 829 } | 839 } |
| 830 | 840 |
| 831 TEST_F(FromGWSPageLoadMetricsLoggerTest, Basic) { | 841 TEST_F(FromGWSPageLoadMetricsLoggerTest, Basic) { |
| 832 FromGWSPageLoadMetricsLogger logger; | 842 FromGWSPageLoadMetricsLogger logger; |
| 833 ASSERT_FALSE(logger.ShouldLogMetrics(GURL(kExampleUrl))); | 843 ASSERT_FALSE(logger.ShouldLogPostCommitMetrics(GURL(kExampleUrl))); |
| 834 } | 844 } |
| 835 | 845 |
| 836 TEST_F(FromGWSPageLoadMetricsLoggerTest, NoPreviousPage) { | 846 TEST_F(FromGWSPageLoadMetricsLoggerTest, NoPreviousPage) { |
| 837 FromGWSPageLoadMetricsLogger logger; | 847 FromGWSPageLoadMetricsLogger logger; |
| 838 logger.SetPreviouslyCommittedUrl(GURL()); | 848 logger.SetPreviouslyCommittedUrl(GURL()); |
| 839 logger.set_navigation_initiated_via_link(true); | 849 logger.set_navigation_initiated_via_link(true); |
| 840 ASSERT_FALSE(logger.ShouldLogMetrics(GURL(kExampleUrl))); | 850 ASSERT_FALSE(logger.ShouldLogPostCommitMetrics(GURL(kExampleUrl))); |
| 841 } | 851 } |
| 842 | 852 |
| 843 TEST_F(FromGWSPageLoadMetricsLoggerTest, NavigationNotInitiatedViaLink) { | 853 TEST_F(FromGWSPageLoadMetricsLoggerTest, NavigationNotInitiatedViaLink) { |
| 844 FromGWSPageLoadMetricsLogger logger; | 854 FromGWSPageLoadMetricsLogger logger; |
| 845 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | 855 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); |
| 846 logger.set_navigation_initiated_via_link(false); | 856 logger.set_navigation_initiated_via_link(false); |
| 847 ASSERT_FALSE(logger.ShouldLogMetrics(GURL(kExampleUrl))); | 857 ASSERT_FALSE(logger.ShouldLogPostCommitMetrics(GURL(kExampleUrl))); |
| 848 } | |
| 849 | |
| 850 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalNonHttpOrHttpsScheme) { | |
|
Charlie Harrison
2016/07/18 20:02:18
Looks like the test you added doesn't cover the sa
Bryan McQuade
2016/07/19 12:55:38
Ah, you mean it not being a provisional load? I ad
| |
| 851 FromGWSPageLoadMetricsLogger logger; | |
| 852 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | |
| 853 logger.SetProvisionalUrl(GURL("intent://foo")); | |
| 854 ASSERT_FALSE(logger.ShouldLogMetrics(GURL::EmptyGURL())); | |
| 855 } | 858 } |
| 856 | 859 |
| 857 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalFromGWS) { | 860 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalFromGWS) { |
| 858 FromGWSPageLoadMetricsLogger logger; | 861 FromGWSPageLoadMetricsLogger logger; |
| 859 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | 862 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); |
| 860 logger.SetProvisionalUrl(GURL(kGoogleSearchResultsUrl)); | 863 logger.SetProvisionalUrl(GURL(kGoogleSearchResultsUrl)); |
| 861 ASSERT_FALSE(logger.ShouldLogMetrics(GURL::EmptyGURL())); | 864 ASSERT_FALSE(logger.ShouldLogFailedProvisionalLoadMetrics()); |
| 862 } | 865 } |
| 863 | 866 |
| 864 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalNotFromGWS) { | 867 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalNotFromGWS) { |
| 865 FromGWSPageLoadMetricsLogger logger; | 868 FromGWSPageLoadMetricsLogger logger; |
| 866 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | 869 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); |
| 867 logger.SetProvisionalUrl(GURL(kExampleUrl)); | 870 logger.SetProvisionalUrl(GURL(kExampleUrl)); |
| 868 ASSERT_TRUE(logger.ShouldLogMetrics(GURL::EmptyGURL())); | 871 ASSERT_TRUE(logger.ShouldLogFailedProvisionalLoadMetrics()); |
| 869 } | |
| 870 | |
| 871 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalIntent) { | |
| 872 FromGWSPageLoadMetricsLogger logger; | |
| 873 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | |
| 874 logger.SetProvisionalUrl(GURL("intent://en.m.wikipedia.org/wiki/Test")); | |
| 875 ASSERT_FALSE(logger.ShouldLogMetrics(GURL::EmptyGURL())); | |
| 876 } | 872 } |
| 877 | 873 |
| 878 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalIgnoredAfterCommit1) { | 874 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalIgnoredAfterCommit1) { |
| 879 FromGWSPageLoadMetricsLogger logger; | 875 FromGWSPageLoadMetricsLogger logger; |
| 880 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | 876 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); |
| 881 logger.SetProvisionalUrl(GURL(kExampleUrl)); | 877 logger.SetProvisionalUrl(GURL(kExampleUrl)); |
| 882 logger.set_navigation_initiated_via_link(true); | 878 logger.set_navigation_initiated_via_link(true); |
| 883 ASSERT_FALSE(logger.ShouldLogMetrics(GURL(kGoogleSearchResultsUrl))); | 879 ASSERT_FALSE( |
| 880 logger.ShouldLogPostCommitMetrics(GURL(kGoogleSearchResultsUrl))); | |
| 884 } | 881 } |
| 885 | 882 |
| 886 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalIgnoredAfterCommit2) { | 883 TEST_F(FromGWSPageLoadMetricsLoggerTest, ProvisionalIgnoredAfterCommit2) { |
| 887 FromGWSPageLoadMetricsLogger logger; | 884 FromGWSPageLoadMetricsLogger logger; |
| 888 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | 885 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); |
| 889 logger.SetProvisionalUrl(GURL(kGoogleSearchResultsUrl)); | 886 logger.SetProvisionalUrl(GURL(kGoogleSearchResultsUrl)); |
| 890 logger.set_navigation_initiated_via_link(true); | 887 logger.set_navigation_initiated_via_link(true); |
| 891 ASSERT_TRUE(logger.ShouldLogMetrics(GURL(kExampleUrl))); | 888 ASSERT_TRUE(logger.ShouldLogPostCommitMetrics(GURL(kExampleUrl))); |
| 892 } | 889 } |
| 893 | 890 |
| 894 TEST_F(FromGWSPageLoadMetricsLoggerTest, NavigationFromSearch) { | 891 TEST_F(FromGWSPageLoadMetricsLoggerTest, NavigationFromSearch) { |
| 895 FromGWSPageLoadMetricsLogger logger; | 892 FromGWSPageLoadMetricsLogger logger; |
| 896 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | 893 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); |
| 897 logger.set_navigation_initiated_via_link(true); | 894 logger.set_navigation_initiated_via_link(true); |
| 898 ASSERT_TRUE(logger.ShouldLogMetrics(GURL(kExampleUrl))); | 895 ASSERT_TRUE(logger.ShouldLogPostCommitMetrics(GURL(kExampleUrl))); |
| 899 } | 896 } |
| 900 | 897 |
| 901 TEST_F(FromGWSPageLoadMetricsLoggerTest, NavigationToSearchHostname) { | 898 TEST_F(FromGWSPageLoadMetricsLoggerTest, NavigationToSearchHostname) { |
| 902 FromGWSPageLoadMetricsLogger logger; | 899 FromGWSPageLoadMetricsLogger logger; |
| 903 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); | 900 logger.SetPreviouslyCommittedUrl(GURL(kGoogleSearchResultsUrl)); |
| 904 logger.set_navigation_initiated_via_link(true); | 901 logger.set_navigation_initiated_via_link(true); |
| 905 ASSERT_FALSE(logger.ShouldLogMetrics(GURL("https://www.google.com/about/"))); | 902 ASSERT_FALSE( |
| 903 logger.ShouldLogPostCommitMetrics(GURL("https://www.google.com/about/"))); | |
| 906 } | 904 } |
| 907 | 905 |
| 908 TEST_F(FromGWSPageLoadMetricsLoggerTest, NavigationFromSearchRedirector) { | 906 TEST_F(FromGWSPageLoadMetricsLoggerTest, NavigationFromSearchRedirector) { |
| 909 FromGWSPageLoadMetricsLogger logger; | 907 FromGWSPageLoadMetricsLogger logger; |
| 910 logger.SetPreviouslyCommittedUrl( | 908 logger.SetPreviouslyCommittedUrl( |
| 911 GURL("https://www.google.com/url?source=web")); | 909 GURL("https://www.google.com/url?source=web")); |
| 912 logger.set_navigation_initiated_via_link(true); | 910 logger.set_navigation_initiated_via_link(true); |
| 913 ASSERT_TRUE(logger.ShouldLogMetrics(GURL(kExampleUrl))); | 911 ASSERT_TRUE(logger.ShouldLogPostCommitMetrics(GURL(kExampleUrl))); |
| 914 } | 912 } |
| OLD | NEW |