| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <map> | 5 #include <map> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/barrier_closure.h" | 8 #include "base/barrier_closure.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 #include "chrome/test/base/ui_test_utils.h" | 33 #include "chrome/test/base/ui_test_utils.h" |
| 34 #include "components/content_settings/core/browser/host_content_settings_map.h" | 34 #include "components/content_settings/core/browser/host_content_settings_map.h" |
| 35 #include "components/content_settings/core/common/content_settings.h" | 35 #include "components/content_settings/core/common/content_settings.h" |
| 36 #include "components/content_settings/core/common/content_settings_types.h" | 36 #include "components/content_settings/core/common/content_settings_types.h" |
| 37 #include "components/gcm_driver/common/gcm_messages.h" | 37 #include "components/gcm_driver/common/gcm_messages.h" |
| 38 #include "components/gcm_driver/gcm_client.h" | 38 #include "components/gcm_driver/gcm_client.h" |
| 39 #include "content/public/browser/web_contents.h" | 39 #include "content/public/browser/web_contents.h" |
| 40 #include "content/public/common/content_switches.h" | 40 #include "content/public/common/content_switches.h" |
| 41 #include "content/public/test/browser_test_utils.h" | 41 #include "content/public/test/browser_test_utils.h" |
| 42 #include "content/public/test/test_utils.h" | 42 #include "content/public/test/test_utils.h" |
| 43 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 43 #include "ui/base/window_open_disposition.h" | 44 #include "ui/base/window_open_disposition.h" |
| 44 | 45 |
| 45 #if defined(ENABLE_BACKGROUND) | 46 #if defined(ENABLE_BACKGROUND) |
| 46 #include "chrome/browser/background/background_mode_manager.h" | 47 #include "chrome/browser/background/background_mode_manager.h" |
| 47 #endif | 48 #endif |
| 48 | 49 |
| 49 namespace { | 50 namespace { |
| 50 // Class to instantiate on the stack that is meant to be used with | 51 // Class to instantiate on the stack that is meant to be used with |
| 51 // FakeGCMProfileService. The ::Run() method follows the signature of | 52 // FakeGCMProfileService. The ::Run() method follows the signature of |
| 52 // FakeGCMProfileService::UnregisterCallback. | 53 // FakeGCMProfileService::UnregisterCallback. |
| (...skipping 28 matching lines...) Expand all Loading... |
| 81 ~PushMessagingBrowserTest() override {} | 82 ~PushMessagingBrowserTest() override {} |
| 82 | 83 |
| 83 // InProcessBrowserTest: | 84 // InProcessBrowserTest: |
| 84 void SetUpCommandLine(base::CommandLine* command_line) override { | 85 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 85 command_line->AppendSwitch(switches::kEnablePushMessagePayload); | 86 command_line->AppendSwitch(switches::kEnablePushMessagePayload); |
| 86 InProcessBrowserTest::SetUpCommandLine(command_line); | 87 InProcessBrowserTest::SetUpCommandLine(command_line); |
| 87 } | 88 } |
| 88 | 89 |
| 89 // InProcessBrowserTest: | 90 // InProcessBrowserTest: |
| 90 void SetUp() override { | 91 void SetUp() override { |
| 91 https_server_.reset(new net::SpawnedTestServer( | 92 https_server_.reset( |
| 92 net::SpawnedTestServer::TYPE_HTTPS, | 93 new net::EmbeddedTestServer(net::EmbeddedTestServer::TYPE_HTTPS)); |
| 93 net::BaseTestServer::SSLOptions( | 94 https_server_->ServeFilesFromSourceDirectory("chrome/test/data"); |
| 94 net::BaseTestServer::SSLOptions::CERT_OK), | |
| 95 base::FilePath(FILE_PATH_LITERAL("chrome/test/data/")))); | |
| 96 ASSERT_TRUE(https_server_->Start()); | 95 ASSERT_TRUE(https_server_->Start()); |
| 97 | 96 |
| 98 #if defined(ENABLE_NOTIFICATIONS) | 97 #if defined(ENABLE_NOTIFICATIONS) |
| 99 notification_manager_.reset(new StubNotificationUIManager); | 98 notification_manager_.reset(new StubNotificationUIManager); |
| 100 notification_service()->SetNotificationUIManagerForTesting( | 99 notification_service()->SetNotificationUIManagerForTesting( |
| 101 notification_manager()); | 100 notification_manager()); |
| 102 #endif | 101 #endif |
| 103 | 102 |
| 104 InProcessBrowserTest::SetUp(); | 103 InProcessBrowserTest::SetUp(); |
| 105 } | 104 } |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 return std::string(kPushMessagingEndpoint) + "/" + subscription_id; | 177 return std::string(kPushMessagingEndpoint) + "/" + subscription_id; |
| 179 } | 178 } |
| 180 | 179 |
| 181 PushMessagingAppIdentifier GetAppIdentifierForServiceWorkerRegistration( | 180 PushMessagingAppIdentifier GetAppIdentifierForServiceWorkerRegistration( |
| 182 int64 service_worker_registration_id); | 181 int64 service_worker_registration_id); |
| 183 | 182 |
| 184 void SendMessageAndWaitUntilHandled( | 183 void SendMessageAndWaitUntilHandled( |
| 185 const PushMessagingAppIdentifier& app_identifier, | 184 const PushMessagingAppIdentifier& app_identifier, |
| 186 const gcm::IncomingMessage& message); | 185 const gcm::IncomingMessage& message); |
| 187 | 186 |
| 188 net::SpawnedTestServer* https_server() const { return https_server_.get(); } | 187 net::EmbeddedTestServer* https_server() const { return https_server_.get(); } |
| 189 | 188 |
| 190 gcm::FakeGCMProfileService* gcm_service() const { return gcm_service_; } | 189 gcm::FakeGCMProfileService* gcm_service() const { return gcm_service_; } |
| 191 | 190 |
| 192 #if defined(ENABLE_NOTIFICATIONS) | 191 #if defined(ENABLE_NOTIFICATIONS) |
| 193 // To be called when delivery of a push message has finished. The |run_loop| | 192 // To be called when delivery of a push message has finished. The |run_loop| |
| 194 // will be told to quit after |messages_required| messages were received. | 193 // will be told to quit after |messages_required| messages were received. |
| 195 void OnDeliveryFinished(std::vector<size_t>* number_of_notifications_shown, | 194 void OnDeliveryFinished(std::vector<size_t>* number_of_notifications_shown, |
| 196 const base::Closure& done_closure) { | 195 const base::Closure& done_closure) { |
| 197 DCHECK(number_of_notifications_shown); | 196 DCHECK(number_of_notifications_shown); |
| 198 | 197 |
| 199 number_of_notifications_shown->push_back( | 198 number_of_notifications_shown->push_back( |
| 200 notification_manager_->GetNotificationCount()); | 199 notification_manager_->GetNotificationCount()); |
| 201 | 200 |
| 202 done_closure.Run(); | 201 done_closure.Run(); |
| 203 } | 202 } |
| 204 | 203 |
| 205 StubNotificationUIManager* notification_manager() const { | 204 StubNotificationUIManager* notification_manager() const { |
| 206 return notification_manager_.get(); | 205 return notification_manager_.get(); |
| 207 } | 206 } |
| 208 | 207 |
| 209 PlatformNotificationServiceImpl* notification_service() const { | 208 PlatformNotificationServiceImpl* notification_service() const { |
| 210 return PlatformNotificationServiceImpl::GetInstance(); | 209 return PlatformNotificationServiceImpl::GetInstance(); |
| 211 } | 210 } |
| 212 #endif | 211 #endif |
| 213 | 212 |
| 214 PushMessagingServiceImpl* push_service() const { return push_service_; } | 213 PushMessagingServiceImpl* push_service() const { return push_service_; } |
| 215 | 214 |
| 216 protected: | 215 protected: |
| 217 virtual std::string GetTestURL() { | 216 virtual std::string GetTestURL() { return "/push_messaging/test.html"; } |
| 218 return "files/push_messaging/test.html"; | |
| 219 } | |
| 220 | 217 |
| 221 virtual Browser* GetBrowser() const { return browser(); } | 218 virtual Browser* GetBrowser() const { return browser(); } |
| 222 | 219 |
| 223 private: | 220 private: |
| 224 scoped_ptr<net::SpawnedTestServer> https_server_; | 221 scoped_ptr<net::EmbeddedTestServer> https_server_; |
| 225 gcm::FakeGCMProfileService* gcm_service_; | 222 gcm::FakeGCMProfileService* gcm_service_; |
| 226 PushMessagingServiceImpl* push_service_; | 223 PushMessagingServiceImpl* push_service_; |
| 227 | 224 |
| 228 #if defined(ENABLE_NOTIFICATIONS) | 225 #if defined(ENABLE_NOTIFICATIONS) |
| 229 scoped_ptr<StubNotificationUIManager> notification_manager_; | 226 scoped_ptr<StubNotificationUIManager> notification_manager_; |
| 230 #endif | 227 #endif |
| 231 | 228 |
| 232 DISALLOW_COPY_AND_ASSIGN(PushMessagingBrowserTest); | 229 DISALLOW_COPY_AND_ASSIGN(PushMessagingBrowserTest); |
| 233 }; | 230 }; |
| 234 | 231 |
| 235 class PushMessagingBrowserTestEmptySubscriptionOptions | 232 class PushMessagingBrowserTestEmptySubscriptionOptions |
| 236 : public PushMessagingBrowserTest { | 233 : public PushMessagingBrowserTest { |
| 237 std::string GetTestURL() override { | 234 std::string GetTestURL() override { |
| 238 return "files/push_messaging/test_no_subscription_options.html"; | 235 return "/push_messaging/test_no_subscription_options.html"; |
| 239 } | 236 } |
| 240 }; | 237 }; |
| 241 | 238 |
| 242 void PushMessagingBrowserTest::RequestAndAcceptPermission() { | 239 void PushMessagingBrowserTest::RequestAndAcceptPermission() { |
| 243 std::string script_result; | 240 std::string script_result; |
| 244 GetPermissionBubbleManager()->set_auto_response_for_test( | 241 GetPermissionBubbleManager()->set_auto_response_for_test( |
| 245 PermissionBubbleManager::ACCEPT_ALL); | 242 PermissionBubbleManager::ACCEPT_ALL); |
| 246 EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result)); | 243 EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
| 247 EXPECT_EQ("permission status - granted", script_result); | 244 EXPECT_EQ("permission status - granted", script_result); |
| 248 } | 245 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 265 RequestAndAcceptPermission(); | 262 RequestAndAcceptPermission(); |
| 266 | 263 |
| 267 EXPECT_TRUE(RunScript("subscribePush()", &script_result)); | 264 EXPECT_TRUE(RunScript("subscribePush()", &script_result)); |
| 268 EXPECT_EQ(GetEndpointForSubscriptionId(expected_push_subscription_id), | 265 EXPECT_EQ(GetEndpointForSubscriptionId(expected_push_subscription_id), |
| 269 script_result); | 266 script_result); |
| 270 } | 267 } |
| 271 | 268 |
| 272 PushMessagingAppIdentifier | 269 PushMessagingAppIdentifier |
| 273 PushMessagingBrowserTest::GetAppIdentifierForServiceWorkerRegistration( | 270 PushMessagingBrowserTest::GetAppIdentifierForServiceWorkerRegistration( |
| 274 int64 service_worker_registration_id) { | 271 int64 service_worker_registration_id) { |
| 275 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); | 272 GURL origin = https_server()->GetURL("/").GetOrigin(); |
| 276 PushMessagingAppIdentifier app_identifier = | 273 PushMessagingAppIdentifier app_identifier = |
| 277 PushMessagingAppIdentifier::FindByServiceWorker( | 274 PushMessagingAppIdentifier::FindByServiceWorker( |
| 278 GetBrowser()->profile(), origin, service_worker_registration_id); | 275 GetBrowser()->profile(), origin, service_worker_registration_id); |
| 279 EXPECT_FALSE(app_identifier.is_null()); | 276 EXPECT_FALSE(app_identifier.is_null()); |
| 280 return app_identifier; | 277 return app_identifier; |
| 281 } | 278 } |
| 282 | 279 |
| 283 void PushMessagingBrowserTest::SendMessageAndWaitUntilHandled( | 280 void PushMessagingBrowserTest::SendMessageAndWaitUntilHandled( |
| 284 const PushMessagingAppIdentifier& app_identifier, | 281 const PushMessagingAppIdentifier& app_identifier, |
| 285 const gcm::IncomingMessage& message) { | 282 const gcm::IncomingMessage& message) { |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 // First, test that Service Worker registration IDs are assigned in order of | 372 // First, test that Service Worker registration IDs are assigned in order of |
| 376 // registering the Service Workers, and the (fake) push subscription ids are | 373 // registering the Service Workers, and the (fake) push subscription ids are |
| 377 // assigned in order of push subscription (even when these orders are | 374 // assigned in order of push subscription (even when these orders are |
| 378 // different). | 375 // different). |
| 379 | 376 |
| 380 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); | 377 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); |
| 381 PushMessagingAppIdentifier sw0_identifier = | 378 PushMessagingAppIdentifier sw0_identifier = |
| 382 GetAppIdentifierForServiceWorkerRegistration(0LL); | 379 GetAppIdentifierForServiceWorkerRegistration(0LL); |
| 383 EXPECT_EQ(sw0_identifier.app_id(), gcm_service()->last_registered_app_id()); | 380 EXPECT_EQ(sw0_identifier.app_id(), gcm_service()->last_registered_app_id()); |
| 384 | 381 |
| 385 LoadTestPage("files/push_messaging/subscope1/test.html"); | 382 LoadTestPage("/push_messaging/subscope1/test.html"); |
| 386 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 383 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| 387 ASSERT_EQ("ok - service worker registered", script_result); | 384 ASSERT_EQ("ok - service worker registered", script_result); |
| 388 | 385 |
| 389 LoadTestPage("files/push_messaging/subscope2/test.html"); | 386 LoadTestPage("/push_messaging/subscope2/test.html"); |
| 390 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); | 387 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
| 391 ASSERT_EQ("ok - service worker registered", script_result); | 388 ASSERT_EQ("ok - service worker registered", script_result); |
| 392 | 389 |
| 393 // Note that we need to reload the page after registering, otherwise | 390 // Note that we need to reload the page after registering, otherwise |
| 394 // navigator.serviceWorker.ready is going to be resolved with the parent | 391 // navigator.serviceWorker.ready is going to be resolved with the parent |
| 395 // Service Worker which still controls the page. | 392 // Service Worker which still controls the page. |
| 396 LoadTestPage("files/push_messaging/subscope2/test.html"); | 393 LoadTestPage("/push_messaging/subscope2/test.html"); |
| 397 TryToSubscribeSuccessfully("1-1" /* expected_push_subscription_id */); | 394 TryToSubscribeSuccessfully("1-1" /* expected_push_subscription_id */); |
| 398 PushMessagingAppIdentifier sw2_identifier = | 395 PushMessagingAppIdentifier sw2_identifier = |
| 399 GetAppIdentifierForServiceWorkerRegistration(2LL); | 396 GetAppIdentifierForServiceWorkerRegistration(2LL); |
| 400 EXPECT_EQ(sw2_identifier.app_id(), gcm_service()->last_registered_app_id()); | 397 EXPECT_EQ(sw2_identifier.app_id(), gcm_service()->last_registered_app_id()); |
| 401 | 398 |
| 402 LoadTestPage("files/push_messaging/subscope1/test.html"); | 399 LoadTestPage("/push_messaging/subscope1/test.html"); |
| 403 TryToSubscribeSuccessfully("1-2" /* expected_push_subscription_id */); | 400 TryToSubscribeSuccessfully("1-2" /* expected_push_subscription_id */); |
| 404 PushMessagingAppIdentifier sw1_identifier = | 401 PushMessagingAppIdentifier sw1_identifier = |
| 405 GetAppIdentifierForServiceWorkerRegistration(1LL); | 402 GetAppIdentifierForServiceWorkerRegistration(1LL); |
| 406 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); | 403 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); |
| 407 | 404 |
| 408 // Now test that the Service Worker registration IDs and push subscription IDs | 405 // Now test that the Service Worker registration IDs and push subscription IDs |
| 409 // generated above were persisted to SW storage, by checking that they are | 406 // generated above were persisted to SW storage, by checking that they are |
| 410 // unchanged despite requesting them in a different order. | 407 // unchanged despite requesting them in a different order. |
| 411 // TODO(johnme): Ideally we would restart the browser at this point to check | 408 // TODO(johnme): Ideally we would restart the browser at this point to check |
| 412 // they were persisted to disk, but that's not currently possible since the | 409 // they were persisted to disk, but that's not currently possible since the |
| 413 // test server uses random port numbers for each test (even PRE_Foo and Foo), | 410 // test server uses random port numbers for each test (even PRE_Foo and Foo), |
| 414 // so we wouldn't be able to load the test pages with the same origin. | 411 // so we wouldn't be able to load the test pages with the same origin. |
| 415 | 412 |
| 416 LoadTestPage("files/push_messaging/subscope1/test.html"); | 413 LoadTestPage("/push_messaging/subscope1/test.html"); |
| 417 TryToSubscribeSuccessfully("1-2" /* expected_push_subscription_id */); | 414 TryToSubscribeSuccessfully("1-2" /* expected_push_subscription_id */); |
| 418 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); | 415 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); |
| 419 | 416 |
| 420 LoadTestPage("files/push_messaging/subscope2/test.html"); | 417 LoadTestPage("/push_messaging/subscope2/test.html"); |
| 421 TryToSubscribeSuccessfully("1-1" /* expected_push_subscription_id */); | 418 TryToSubscribeSuccessfully("1-1" /* expected_push_subscription_id */); |
| 422 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); | 419 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); |
| 423 | 420 |
| 424 LoadTestPage(); | 421 LoadTestPage(); |
| 425 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); | 422 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); |
| 426 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); | 423 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); |
| 427 } | 424 } |
| 428 | 425 |
| 429 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, AppHandlerOnlyIfSubscribed) { | 426 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, AppHandlerOnlyIfSubscribed) { |
| 430 // This test restarts the push service to simulate restarting the browser. | 427 // This test restarts the push service to simulate restarting the browser. |
| (...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 849 EXPECT_EQ("true - subscribed", script_result); | 846 EXPECT_EQ("true - subscribed", script_result); |
| 850 | 847 |
| 851 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 848 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| 852 EXPECT_EQ("permission status - granted", script_result); | 849 EXPECT_EQ("permission status - granted", script_result); |
| 853 | 850 |
| 854 scoped_refptr<content::MessageLoopRunner> message_loop_runner = | 851 scoped_refptr<content::MessageLoopRunner> message_loop_runner = |
| 855 new content::MessageLoopRunner; | 852 new content::MessageLoopRunner; |
| 856 push_service()->SetContentSettingChangedCallbackForTesting( | 853 push_service()->SetContentSettingChangedCallbackForTesting( |
| 857 message_loop_runner->QuitClosure()); | 854 message_loop_runner->QuitClosure()); |
| 858 | 855 |
| 859 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); | 856 GURL origin = https_server()->GetURL("/").GetOrigin(); |
| 860 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) | 857 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) |
| 861 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), | 858 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), |
| 862 ContentSettingsPattern::FromURLNoWildcard(origin), | 859 ContentSettingsPattern::FromURLNoWildcard(origin), |
| 863 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, | 860 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, |
| 864 std::string(), | 861 std::string(), |
| 865 CONTENT_SETTING_DEFAULT); | 862 CONTENT_SETTING_DEFAULT); |
| 866 | 863 |
| 867 message_loop_runner->Run(); | 864 message_loop_runner->Run(); |
| 868 | 865 |
| 869 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 866 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 883 EXPECT_EQ("true - subscribed", script_result); | 880 EXPECT_EQ("true - subscribed", script_result); |
| 884 | 881 |
| 885 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 882 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| 886 EXPECT_EQ("permission status - granted", script_result); | 883 EXPECT_EQ("permission status - granted", script_result); |
| 887 | 884 |
| 888 scoped_refptr<content::MessageLoopRunner> message_loop_runner = | 885 scoped_refptr<content::MessageLoopRunner> message_loop_runner = |
| 889 new content::MessageLoopRunner; | 886 new content::MessageLoopRunner; |
| 890 push_service()->SetContentSettingChangedCallbackForTesting( | 887 push_service()->SetContentSettingChangedCallbackForTesting( |
| 891 message_loop_runner->QuitClosure()); | 888 message_loop_runner->QuitClosure()); |
| 892 | 889 |
| 893 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); | 890 GURL origin = https_server()->GetURL("/").GetOrigin(); |
| 894 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) | 891 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) |
| 895 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), | 892 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), |
| 896 ContentSettingsPattern::FromURLNoWildcard(origin), | 893 ContentSettingsPattern::FromURLNoWildcard(origin), |
| 897 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, | 894 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, |
| 898 std::string(), | 895 std::string(), |
| 899 CONTENT_SETTING_BLOCK); | 896 CONTENT_SETTING_BLOCK); |
| 900 | 897 |
| 901 message_loop_runner->Run(); | 898 message_loop_runner->Run(); |
| 902 | 899 |
| 903 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 900 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 946 EXPECT_EQ("true - subscribed", script_result); | 943 EXPECT_EQ("true - subscribed", script_result); |
| 947 | 944 |
| 948 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 945 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| 949 EXPECT_EQ("permission status - granted", script_result); | 946 EXPECT_EQ("permission status - granted", script_result); |
| 950 | 947 |
| 951 scoped_refptr<content::MessageLoopRunner> message_loop_runner = | 948 scoped_refptr<content::MessageLoopRunner> message_loop_runner = |
| 952 new content::MessageLoopRunner; | 949 new content::MessageLoopRunner; |
| 953 push_service()->SetContentSettingChangedCallbackForTesting( | 950 push_service()->SetContentSettingChangedCallbackForTesting( |
| 954 message_loop_runner->QuitClosure()); | 951 message_loop_runner->QuitClosure()); |
| 955 | 952 |
| 956 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); | 953 GURL origin = https_server()->GetURL("/").GetOrigin(); |
| 957 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) | 954 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) |
| 958 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), | 955 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), |
| 959 ContentSettingsPattern::Wildcard(), | 956 ContentSettingsPattern::Wildcard(), |
| 960 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 957 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 961 std::string(), | 958 std::string(), |
| 962 CONTENT_SETTING_DEFAULT); | 959 CONTENT_SETTING_DEFAULT); |
| 963 | 960 |
| 964 message_loop_runner->Run(); | 961 message_loop_runner->Run(); |
| 965 | 962 |
| 966 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 963 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 980 EXPECT_EQ("true - subscribed", script_result); | 977 EXPECT_EQ("true - subscribed", script_result); |
| 981 | 978 |
| 982 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 979 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| 983 EXPECT_EQ("permission status - granted", script_result); | 980 EXPECT_EQ("permission status - granted", script_result); |
| 984 | 981 |
| 985 scoped_refptr<content::MessageLoopRunner> message_loop_runner = | 982 scoped_refptr<content::MessageLoopRunner> message_loop_runner = |
| 986 new content::MessageLoopRunner; | 983 new content::MessageLoopRunner; |
| 987 push_service()->SetContentSettingChangedCallbackForTesting( | 984 push_service()->SetContentSettingChangedCallbackForTesting( |
| 988 message_loop_runner->QuitClosure()); | 985 message_loop_runner->QuitClosure()); |
| 989 | 986 |
| 990 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); | 987 GURL origin = https_server()->GetURL("/").GetOrigin(); |
| 991 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) | 988 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) |
| 992 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), | 989 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), |
| 993 ContentSettingsPattern::Wildcard(), | 990 ContentSettingsPattern::Wildcard(), |
| 994 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 991 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 995 std::string(), | 992 std::string(), |
| 996 CONTENT_SETTING_BLOCK); | 993 CONTENT_SETTING_BLOCK); |
| 997 | 994 |
| 998 message_loop_runner->Run(); | 995 message_loop_runner->Run(); |
| 999 | 996 |
| 1000 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 997 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1014 EXPECT_EQ("true - subscribed", script_result); | 1011 EXPECT_EQ("true - subscribed", script_result); |
| 1015 | 1012 |
| 1016 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 1013 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| 1017 EXPECT_EQ("permission status - granted", script_result); | 1014 EXPECT_EQ("permission status - granted", script_result); |
| 1018 | 1015 |
| 1019 scoped_refptr<content::MessageLoopRunner> message_loop_runner = | 1016 scoped_refptr<content::MessageLoopRunner> message_loop_runner = |
| 1020 new content::MessageLoopRunner; | 1017 new content::MessageLoopRunner; |
| 1021 push_service()->SetContentSettingChangedCallbackForTesting( | 1018 push_service()->SetContentSettingChangedCallbackForTesting( |
| 1022 base::BarrierClosure(2, message_loop_runner->QuitClosure())); | 1019 base::BarrierClosure(2, message_loop_runner->QuitClosure())); |
| 1023 | 1020 |
| 1024 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); | 1021 GURL origin = https_server()->GetURL("/").GetOrigin(); |
| 1025 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) | 1022 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) |
| 1026 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), | 1023 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), |
| 1027 ContentSettingsPattern::Wildcard(), | 1024 ContentSettingsPattern::Wildcard(), |
| 1028 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 1025 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1029 std::string(), | 1026 std::string(), |
| 1030 CONTENT_SETTING_ALLOW); | 1027 CONTENT_SETTING_ALLOW); |
| 1031 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) | 1028 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) |
| 1032 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), | 1029 ->SetContentSetting(ContentSettingsPattern::FromURLNoWildcard(origin), |
| 1033 ContentSettingsPattern::FromURLNoWildcard(origin), | 1030 ContentSettingsPattern::FromURLNoWildcard(origin), |
| 1034 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, | 1031 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1058 EXPECT_EQ("true - subscribed", script_result); | 1055 EXPECT_EQ("true - subscribed", script_result); |
| 1059 | 1056 |
| 1060 ASSERT_TRUE(RunScript("permissionState()", &script_result)); | 1057 ASSERT_TRUE(RunScript("permissionState()", &script_result)); |
| 1061 EXPECT_EQ("permission status - granted", script_result); | 1058 EXPECT_EQ("permission status - granted", script_result); |
| 1062 | 1059 |
| 1063 scoped_refptr<content::MessageLoopRunner> message_loop_runner = | 1060 scoped_refptr<content::MessageLoopRunner> message_loop_runner = |
| 1064 new content::MessageLoopRunner; | 1061 new content::MessageLoopRunner; |
| 1065 push_service()->SetContentSettingChangedCallbackForTesting( | 1062 push_service()->SetContentSettingChangedCallbackForTesting( |
| 1066 base::BarrierClosure(4, message_loop_runner->QuitClosure())); | 1063 base::BarrierClosure(4, message_loop_runner->QuitClosure())); |
| 1067 | 1064 |
| 1068 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); | 1065 GURL origin = https_server()->GetURL("/").GetOrigin(); |
| 1069 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) | 1066 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) |
| 1070 ->SetContentSetting(ContentSettingsPattern::Wildcard(), | 1067 ->SetContentSetting(ContentSettingsPattern::Wildcard(), |
| 1071 ContentSettingsPattern::Wildcard(), | 1068 ContentSettingsPattern::Wildcard(), |
| 1072 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 1069 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 1073 std::string(), | 1070 std::string(), |
| 1074 CONTENT_SETTING_ALLOW); | 1071 CONTENT_SETTING_ALLOW); |
| 1075 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) | 1072 HostContentSettingsMapFactory::GetForProfile(GetBrowser()->profile()) |
| 1076 ->SetContentSetting(ContentSettingsPattern::FromString("https://*"), | 1073 ->SetContentSetting(ContentSettingsPattern::FromString("https://*"), |
| 1077 ContentSettingsPattern::FromString("https://*"), | 1074 ContentSettingsPattern::FromString("https://*"), |
| 1078 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, | 1075 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1281 ASSERT_FALSE(background_mode_manager->IsBackgroundModeActive()); | 1278 ASSERT_FALSE(background_mode_manager->IsBackgroundModeActive()); |
| 1282 | 1279 |
| 1283 // After dropping the last subscription background mode is still inactive. | 1280 // After dropping the last subscription background mode is still inactive. |
| 1284 std::string script_result; | 1281 std::string script_result; |
| 1285 gcm_service()->AddExpectedUnregisterResponse(gcm::GCMClient::SUCCESS); | 1282 gcm_service()->AddExpectedUnregisterResponse(gcm::GCMClient::SUCCESS); |
| 1286 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result)); | 1283 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result)); |
| 1287 EXPECT_EQ("unsubscribe result: true", script_result); | 1284 EXPECT_EQ("unsubscribe result: true", script_result); |
| 1288 ASSERT_FALSE(background_mode_manager->IsBackgroundModeActive()); | 1285 ASSERT_FALSE(background_mode_manager->IsBackgroundModeActive()); |
| 1289 } | 1286 } |
| 1290 #endif // defined(ENABLE_BACKGROUND) && !defined(OS_CHROMEOS) | 1287 #endif // defined(ENABLE_BACKGROUND) && !defined(OS_CHROMEOS) |
| OLD | NEW |