Skip to content

Commit

Permalink
Revert 127763 - Prerender enabled in incognito.
Browse files Browse the repository at this point in the history
BUG=108982
TEST=Open in incognito window, go to prerender-test.appspot.com and confirm that prerender works.


Review URL: http://codereview.chromium.org/9663005

TBR=cbentzel@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9794004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127832 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
dgrogan@chromium.org committed Mar 20, 2012
1 parent 855aca5 commit 5ee5970
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 59 deletions.
74 changes: 23 additions & 51 deletions chrome/browser/prerender/prerender_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -443,8 +443,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
#endif
use_https_src_server_(false),
call_javascript_(true),
loader_path_("files/prerender/prerender_loader.html"),
explicitly_set_browser_(NULL) {
loader_path_("files/prerender/prerender_loader.html") {
EnableDOMAutomation();
}

Expand All @@ -471,8 +470,8 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
}

virtual void SetUpOnMainThread() OVERRIDE {
current_browser()->profile()->GetPrefs()->SetBoolean(
prefs::kPromptForDownload, false);
browser()->profile()->GetPrefs()->SetBoolean(prefs::kPromptForDownload,
false);
// Increase the memory allowed in a prerendered page above normal settings.
// Debug build bots occasionally run against the default limit, and tests
// were failing because the prerender was canceled due to memory exhaustion.
Expand Down Expand Up @@ -666,8 +665,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
}

PrerenderManager* prerender_manager() const {
Profile* profile =
current_browser()->GetSelectedTabContentsWrapper()->profile();
Profile* profile = browser()->GetSelectedTabContentsWrapper()->profile();
PrerenderManager* prerender_manager =
PrerenderManagerFactory::GetForProfile(profile);
return prerender_manager;
Expand Down Expand Up @@ -711,17 +709,6 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
return GURL(url_str);
}

void set_browser(Browser* browser) {
explicitly_set_browser_ = browser;
}

Browser* current_browser() const {
if (explicitly_set_browser_)
return explicitly_set_browser_;
else
return browser();
}

private:
void PrerenderTestURLImpl(
const GURL& prerender_url,
Expand Down Expand Up @@ -768,7 +755,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
// Since the test needs to wait until the prerendered page has stopped
// loading, rather than the page directly navigated to, need to
// handle browser navigation directly.
current_browser()->OpenURL(OpenURLParams(
browser()->OpenURL(OpenURLParams(
src_url, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED,
false));

Expand Down Expand Up @@ -800,7 +787,6 @@ class PrerenderBrowserTest : public InProcessBrowserTest {

void NavigateToURLImpl(const GURL& dest_url,
WindowOpenDisposition disposition) const {
ASSERT_TRUE(prerender_manager() != NULL);
// Make sure in navigating we have a URL to use in the PrerenderManager.
ASSERT_TRUE(GetPrerenderContents() != NULL);

Expand Down Expand Up @@ -830,8 +816,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
// issued navigations to prerendered pages will synchronously swap in the
// prerendered page.
ui_test_utils::NavigateToURLWithDisposition(
current_browser(), dest_url, disposition,
ui_test_utils::BROWSER_TEST_NONE);
browser(), dest_url, disposition, ui_test_utils::BROWSER_TEST_NONE);

// Make sure the PrerenderContents found earlier was used or removed.
EXPECT_TRUE(GetPrerenderContents() == NULL);
Expand All @@ -858,7 +843,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
ASSERT_TRUE(prerender_contents != NULL);

RenderViewHost* render_view_host =
current_browser()->GetSelectedWebContents()->GetRenderViewHost();
browser()->GetSelectedWebContents()->GetRenderViewHost();
render_view_host->ExecuteJavascriptInWebFrame(
string16(),
ASCIIToUTF16(javascript_function_name));
Expand All @@ -875,7 +860,6 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
bool use_https_src_server_;
bool call_javascript_;
std::string loader_path_;
Browser* explicitly_set_browser_;
};

// Checks that a page is correctly prerendered in the case of a
Expand All @@ -886,16 +870,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPage) {
NavigateToDestURL();
}

// Checks that prerendering works in incognito mode.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderIncognito) {
Profile* normal_profile = current_browser()->profile();
ui_test_utils::OpenURLOffTheRecord(normal_profile, GURL("about:blank"));
set_browser(BrowserList::FindBrowserWithProfile(
normal_profile->GetOffTheRecordProfile()));
PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1);
NavigateToDestURL();
}

