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

Unified Diff: chrome/browser/extensions/service_worker_apitest.cc

Issue 1390943003: Bypass ServiceWorker when the request originates from isolated world. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add browser test Created 5 years, 2 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/extensions/service_worker_apitest.cc
diff --git a/chrome/browser/extensions/service_worker_apitest.cc b/chrome/browser/extensions/service_worker_apitest.cc
index 29fad8fa5aa7285fc66d58454b3be8d38db67766..2f8b9dc2b43821c55d78f69ddfae0b31c3a89dcc 100644
--- a/chrome/browser/extensions/service_worker_apitest.cc
+++ b/chrome/browser/extensions/service_worker_apitest.cc
@@ -4,6 +4,7 @@
#include "base/bind_helpers.h"
#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -18,6 +19,7 @@
#include "extensions/browser/process_manager.h"
#include "extensions/test/background_page_watcher.h"
#include "extensions/test/extension_test_message_listener.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
namespace extensions {
@@ -337,4 +339,24 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerTest,
EXPECT_TRUE(RunExtensionSubtest("service_worker/no_background", "page.html"));
}
+IN_PROC_BROWSER_TEST_F(ServiceWorkerTest,
+ FetchFromContentScriptShouldNotGoToServiceWorkerOfPage) {
+ ASSERT_TRUE(StartEmbeddedTestServer());
+ GURL page_url = embedded_test_server()->GetURL(
+ "/extensions/api_test/service_worker/content_script_fetch/"
+ "controlled_page/index.html");
+ content::WebContents* tab =
+ browser()->tab_strip_model()->GetActiveWebContents();
+ ui_test_utils::NavigateToURL(browser(), page_url);
+ content::WaitForLoadStop(tab);
+
+ std::string value;
+ ASSERT_TRUE(
+ content::ExecuteScriptAndExtractString(tab, "register();", &value));
+ EXPECT_EQ("SW controlled", value);
+
+ ASSERT_TRUE(RunExtensionTest("service_worker/content_script_fetch"))
+ << message_;
+}
+
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698