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 |