Index: chrome/browser/prefetch/prefetch_browsertest.cc |
diff --git a/chrome/browser/prefetch/prefetch_browsertest.cc b/chrome/browser/prefetch/prefetch_browsertest.cc |
index 1fe4f3b9331dbff6bb6b519780b747da7a9539e6..a870be6ffe72a269d4fb5bddb755f2206f67826c 100644 |
--- a/chrome/browser/prefetch/prefetch_browsertest.cc |
+++ b/chrome/browser/prefetch/prefetch_browsertest.cc |
@@ -42,7 +42,7 @@ class PrefetchBrowserTestBase : public InProcessBrowserTest { |
prefs::kNetworkPredictionEnabled, do_predictive_networking_); |
} |
- bool RunPrefetchExperiment(bool expect_success) { |
+ bool RunPrefetchExperiment(bool expect_success, Browser* browser) { |
CHECK(test_server()->Start()); |
GURL url = test_server()->GetURL(kPrefetchPage); |
@@ -50,9 +50,8 @@ class PrefetchBrowserTestBase : public InProcessBrowserTest { |
expect_success ? base::ASCIIToUTF16("link onload") |
: base::ASCIIToUTF16("link onerror"); |
content::TitleWatcher title_watcher( |
- browser()->tab_strip_model()->GetActiveWebContents(), expected_title); |
- ui_test_utils::NavigateToURL(browser(), url); |
- |
+ browser->tab_strip_model()->GetActiveWebContents(), expected_title); |
+ ui_test_utils::NavigateToURL(browser, url); |
return expected_title == title_watcher.WaitAndGetTitle(); |
} |
@@ -87,22 +86,36 @@ class PrefetchBrowserTestPredictionOffExpOff : public PrefetchBrowserTestBase { |
// Privacy option is on, experiment is on. Prefetch should succeed. |
IN_PROC_BROWSER_TEST_F(PrefetchBrowserTestPredictionOnExpOn, PredOnExpOn) { |
- EXPECT_TRUE(RunPrefetchExperiment(true)); |
+ EXPECT_TRUE(RunPrefetchExperiment(true, browser())); |
} |
// Privacy option is on, experiment is off. Prefetch should be dropped. |
IN_PROC_BROWSER_TEST_F(PrefetchBrowserTestPredictionOnExpOff, PredOnExpOff) { |
- EXPECT_TRUE(RunPrefetchExperiment(false)); |
+ EXPECT_TRUE(RunPrefetchExperiment(false, browser())); |
} |
// Privacy option is off, experiment is on. Prefetch should be dropped. |
IN_PROC_BROWSER_TEST_F(PrefetchBrowserTestPredictionOffExpOn, PredOffExpOn) { |
- EXPECT_TRUE(RunPrefetchExperiment(false)); |
+ EXPECT_TRUE(RunPrefetchExperiment(false, browser())); |
} |
// Privacy option is off, experiment is off. Prefetch should be dropped. |
IN_PROC_BROWSER_TEST_F(PrefetchBrowserTestPredictionOffExpOff, PredOffExpOff) { |
- EXPECT_TRUE(RunPrefetchExperiment(false)); |
+ EXPECT_TRUE(RunPrefetchExperiment(false, browser())); |
+} |
+ |
+// Bug 339909: When in incognito mode the browser crashed due to an |
+// uninitialized preference member. Verify that it no longer does. |
+IN_PROC_BROWSER_TEST_F(PrefetchBrowserTestPredictionOnExpOn, IncognitoTest) { |
+ Profile* incognito_profile = browser()->profile()->GetOffTheRecordProfile(); |
+ Browser* incognito_browser = new Browser( |
+ Browser::CreateParams(incognito_profile, browser()->host_desktop_type())); |
+ |
+ // Navigate just to have a tab in this window, otherwise there is no |
+ // WebContents for the incognito browser. |
+ ui_test_utils::OpenURLOffTheRecord(browser()->profile(), GURL("about:blank")); |
+ |
+ EXPECT_TRUE(RunPrefetchExperiment(true, incognito_browser)); |
} |
} // namespace |