// Checks that the visibility API works.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderVisibility) {
PrerenderTestURL("files/prerender/prerender_visibility.html",
Expand Down Expand Up @@ -947,9 +921,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, MAYBE_PrerenderDelayLoadPlugin) {
// is enabled.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickToPlay) {
// Enable click-to-play.
HostContentSettingsMap* content_settings_map =
current_browser()->profile()->GetHostContentSettingsMap();
content_settings_map->SetDefaultContentSetting(
browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_ASK);

PrerenderTestURL("files/prerender/prerender_plugin_click_to_play.html",
Expand Down Expand Up @@ -1343,7 +1315,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderInfiniteLoopMultiple) {

IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderTaskManager) {
// Show the task manager. This populates the model.
current_browser()->window()->ShowTaskManager();
browser()->window()->ShowTaskManager();
// Wait for the model of task manager to start.
TaskManagerBrowserTestUtil::WaitForResourceChange(2);

Expand Down Expand Up @@ -1876,8 +1848,8 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderUnload) {
set_loader_path("files/prerender/prerender_loader_with_unload.html");
PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1);
string16 expected_title = ASCIIToUTF16("Unloaded");
ui_test_utils::TitleWatcher title_watcher(
current_browser()->GetSelectedWebContents(), expected_title);
ui_test_utils::TitleWatcher title_watcher(browser()->GetSelectedWebContents(),
expected_title);
NavigateToDestURL();
EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle());
}
Expand All @@ -1893,7 +1865,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClearHistory) {
// destroys the prerender.
MessageLoop::current()->PostTask(
FROM_HERE,
base::Bind(&ClearBrowsingData, current_browser(),
base::Bind(&ClearBrowsingData, browser(),
BrowsingDataRemover::REMOVE_HISTORY));
ui_test_utils::RunMessageLoop();

Expand All @@ -1911,7 +1883,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClearCache) {
// Post a task to clear the cache, and run the message loop until it
// destroys the prerender.
MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(&ClearBrowsingData, current_browser(),
base::Bind(&ClearBrowsingData, browser(),
BrowsingDataRemover::REMOVE_CACHE));
ui_test_utils::RunMessageLoop();

Expand Down Expand Up @@ -1943,8 +1915,8 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNavigateClickGoBack) {
FINAL_STATUS_USED,
1);
NavigateToDestURL();
ClickToNextPageAfterPrerender(current_browser());
GoBackToPrerender(current_browser());
ClickToNextPageAfterPrerender(browser());
GoBackToPrerender(browser());
}

IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
Expand All @@ -1953,26 +1925,26 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
FINAL_STATUS_USED,
1);
NavigateToDestURL();
NavigateToNextPageAfterPrerender(current_browser());
GoBackToPrerender(current_browser());
NavigateToNextPageAfterPrerender(browser());
GoBackToPrerender(browser());
}

IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickClickGoBack) {
PrerenderTestURL("files/prerender/prerender_page_with_link.html",
FINAL_STATUS_USED,
1);
OpenDestURLViaClick();
ClickToNextPageAfterPrerender(current_browser());
GoBackToPrerender(current_browser());
ClickToNextPageAfterPrerender(browser());
GoBackToPrerender(browser());
}

IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNavigateGoBack) {
PrerenderTestURL("files/prerender/prerender_page_with_link.html",
FINAL_STATUS_USED,
1);
OpenDestURLViaClick();
NavigateToNextPageAfterPrerender(current_browser());
GoBackToPrerender(current_browser());
NavigateToNextPageAfterPrerender(browser());
GoBackToPrerender(browser());
}

IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewWindow) {
Expand All @@ -1999,7 +1971,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewBackgroundTab) {
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
NavigateToPrerenderedPageWhenDevToolsAttached) {
DisableJavascriptCalls();
WebContents* web_contents = current_browser()->GetSelectedWebContents();
WebContents* web_contents = browser()->GetSelectedWebContents();
DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost(
web_contents->GetRenderViewHost());
DevToolsManager* manager = DevToolsManager::GetInstance();
Expand All @@ -2019,7 +1991,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSessionStorage) {
FINAL_STATUS_USED,
1);
NavigateToDestURL();
GoBackToPageBeforePrerender(current_browser());
GoBackToPageBeforePrerender(browser());
}

// Checks that the control group works. A JS alert cannot be detected in the
Expand Down
4 changes: 0 additions & 4 deletions chrome/browser/prerender/prerender_manager_factory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,4 @@ ProfileKeyedService* PrerenderManagerFactory::BuildServiceInstanceFor(
return prerender_manager;
}

bool PrerenderManagerFactory::ServiceHasOwnInstanceInIncognito() {
return true;
}

} // end namespace prerender
5 changes: 1 addition & 4 deletions chrome/browser/prerender/prerender_manager_factory.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

Expand Down Expand Up @@ -34,9 +34,6 @@ class PrerenderManagerFactory : public ProfileKeyedServiceFactory {
// ProfileKeyedServiceFactory:
virtual ProfileKeyedService* BuildServiceInstanceFor(
Profile* profile) const OVERRIDE;

// Prerendering is allowed in incognito.
virtual bool ServiceHasOwnInstanceInIncognito() OVERRIDE;
};

} // end namespace prerender
Expand Down

0 comments on commit 5ee5970

Please sign in to comment.