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

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

Issue 2880133002: PaymentHandler: Should not allow accessing PaymentManager in Extension.
Patch Set: PaymentHandler: Should not allow accessing PaymentManager in Extension. Created 3 years, 7 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
« no previous file with comments | « no previous file | chrome/test/data/extensions/api_test/service_worker/payments/manifest.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 e432163b3b4e156ba8c5f9984cf29367c3b77663..47217f482b747e2f4590639aa1339cc80a9a81f1 100644
--- a/chrome/browser/extensions/service_worker_apitest.cc
+++ b/chrome/browser/extensions/service_worker_apitest.cc
@@ -202,6 +202,22 @@ class ServiceWorkerTest : public ExtensionApiTest {
DISALLOW_COPY_AND_ASSIGN(ServiceWorkerTest);
};
+class ServiceWorkerPaymentManagerTest : public ServiceWorkerTest {
+ public:
+ ServiceWorkerPaymentManagerTest() {}
+ ~ServiceWorkerPaymentManagerTest() override {}
+
+ void SetUpCommandLine(base::CommandLine* command_line) override {
+ // ServiceWorkerRegistration.paymentManager requires experimental flag.
+ command_line->AppendSwitch(
+ switches::kEnableExperimentalWebPlatformFeatures);
+ ServiceWorkerTest::SetUpCommandLine(command_line);
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ServiceWorkerPaymentManagerTest);
+};
+
class ServiceWorkerBackgroundSyncTest : public ServiceWorkerTest {
public:
ServiceWorkerBackgroundSyncTest() {}
@@ -828,6 +844,22 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBackgroundSyncTest, Sync) {
EXPECT_TRUE(sync_listener.WaitUntilSatisfied());
}
+IN_PROC_BROWSER_TEST_F(ServiceWorkerPaymentManagerTest,
+ ShouldDisablePaymentManager) {
+ const Extension* extension = LoadExtensionWithFlags(
+ test_data_dir_.AppendASCII("service_worker/payments"), kFlagNone);
+ ASSERT_TRUE(extension);
+ ui_test_utils::NavigateToURL(browser(),
+ extension->GetResourceURL("page.html"));
+ content::WebContents* web_contents =
+ browser()->tab_strip_model()->GetActiveWebContents();
+
+ std::string result;
+ ASSERT_TRUE(content::ExecuteScriptAndExtractString(
+ web_contents, "window.runServiceWorker()", &result));
+ ASSERT_EQ("SecurityError", result);
+}
+
IN_PROC_BROWSER_TEST_F(ServiceWorkerTest,
FetchFromContentScriptShouldNotGoToServiceWorkerOfPage) {
ASSERT_TRUE(StartEmbeddedTestServer());
« no previous file with comments | « no previous file | chrome/test/data/extensions/api_test/service_worker/payments/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698