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

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

Issue 6901128: Cancel prerenders that spawn post requests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Missed the call to erase. Created 9 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 bc14f0fbfb0d7134bd9f4ac8406f0331ec6360dd..87ecfe3cbf7bd6248c8769e569b9d488d41347cc 100644
--- a/chrome/browser/prerender/prerender_browsertest.cc
+++ b/chrome/browser/prerender/prerender_browsertest.cc
@@ -790,4 +790,175 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
NavigateToURL("files/prerender/prerender_fragment_location_hash.html");
}
+// Checks that ftp scheme is not supported for prerender.
cbentzel 2011/04/30 01:03:34 You'll need to merge with trunk - I reverted the P
dominich 2011/05/02 16:45:55 Done.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeFtp) {
+ PrerenderTestURL(GURL("ftp://ftp.example.com"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that ftp scheme is not supported for prerender when done as part of a
+// client redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeFtpClientRedirect) {
+ PrerenderTestURL(CreateClientRedirect("ftp://ftp.example.com"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that ftp scheme is not supported for prerender when done as part of a
+// server redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeFtpServerRedirect) {
+ PrerenderTestURL(CreateServerRedirect("ftp://ftp.example.com"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that gopher scheme is not supported for prerender.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeGopher) {
+ PrerenderTestURL(GURL("gopher://gopher.example.com"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that gopher scheme is not supported for prerender when done as part of
+// a client redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeGopherClientRedirect) {
+ PrerenderTestURL(CreateClientRedirect("gopher://gopher.example.com"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that gopher scheme is not supported for prerender when done as part of
+// a server redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeGopherServerRedirect) {
+ PrerenderTestURL(CreateServerRedirect("gopher://gopher.example.com"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that news scheme is not supported for prerender.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeNews) {
+ PrerenderTestURL(GURL("news:alt.religion.kibology"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that news scheme is not supported for prerender when done as part of
+// a client redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeNewsClientRedirect) {
+ PrerenderTestURL(CreateClientRedirect("news:alt.religion.kibology"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that news scheme is not supported for prerender when done as part of
+// a server redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeNewsServerRedirect) {
+ PrerenderTestURL(CreateServerRedirect("news:alt.religion.kibology"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that secure news scheme is not supported for prerender.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeSnews) {
+ PrerenderTestURL(GURL("snews:alt.religion.kibology"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that snews scheme is not supported for prerender when done as part of
+// a client redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeSnewsClientRedirect) {
+ PrerenderTestURL(CreateClientRedirect("snews:alt.religion.kibology"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that snews scheme is not supported for prerender when done as part of
+// a server redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeSnewsServerRedirect) {
+ PrerenderTestURL(CreateServerRedirect("snews:alt.religion.kibology"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that chrome-extension scheme is not supported for prerender.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeChromeExtension) {
+ PrerenderTestURL(GURL("chrome-extension://haoclkcoegjldmikeokmnfninfafegfm"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that chrome-extension scheme is not supported for prerender when done
+// as part of a client redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeChromeExtensionClientRedirect) {
+ PrerenderTestURL(
+ CreateClientRedirect(
+ "chrome-extension://haoclkcoegjldmikeokmnfninfafegfm"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that chrome-extension scheme is not supported for prerender when done
+// as part of a server redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeChromeExtensionServerRedirect) {
+ PrerenderTestURL(
+ CreateServerRedirect(
+ "chrome-extension://haoclkcoegjldmikeokmnfninfafegfm"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that unknown schemes are not supported for prerender.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderBadSchemeUnknown) {
+ PrerenderTestURL(GURL("invalid://foo.bar.co.uk"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that unknown schemes are not supported for prerender when done as part
+// of a client redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeUnknownClientRedirect) {
+ PrerenderTestURL(CreateClientRedirect("invalid://foo.bar.co.uk"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+// Checks that invalid schemes are not supported for prerender when done as part
+// of a server redirect.
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
+ PrerenderBadSchemeUnknownServerRedirect) {
+ PrerenderTestURL(CreateServerRedirect("invalid://foo.bar.co.uk"),
+ FINAL_STATUS_UNSUPPORTED_SCHEME,
+ 1);
+}
+
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderXhrGet) {
cbentzel 2011/04/30 01:03:34 Please add browser tests for applicable methods th
dominich 2011/05/02 16:45:55 Done.
+ PrerenderTestURL("files/prerender/prerender_xhr_get.html",
+ FINAL_STATUS_USED,
+ 1);
+ NavigateToDestURL();
+}
+
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderXhrPost) {
+ PrerenderTestURL("files/prerender/prerender_xhr_post.html",
+ FINAL_STATUS_INVALID_HTTP_METHOD,
+ 1);
+}
+
+// TODO(cbentzel): Add tests for file, chrome, and about schemes, which fail
+// at webkit resource load time.
+
} // namespace prerender
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_final_status.h » ('j') | chrome/browser/prerender/prerender_manager.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698