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

Unified Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 9875026: **NOTFORLANDING** New link rel=prerender API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch sets 3-7 against trunk, for combined browsing Created 8 years, 8 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/prerender/prerender_browsertest.cc
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
index 0b86363e7edeb56ad5083a1105e3e5c14d36729f..f010b9a5d982578501cf6bcb5994f4d7cd37d298 100644
--- a/chrome/browser/prerender/prerender_browsertest.cc
+++ b/chrome/browser/prerender/prerender_browsertest.cc
@@ -624,6 +624,10 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
OpenDestURLWithJSImpl("WindowOpen()");
}
+ void RemoveLinkElementAndNavigate() const {
+ OpenDestURLWithJSImpl("RemoveLinkElementAndNavigate()");
+ }
+
void ClickToNextPageAfterPrerender(Browser* browser) {
ui_test_utils::WindowedNotificationObserver new_page_observer(
content::NOTIFICATION_NAV_ENTRY_COMMITTED,
@@ -754,6 +758,10 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
loader_path_ = path;
}
+ void set_loader_query_and_fragment(const std::string& query_and_fragment) {
+ loader_query_and_fragment_ = query_and_fragment;
+ }
+
GURL GetCrossDomainTestUrl(const std::string& path) {
static const std::string secondary_domain = "www.foo.com";
host_resolver()->AddRule(secondary_domain, "127.0.0.1");
@@ -814,7 +822,8 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
ASSERT_TRUE(https_src_server->Start());
src_server = https_src_server.get();
}
- GURL src_url = src_server->GetURL(replacement_path);
+ GURL src_url = src_server->GetURL(replacement_path +
+ loader_query_and_fragment_);
mmenke 2012/04/24 15:26:15 We have "src_url" but "loader_query_and_fragment_"
gavinp 2012/04/26 23:55:39 I went with the change to loader_url; what src/des
ASSERT_TRUE(prerender_manager());
prerender_manager()->mutable_config().rate_limit_enabled = false;
@@ -944,6 +953,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
bool use_https_src_server_;
bool call_javascript_;
std::string loader_path_;
+ std::string loader_query_and_fragment_;
Browser* explicitly_set_browser_;
};
@@ -955,6 +965,32 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPage) {
NavigateToDestURL();
mmenke 2012/04/24 15:26:15 I'd suggest you make sure that the link manager is
gavinp 2012/04/26 23:55:39 Done. These tests can even land without being dis
}
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPageRemovingLink) {
+ set_loader_path("files/prerender/prerender_loader_removing_links.html");
+ set_loader_query_and_fragment("?links_to_insert=1&links_to_remove=1");
+ PrerenderTestURL("files/prerender/prerender_page.html",
+ FINAL_STATUS_CANCELLED, 1);
+ RemoveLinkElementAndNavigate();
+}
+
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderPageRemovingLinkWithTwoLinks) {
+ set_loader_path("files/prerender/prerender_loader_removing_links.html");
+ set_loader_query_and_fragment("?links_to_insert=2&links_to_remove=2");
+ PrerenderTestURL("files/prerender/prerender_page.html",
+ FINAL_STATUS_CANCELLED, 1);
+ RemoveLinkElementAndNavigate();
+}
+
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderPageRemovingLinkWithTwoLinksRemovingOne) {
+ set_loader_path("files/prerender/prerender_loader_removing_links.html");
+ set_loader_query_and_fragment("?links_to_insert=2&links_to_remove=1");
+ PrerenderTestURL("files/prerender/prerender_page.html",
+ FINAL_STATUS_USED, 1);
+ RemoveLinkElementAndNavigate();
+}
+
// Checks that prerendering works in incognito mode.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderIncognito) {
Profile* normal_profile = current_browser()->profile();

Powered by Google App Engine
This is Rietveld 408576698