Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / browser / extensions / service_worker_apitest.cc
blob1c4a1b6becd18c0051bc29e77ca6f1537c01bbbe
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/extensions/extension_apitest.h"
6 #include "extensions/test/extension_test_message_listener.h"
8 namespace extensions {
10 class ServiceWorkerTest : public ExtensionApiTest {
11 public:
12 // Set the channel to "trunk" since service workers are restricted to trunk.
13 ServiceWorkerTest()
14 : current_channel_(chrome::VersionInfo::CHANNEL_UNKNOWN) {}
16 ~ServiceWorkerTest() override {}
18 private:
19 ScopedCurrentChannel current_channel_;
20 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerTest);
23 IN_PROC_BROWSER_TEST_F(ServiceWorkerTest, RegisterServiceWorkersOnTrunk) {
24 ExtensionTestMessageListener listener(false);
25 // This should fail because there are changes to be made to
26 // successfully register a service worker.
27 ASSERT_FALSE(RunExtensionTest("service_worker/register")) << message_;
28 ASSERT_TRUE(listener.WaitUntilSatisfied());
29 ASSERT_EQ(
30 "SecurityError: Failed to register a ServiceWorker: No URL is "
31 "associated with the caller's document.",
32 listener.message());
35 // This feature is restricted to trunk, so on dev it should have existing
36 // behavior - which is for it to fail.
37 IN_PROC_BROWSER_TEST_F(ServiceWorkerTest, CannotRegisterServiceWorkersOnDev) {
38 ScopedCurrentChannel current_channel_override(
39 chrome::VersionInfo::CHANNEL_DEV);
40 ExtensionTestMessageListener listener(false);
41 ASSERT_FALSE(RunExtensionTest("service_worker/register")) << message_;
42 ASSERT_TRUE(listener.WaitUntilSatisfied());
43 ASSERT_EQ(
44 "SecurityError: Failed to register a ServiceWorker: The URL "
45 "protocol of the current origin ('chrome-extension://" +
46 GetSingleLoadedExtension()->id() + "') is not supported.",
47 listener.message());
50 } // namespace extensions