Index: chrome/browser/page_load_metrics/page_load_metrics_mojofication_browsertest.cc |
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc b/chrome/browser/page_load_metrics/page_load_metrics_mojofication_browsertest.cc |
similarity index 86% |
copy from chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc |
copy to chrome/browser/page_load_metrics/page_load_metrics_mojofication_browsertest.cc |
index 1b52ea8f37126e974d13ff08f527fb609c81d5e5..27040cf5373f01975db81e915e9475e4da947de9 100644 |
--- a/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc |
+++ b/chrome/browser/page_load_metrics/page_load_metrics_mojofication_browsertest.cc |
@@ -5,6 +5,7 @@ |
#include "base/files/scoped_temp_dir.h" |
#include "base/macros.h" |
#include "base/test/histogram_tester.h" |
+#include "base/test/scoped_feature_list.h" |
#include "base/threading/thread_restrictions.h" |
#include "base/time/time.h" |
#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" |
@@ -19,7 +20,7 @@ |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_navigator_params.h" |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
-#include "chrome/common/page_load_metrics/page_load_metrics_messages.h" |
+#include "chrome/common/chrome_features.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/common/url_constants.h" |
#include "chrome/test/base/in_process_browser_test.h" |
@@ -39,6 +40,19 @@ |
namespace { |
+void FailAllNetworkTransactions(net::URLRequestContextGetter* getter) { |
+ DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
+ net::HttpCache* cache( |
+ getter->GetURLRequestContext()->http_transaction_factory()->GetCache()); |
+ DCHECK(cache); |
+ std::unique_ptr<net::FailingHttpTransactionFactory> factory( |
+ new net::FailingHttpTransactionFactory(cache->GetSession(), |
+ net::ERR_FAILED)); |
+ // Throw away old version; since this is a browser test, there is no |
+ // need to restore the old state. |
+ cache->SetHttpNetworkTransactionFactoryForTesting(std::move(factory)); |
+} |
+ |
// Waits until specified timing and metadata expectations are satisfied. |
class PageLoadMetricsWaiter |
: public page_load_metrics::MetricsWebContentsObserver::TestingObserver { |
@@ -115,12 +129,22 @@ class PageLoadMetricsWaiter |
} // namespace |
-class PageLoadMetricsBrowserTest : public InProcessBrowserTest { |
+class PageLoadMetricsMojoficationBrowserTest : public InProcessBrowserTest { |
public: |
- PageLoadMetricsBrowserTest() {} |
- ~PageLoadMetricsBrowserTest() override {} |
+ PageLoadMetricsMojoficationBrowserTest() {} |
+ ~PageLoadMetricsMojoficationBrowserTest() override {} |
protected: |
+ void SetUpCommandLine(base::CommandLine* command_line) override { |
+ // We need to set the feature state before the render process is created, |
+ // in order for it to inherit the feature state from the browser process. |
+ // SetUp() runs too early, and SetUpOnMainThread() runs too late. |
+ scoped_feature_list_.InitAndEnableFeature( |
+ features::kPageLoadMetricsMojofication); |
+ ASSERT_TRUE( |
+ base::FeatureList::IsEnabled(features::kPageLoadMetricsMojofication)); |
+ } |
+ |
void NavigateToUntrackedUrl() { |
ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); |
} |
@@ -142,31 +166,21 @@ class PageLoadMetricsBrowserTest : public InProcessBrowserTest { |
return base::MakeUnique<PageLoadMetricsWaiter>(web_contents); |
} |
+ base::test::ScopedFeatureList scoped_feature_list_; |
base::HistogramTester histogram_tester_; |
private: |
- DISALLOW_COPY_AND_ASSIGN(PageLoadMetricsBrowserTest); |
+ DISALLOW_COPY_AND_ASSIGN(PageLoadMetricsMojoficationBrowserTest); |
}; |
-void FailAllNetworkTransactions(net::URLRequestContextGetter* getter) { |
- DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
- net::HttpCache* cache( |
- getter->GetURLRequestContext()->http_transaction_factory()->GetCache()); |
- DCHECK(cache); |
- std::unique_ptr<net::FailingHttpTransactionFactory> factory( |
- new net::FailingHttpTransactionFactory(cache->GetSession(), |
- net::ERR_FAILED)); |
- // Throw away old version; since this is a browser test, there is no |
- // need to restore the old state. |
- cache->SetHttpNetworkTransactionFactoryForTesting(std::move(factory)); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoNavigation) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, NoNavigation) { |
+ ASSERT_TRUE( |
Bryan McQuade
2017/05/07 19:44:41
looks like you can remove this one as well
lpy
2017/05/08 18:38:33
Done.
|
+ base::FeatureList::IsEnabled(features::kPageLoadMetricsMojofication)); |
ASSERT_TRUE(embedded_test_server()->Start()); |
EXPECT_TRUE(NoPageLoadMetricsRecorded()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NewPage) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, NewPage) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL(browser(), |
@@ -190,7 +204,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NewPage) { |
EXPECT_FALSE(NoPageLoadMetricsRecorded()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, SameDocumentNavigation) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ SameDocumentNavigation) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL(browser(), |
@@ -204,7 +219,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, SameDocumentNavigation) { |
histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, SameUrlNavigation) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ SameUrlNavigation) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL(browser(), |
@@ -219,7 +235,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, SameUrlNavigation) { |
histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 2); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NonHtmlMainResource) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ NonHtmlMainResource) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL(browser(), |
@@ -228,7 +245,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NonHtmlMainResource) { |
EXPECT_TRUE(NoPageLoadMetricsRecorded()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NonHttpOrHttpsUrl) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ NonHttpOrHttpsUrl) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIVersionURL)); |
@@ -236,7 +254,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NonHttpOrHttpsUrl) { |
EXPECT_TRUE(NoPageLoadMetricsRecorded()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, HttpErrorPage) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, HttpErrorPage) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL( |
@@ -245,7 +263,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, HttpErrorPage) { |
EXPECT_TRUE(NoPageLoadMetricsRecorded()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, ChromeErrorPage) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ ChromeErrorPage) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
// Configure the network stack to fail all attempted loads with a network |
@@ -263,7 +282,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, ChromeErrorPage) { |
EXPECT_TRUE(NoPageLoadMetricsRecorded()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, Ignore204Pages) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, Ignore204Pages) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL(browser(), |
@@ -272,7 +291,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, Ignore204Pages) { |
EXPECT_TRUE(NoPageLoadMetricsRecorded()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, IgnoreDownloads) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ IgnoreDownloads) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
base::ThreadRestrictions::ScopedAllowIO allow_io; |
@@ -293,7 +313,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, IgnoreDownloads) { |
EXPECT_TRUE(NoPageLoadMetricsRecorded()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, PreloadDocumentWrite) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ PreloadDocumentWrite) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
std::unique_ptr<PageLoadMetricsWaiter> fcp_waiter = |
@@ -309,7 +330,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, PreloadDocumentWrite) { |
internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoPreloadDocumentWrite) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ NoPreloadDocumentWrite) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL( |
@@ -321,7 +343,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoPreloadDocumentWrite) { |
internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 0); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoDocumentWrite) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ NoDocumentWrite) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
std::unique_ptr<PageLoadMetricsWaiter> fcp_waiter = |
@@ -339,7 +362,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoDocumentWrite) { |
histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 0); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteBlock) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ DocumentWriteBlock) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
std::unique_ptr<PageLoadMetricsWaiter> fcp_waiter = |
@@ -356,7 +380,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteBlock) { |
histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteReload) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ DocumentWriteReload) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
std::unique_ptr<PageLoadMetricsWaiter> fcp_waiter = |
@@ -393,7 +418,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteReload) { |
histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteAsync) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ DocumentWriteAsync) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL( |
@@ -406,7 +432,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteAsync) { |
histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 0); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteSameDomain) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ DocumentWriteSameDomain) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL( |
@@ -419,7 +446,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, DocumentWriteSameDomain) { |
histogram_tester_.ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 0); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoDocumentWriteScript) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ NoDocumentWriteScript) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL( |
@@ -438,7 +466,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, NoDocumentWriteScript) { |
#else |
#define MAYBE_BadXhtml BadXhtml |
#endif |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, MAYBE_BadXhtml) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, MAYBE_BadXhtml) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
std::unique_ptr<PageLoadMetricsWaiter> timing_waiter = |
@@ -474,7 +502,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, MAYBE_BadXhtml) { |
// Test code that aborts provisional navigations. |
// TODO(csharrison): Move these to unit tests once the navigation API in content |
// properly calls NavigationHandle/NavigationThrottle methods. |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortNewNavigation) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ AbortNewNavigation) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
GURL url(embedded_test_server()->GetURL("/title1.html")); |
@@ -497,7 +526,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortNewNavigation) { |
internal::kHistogramAbortNewNavigationBeforeCommit, 1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortReload) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, AbortReload) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
GURL url(embedded_test_server()->GetURL("/title1.html")); |
@@ -524,7 +553,8 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortReload) { |
#else |
#define MAYBE_AbortClose AbortClose |
#endif |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, MAYBE_AbortClose) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
+ MAYBE_AbortClose) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
GURL url(embedded_test_server()->GetURL("/title1.html")); |
@@ -543,7 +573,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, MAYBE_AbortClose) { |
1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortMultiple) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, AbortMultiple) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
GURL url(embedded_test_server()->GetURL("/title1.html")); |
@@ -578,7 +608,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, AbortMultiple) { |
internal::kHistogramAbortNewNavigationBeforeCommit, 2); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
NoAbortMetricsOnClientRedirect) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
@@ -608,7 +638,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
.empty()); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
FirstMeaningfulPaintRecorded) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
@@ -623,21 +653,21 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
kNetworkIdleTime + kMargin); |
bool result; |
EXPECT_TRUE(content::ExecuteScriptAndExtractBool( |
- browser()->tab_strip_model()->GetActiveWebContents(), |
- javascript, &result)); |
+ browser()->tab_strip_model()->GetActiveWebContents(), javascript, |
+ &result)); |
EXPECT_TRUE(result); |
NavigateToUntrackedUrl(); |
histogram_tester_.ExpectUniqueSample( |
internal::kHistogramFirstMeaningfulPaintStatus, |
internal::FIRST_MEANINGFUL_PAINT_RECORDED, 1); |
- histogram_tester_.ExpectTotalCount( |
- internal::kHistogramFirstMeaningfulPaint, 1); |
+ histogram_tester_.ExpectTotalCount(internal::kHistogramFirstMeaningfulPaint, |
+ 1); |
histogram_tester_.ExpectTotalCount( |
internal::kHistogramParseStartToFirstMeaningfulPaint, 1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
FirstMeaningfulPaintNotRecorded) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
@@ -656,13 +686,13 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
histogram_tester_.ExpectUniqueSample( |
internal::kHistogramFirstMeaningfulPaintStatus, |
internal::FIRST_MEANINGFUL_PAINT_DID_NOT_REACH_NETWORK_STABLE, 1); |
- histogram_tester_.ExpectTotalCount( |
- internal::kHistogramFirstMeaningfulPaint, 0); |
+ histogram_tester_.ExpectTotalCount(internal::kHistogramFirstMeaningfulPaint, |
+ 0); |
histogram_tester_.ExpectTotalCount( |
internal::kHistogramParseStartToFirstMeaningfulPaint, 0); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
NoStatePrefetchObserverCacheable) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
@@ -681,7 +711,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
"Prerender.none_PrefetchTTFCP.Reference.Cacheable.Visible", 1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, |
NoStatePrefetchObserverNoStore) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
@@ -700,7 +730,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, |
"Prerender.none_PrefetchTTFCP.Reference.Cacheable.Visible", 0); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, CSSTiming) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, CSSTiming) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
std::unique_ptr<PageLoadMetricsWaiter> fcp_waiter = |
@@ -726,7 +756,7 @@ IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, CSSTiming) { |
"PageLoad.CSSTiming.ParseAndUpdate.BeforeFirstContentfulPaint", 1); |
} |
-IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, PayloadSize) { |
+IN_PROC_BROWSER_TEST_F(PageLoadMetricsMojoficationBrowserTest, PayloadSize) { |
ASSERT_TRUE(embedded_test_server()->Start()); |
ui_test_utils::NavigateToURL(browser(), embedded_test_server()->GetURL( |