Index: chrome/browser/tab_contents/navigation_metrics_recorder_browsertest.cc |
diff --git a/chrome/browser/tab_contents/navigation_metrics_recorder_browsertest.cc b/chrome/browser/tab_contents/navigation_metrics_recorder_browsertest.cc |
index 02a38d54eed1d7cec341c8ea186ebade22167648..556a457598a1f5303c417fa8e18f79de59b328c6 100644 |
--- a/chrome/browser/tab_contents/navigation_metrics_recorder_browsertest.cc |
+++ b/chrome/browser/tab_contents/navigation_metrics_recorder_browsertest.cc |
@@ -17,14 +17,6 @@ namespace { |
typedef InProcessBrowserTest NavigationMetricsRecorderBrowserTest; |
-// Performs a content initiated navigation to |url|. |
-void RedirectToUrl(content::WebContents* web_contents, const GURL& url) { |
- content::TestNavigationObserver observer(web_contents, 1); |
- EXPECT_TRUE(content::ExecuteScript( |
- web_contents, std::string("window.location.href='") + url.spec() + "'")); |
- observer.Wait(); |
-} |
- |
IN_PROC_BROWSER_TEST_F(NavigationMetricsRecorderBrowserTest, TestMetrics) { |
content::WebContents* web_contents = |
browser()->tab_strip_model()->GetActiveWebContents(); |
@@ -49,10 +41,12 @@ IN_PROC_BROWSER_TEST_F(NavigationMetricsRecorderBrowserTest, TestMetrics) { |
// Navigate to an empty page and redirect it to a data: URL. Rappor should |
// record a report. |
- ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); |
+ // TODO(meacer): This isn't meaningful after data URL redirects are only |
+ // allowed from other dataURLs. Remove the Rappor histogram. |
content::TestNavigationObserver observer(web_contents, 1); |
EXPECT_TRUE(content::ExecuteScript( |
- web_contents, "window.location.href='data:text/html, <html></html>'")); |
+ web_contents, |
+ "window.location.href='data:text/html, <html>page2</html>'")); |
observer.Wait(); |
EXPECT_EQ(1, rappor_service.GetReportsCount()); |
@@ -60,65 +54,56 @@ IN_PROC_BROWSER_TEST_F(NavigationMetricsRecorderBrowserTest, TestMetrics) { |
rappor::RapporType type; |
EXPECT_TRUE(rappor_service.GetRecordedSampleForMetric( |
"Navigation.Scheme.Data", &sample, &type)); |
- EXPECT_EQ("about://", sample); |
+ EXPECT_EQ("data://", sample); |
EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); |
} |
IN_PROC_BROWSER_TEST_F(NavigationMetricsRecorderBrowserTest, DataURLMimeTypes) { |
base::HistogramTester histograms; |
- content::WebContents* web_contents = |
- browser()->tab_strip_model()->GetActiveWebContents(); |
// HTML: |
- RedirectToUrl(web_contents, GURL("data:text/html, <html></html>")); |
+ ui_test_utils::NavigateToURL(browser(), |
+ GURL("data:text/html, <html></html>")); |
histograms.ExpectTotalCount("Navigation.MainFrameScheme", 1); |
histograms.ExpectBucketCount("Navigation.MainFrameScheme", 5 /* data: */, 1); |
histograms.ExpectTotalCount("Navigation.MainFrameSchemeDifferentPage", 1); |
histograms.ExpectBucketCount("Navigation.MainFrameSchemeDifferentPage", |
5 /* data: */, 1); |
- histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 1); |
- histograms.ExpectBucketCount("Navigation.MainFrameScheme.DataUrl.MimeType", |
- NavigationMetricsRecorder::MIME_TYPE_HTML, 1); |
+ histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 0); |
// SVG: |
- RedirectToUrl(web_contents, |
- GURL("data:image/svg+xml,<!DOCTYPE svg><svg version=\"1.1\" " |
- "xmlns=\"http://www.w3.org/2000/svg\"></svg>")); |
+ ui_test_utils::NavigateToURL( |
+ browser(), GURL("data:image/svg+xml,<!DOCTYPE svg><svg version=\"1.1\" " |
+ "xmlns=\"http://www.w3.org/2000/svg\"></svg>")); |
histograms.ExpectTotalCount("Navigation.MainFrameScheme", 2); |
histograms.ExpectBucketCount("Navigation.MainFrameScheme", 5 /* data: */, 2); |
histograms.ExpectTotalCount("Navigation.MainFrameSchemeDifferentPage", 2); |
histograms.ExpectBucketCount("Navigation.MainFrameSchemeDifferentPage", |
5 /* data: */, 2); |
- histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 2); |
- histograms.ExpectBucketCount("Navigation.MainFrameScheme.DataUrl.MimeType", |
- NavigationMetricsRecorder::MIME_TYPE_SVG, 1); |
+ histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 0); |
// Base64 encoded HTML: |
- RedirectToUrl(web_contents, |
- GURL("data:text/html;base64, PGh0bWw+YmFzZTY0PC9odG1sPg==")); |
+ ui_test_utils::NavigateToURL( |
+ browser(), GURL("data:text/html;base64, PGh0bWw+YmFzZTY0PC9odG1sPg==")); |
histograms.ExpectTotalCount("Navigation.MainFrameScheme", 3); |
histograms.ExpectBucketCount("Navigation.MainFrameScheme", 5 /* data: */, 3); |
histograms.ExpectTotalCount("Navigation.MainFrameSchemeDifferentPage", 3); |
histograms.ExpectBucketCount("Navigation.MainFrameSchemeDifferentPage", |
5 /* data: */, 3); |
- histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 3); |
- histograms.ExpectBucketCount("Navigation.MainFrameScheme.DataUrl.MimeType", |
- NavigationMetricsRecorder::MIME_TYPE_HTML, 2); |
+ histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 0); |
// Plain text: |
- RedirectToUrl(web_contents, GURL("data:text/plain, test")); |
+ ui_test_utils::NavigateToURL(browser(), GURL("data:text/plain, test")); |
histograms.ExpectTotalCount("Navigation.MainFrameScheme", 4); |
histograms.ExpectBucketCount("Navigation.MainFrameScheme", 5 /* data: */, 4); |
histograms.ExpectTotalCount("Navigation.MainFrameSchemeDifferentPage", 4); |
histograms.ExpectBucketCount("Navigation.MainFrameSchemeDifferentPage", |
5 /* data: */, 4); |
- histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 4); |
- histograms.ExpectBucketCount("Navigation.MainFrameScheme.DataUrl.MimeType", |
- NavigationMetricsRecorder::MIME_TYPE_OTHER, 1); |
+ histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 0); |
// Base64 encoded PNG: |
- RedirectToUrl( |
- web_contents, |
+ ui_test_utils::NavigateToURL( |
+ browser(), |
GURL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA" |
"AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO" |
"9TXL0Y4OHwAAAABJRU5ErkJggg==")); |
@@ -127,9 +112,7 @@ IN_PROC_BROWSER_TEST_F(NavigationMetricsRecorderBrowserTest, DataURLMimeTypes) { |
histograms.ExpectTotalCount("Navigation.MainFrameSchemeDifferentPage", 5); |
histograms.ExpectBucketCount("Navigation.MainFrameSchemeDifferentPage", |
5 /* data: */, 5); |
- histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 5); |
- histograms.ExpectBucketCount("Navigation.MainFrameScheme.DataUrl.MimeType", |
- NavigationMetricsRecorder::MIME_TYPE_OTHER, 2); |
+ histograms.ExpectTotalCount("Navigation.MainFrameScheme.DataUrl.MimeType", 0); |
} |
} // namespace |