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

Unified Diff: chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer_unittest.cc

Issue 2888673002: Add support for counting same-document AMP loads. (Closed)
Patch Set: address comment Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer_unittest.cc
diff --git a/chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer_unittest.cc
index 6cb4241e5cb066e4bc363ed3a94f0b7d580f2c15..8afde5a8a8659dbd820ba08171bc3ae6b8802baa 100644
--- a/chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/amp_page_load_metrics_observer_unittest.cc
@@ -11,13 +11,22 @@
#include "base/time/time.h"
#include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h"
#include "chrome/common/page_load_metrics/page_load_timing.h"
+#include "content/public/test/navigation_simulator.h"
#include "url/gurl.h"
+using content::NavigationSimulator;
+using AMPViewType = AMPPageLoadMetricsObserver::AMPViewType;
+
class AMPPageLoadMetricsObserverTest
: public page_load_metrics::PageLoadMetricsObserverTestHarness {
public:
AMPPageLoadMetricsObserverTest() {}
+ void SetUp() override {
+ PageLoadMetricsObserverTestHarness::SetUp();
+ ResetTest();
+ }
+
void ResetTest() {
// Reset to the default testing state. Does not reset histogram state.
timing_.navigation_start = base::Time::FromDoubleT(1);
@@ -127,25 +136,70 @@ TEST_F(AMPPageLoadMetricsObserverTest, AMPViewType) {
}
TEST_F(AMPPageLoadMetricsObserverTest, AMPCachePage) {
- ResetTest();
RunTest(GURL("https://cdn.ampproject.org/page"));
ValidateHistograms(true, "AmpCache.");
}
TEST_F(AMPPageLoadMetricsObserverTest, GoogleSearchAMPCachePage) {
- ResetTest();
RunTest(GURL("https://www.google.com/amp/page"));
ValidateHistograms(true, "GoogleSearch.");
}
+TEST_F(AMPPageLoadMetricsObserverTest, GoogleSearchAMPCachePageBaseURL) {
+ RunTest(GURL("https://www.google.com/amp/"));
+ ValidateHistograms(false, "");
+}
+
TEST_F(AMPPageLoadMetricsObserverTest, GoogleNewsAMPCachePage) {
- ResetTest();
RunTest(GURL("https://news.google.com/news/amp?page"));
ValidateHistograms(true, "GoogleNews.");
}
+TEST_F(AMPPageLoadMetricsObserverTest, GoogleNewsAMPCachePageBaseURL) {
+ RunTest(GURL("https://news.google.com/news/amp"));
+ ValidateHistograms(false, "");
+}
+
TEST_F(AMPPageLoadMetricsObserverTest, NonAMPPage) {
- ResetTest();
RunTest(GURL("https://www.google.com/not-amp/page"));
ValidateHistograms(false, "");
}
+
+TEST_F(AMPPageLoadMetricsObserverTest, GoogleSearchAMPViewerSameDocument) {
+ NavigationSimulator::CreateRendererInitiated(
+ GURL("https://www.google.com/search"), main_rfh())
+ ->Commit();
+
+ NavigationSimulator::CreateRendererInitiated(
+ GURL("https://www.google.com/amp/page"), main_rfh())
+ ->CommitSameDocument();
+
+ histogram_tester().ExpectUniqueSample(
+ "PageLoad.Clients.AMP.SameDocumentView",
+ static_cast<base::HistogramBase::Sample>(
+ AMPViewType::GOOGLE_SEARCH_AMP_VIEWER),
+ 1);
+
+ // Verify that additional same-document navigations to the same URL don't
+ // result in additional views being counted.
+ NavigationSimulator::CreateRendererInitiated(
+ GURL("https://www.google.com/amp/page#fragment"), main_rfh())
+ ->CommitSameDocument();
+ NavigationSimulator::CreateRendererInitiated(
+ GURL("https://www.google.com/amp/page"), main_rfh())
+ ->CommitSameDocument();
+ histogram_tester().ExpectUniqueSample(
+ "PageLoad.Clients.AMP.SameDocumentView",
+ static_cast<base::HistogramBase::Sample>(
+ AMPViewType::GOOGLE_SEARCH_AMP_VIEWER),
+ 1);
+
+ NavigationSimulator::CreateRendererInitiated(
+ GURL("https://www.google.com/amp/page2"), main_rfh())
+ ->CommitSameDocument();
+ histogram_tester().ExpectUniqueSample(
+ "PageLoad.Clients.AMP.SameDocumentView",
+ static_cast<base::HistogramBase::Sample>(
+ AMPViewType::GOOGLE_SEARCH_AMP_VIEWER),
+ 2);
+}

Powered by Google App Engine
This is Rietveld 408576698