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

Side by Side Diff: chrome/browser/push_messaging/push_messaging_browsertest.cc

Issue 1154943008: Update push messaging tests to use both infobars and bubbles (w/ autoresponse) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments for msw Created 5 years, 6 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/website_settings/permission_bubble_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "chrome/browser/browsing_data/browsing_data_helper.h" 14 #include "chrome/browser/browsing_data/browsing_data_helper.h"
15 #include "chrome/browser/browsing_data/browsing_data_remover.h" 15 #include "chrome/browser/browsing_data/browsing_data_remover.h"
16 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h" 16 #include "chrome/browser/browsing_data/browsing_data_remover_test_util.h"
17 #include "chrome/browser/infobars/infobar_responder.h" 17 #include "chrome/browser/infobars/infobar_responder.h"
18 #include "chrome/browser/infobars/infobar_service.h" 18 #include "chrome/browser/infobars/infobar_service.h"
19 #include "chrome/browser/notifications/notification_test_util.h" 19 #include "chrome/browser/notifications/notification_test_util.h"
20 #include "chrome/browser/notifications/platform_notification_service_impl.h" 20 #include "chrome/browser/notifications/platform_notification_service_impl.h"
21 #include "chrome/browser/profiles/profile.h" 21 #include "chrome/browser/profiles/profile.h"
22 #include "chrome/browser/push_messaging/push_messaging_app_identifier.h" 22 #include "chrome/browser/push_messaging/push_messaging_app_identifier.h"
23 #include "chrome/browser/push_messaging/push_messaging_constants.h" 23 #include "chrome/browser/push_messaging/push_messaging_constants.h"
24 #include "chrome/browser/push_messaging/push_messaging_service_factory.h" 24 #include "chrome/browser/push_messaging/push_messaging_service_factory.h"
25 #include "chrome/browser/push_messaging/push_messaging_service_impl.h" 25 #include "chrome/browser/push_messaging/push_messaging_service_impl.h"
26 #include "chrome/browser/services/gcm/fake_gcm_profile_service.h" 26 #include "chrome/browser/services/gcm/fake_gcm_profile_service.h"
27 #include "chrome/browser/services/gcm/gcm_profile_service_factory.h" 27 #include "chrome/browser/services/gcm/gcm_profile_service_factory.h"
28 #include "chrome/browser/ui/browser.h" 28 #include "chrome/browser/ui/browser.h"
29 #include "chrome/browser/ui/tabs/tab_strip_model.h" 29 #include "chrome/browser/ui/tabs/tab_strip_model.h"
30 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h"
31 #include "chrome/common/chrome_switches.h"
30 #include "chrome/test/base/in_process_browser_test.h" 32 #include "chrome/test/base/in_process_browser_test.h"
31 #include "chrome/test/base/ui_test_utils.h" 33 #include "chrome/test/base/ui_test_utils.h"
32 #include "components/content_settings/core/browser/host_content_settings_map.h" 34 #include "components/content_settings/core/browser/host_content_settings_map.h"
33 #include "components/content_settings/core/common/content_settings.h" 35 #include "components/content_settings/core/common/content_settings.h"
34 #include "components/content_settings/core/common/content_settings_types.h" 36 #include "components/content_settings/core/common/content_settings_types.h"
35 #include "components/gcm_driver/gcm_client.h" 37 #include "components/gcm_driver/gcm_client.h"
36 #include "content/public/browser/web_contents.h" 38 #include "content/public/browser/web_contents.h"
37 #include "content/public/common/content_switches.h" 39 #include "content/public/common/content_switches.h"
38 #include "content/public/test/browser_test_utils.h" 40 #include "content/public/test/browser_test_utils.h"
39 #include "content/public/test/test_utils.h" 41 #include "content/public/test/test_utils.h"
(...skipping 22 matching lines...) Expand all
62 return app_id_; 64 return app_id_;
63 } 65 }
64 66
65 private: 67 private:
66 scoped_refptr<content::MessageLoopRunner> message_loop_runner_; 68 scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
67 std::string app_id_; 69 std::string app_id_;
68 }; 70 };
69 71
70 } // namespace 72 } // namespace
71 73
72 class PushMessagingBrowserTest : public InProcessBrowserTest { 74 class PushMessagingBrowserTest : public InProcessBrowserTest,
75 public testing::WithParamInterface<bool> {
73 public: 76 public:
74 PushMessagingBrowserTest() : gcm_service_(nullptr) {} 77 PushMessagingBrowserTest() : gcm_service_(nullptr) {}
75 ~PushMessagingBrowserTest() override {} 78 ~PushMessagingBrowserTest() override {}
76 79
77 // InProcessBrowserTest: 80 // InProcessBrowserTest:
78 void SetUpCommandLine(base::CommandLine* command_line) override { 81 void SetUpCommandLine(base::CommandLine* command_line) override {
79 command_line->AppendSwitch(switches::kEnablePushMessagePayload); 82 command_line->AppendSwitch(switches::kEnablePushMessagePayload);
80 83
84 if (GetParam()) {
85 command_line->AppendSwitch(switches::kEnablePermissionsBubbles);
86 EXPECT_TRUE(PermissionBubbleManager::Enabled());
87 } else {
88 command_line->AppendSwitch(switches::kDisablePermissionsBubbles);
89 EXPECT_FALSE(PermissionBubbleManager::Enabled());
90 }
91
81 InProcessBrowserTest::SetUpCommandLine(command_line); 92 InProcessBrowserTest::SetUpCommandLine(command_line);
82 } 93 }
83 94
84 // InProcessBrowserTest: 95 // InProcessBrowserTest:
85 void SetUp() override { 96 void SetUp() override {
86 https_server_.reset(new net::SpawnedTestServer( 97 https_server_.reset(new net::SpawnedTestServer(
87 net::SpawnedTestServer::TYPE_HTTPS, 98 net::SpawnedTestServer::TYPE_HTTPS,
88 net::BaseTestServer::SSLOptions( 99 net::BaseTestServer::SSLOptions(
89 net::BaseTestServer::SSLOptions::CERT_OK), 100 net::BaseTestServer::SSLOptions::CERT_OK),
90 base::FilePath(FILE_PATH_LITERAL("chrome/test/data/")))); 101 base::FilePath(FILE_PATH_LITERAL("chrome/test/data/"))));
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 147
137 bool RunScript(const std::string& script, std::string* result, 148 bool RunScript(const std::string& script, std::string* result,
138 content::WebContents* web_contents) { 149 content::WebContents* web_contents) {
139 if (!web_contents) 150 if (!web_contents)
140 web_contents = GetBrowser()->tab_strip_model()->GetActiveWebContents(); 151 web_contents = GetBrowser()->tab_strip_model()->GetActiveWebContents();
141 return content::ExecuteScriptAndExtractString(web_contents->GetMainFrame(), 152 return content::ExecuteScriptAndExtractString(web_contents->GetMainFrame(),
142 script, 153 script,
143 result); 154 result);
144 } 155 }
145 156
157 PermissionBubbleManager* GetPermissionBubbleManager() {
158 return PermissionBubbleManager::FromWebContents(
159 GetBrowser()->tab_strip_model()->GetActiveWebContents());
160 }
161
162 void RequestAndAcceptPermission();
163 void RequestAndDenyPermission();
164
146 void TryToSubscribeSuccessfully( 165 void TryToSubscribeSuccessfully(
147 const std::string& expected_push_subscription_id); 166 const std::string& expected_push_subscription_id);
148 167
149 std::string GetEndpointForSubscriptionId(const std::string& subscription_id) { 168 std::string GetEndpointForSubscriptionId(const std::string& subscription_id) {
150 return std::string(kPushMessagingEndpoint) + "/" + subscription_id; 169 return std::string(kPushMessagingEndpoint) + "/" + subscription_id;
151 } 170 }
152 171
153 PushMessagingAppIdentifier GetAppIdentifierForServiceWorkerRegistration( 172 PushMessagingAppIdentifier GetAppIdentifierForServiceWorkerRegistration(
154 int64 service_worker_registration_id); 173 int64 service_worker_registration_id);
155 174
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 DISALLOW_COPY_AND_ASSIGN(PushMessagingBrowserTest); 228 DISALLOW_COPY_AND_ASSIGN(PushMessagingBrowserTest);
210 }; 229 };
211 230
212 class PushMessagingBrowserTestEmptySubscriptionOptions 231 class PushMessagingBrowserTestEmptySubscriptionOptions
213 : public PushMessagingBrowserTest { 232 : public PushMessagingBrowserTest {
214 std::string GetTestURL() override { 233 std::string GetTestURL() override {
215 return "files/push_messaging/test_no_subscription_options.html"; 234 return "files/push_messaging/test_no_subscription_options.html";
216 } 235 }
217 }; 236 };
218 237
238 void PushMessagingBrowserTest::RequestAndAcceptPermission() {
239 std::string script_result;
240
241 if (PermissionBubbleManager::Enabled()) {
242 GetPermissionBubbleManager()->set_auto_response_for_test(
243 PermissionBubbleManager::ACCEPT_ALL);
244 EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result));
245 EXPECT_EQ("permission status - granted", script_result);
246 } else {
247 InfoBarResponder infobar_accept_responder(GetInfoBarService(), true);
248 EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result));
249 EXPECT_EQ("permission status - granted", script_result);
250 }
251 }
252
253 void PushMessagingBrowserTest::RequestAndDenyPermission() {
254 std::string script_result;
255
256 if (PermissionBubbleManager::Enabled()) {
257 GetPermissionBubbleManager()->set_auto_response_for_test(
258 PermissionBubbleManager::DENY_ALL);
259 EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result));
260 EXPECT_EQ("permission status - denied", script_result);
261 } else {
262 InfoBarResponder infobar_deny_responder(GetInfoBarService(), false);
263 EXPECT_TRUE(RunScript("requestNotificationPermission();", &script_result));
264 EXPECT_EQ("permission status - denied", script_result);
265 }
266 }
267
219 void PushMessagingBrowserTest::TryToSubscribeSuccessfully( 268 void PushMessagingBrowserTest::TryToSubscribeSuccessfully(
220 const std::string& expected_push_subscription_id) { 269 const std::string& expected_push_subscription_id) {
221 std::string script_result; 270 std::string script_result;
222 271
223 EXPECT_TRUE(RunScript("registerServiceWorker()", &script_result)); 272 EXPECT_TRUE(RunScript("registerServiceWorker()", &script_result));
224 EXPECT_EQ("ok - service worker registered", script_result); 273 EXPECT_EQ("ok - service worker registered", script_result);
225 274
226 InfoBarResponder accepting_responder(GetInfoBarService(), true); 275 RequestAndAcceptPermission();
227 EXPECT_TRUE(RunScript("requestNotificationPermission()", &script_result));
228 EXPECT_EQ("permission status - granted", script_result);
229 276
230 EXPECT_TRUE(RunScript("subscribePush()", &script_result)); 277 EXPECT_TRUE(RunScript("subscribePush()", &script_result));
231 EXPECT_EQ(GetEndpointForSubscriptionId(expected_push_subscription_id), 278 EXPECT_EQ(GetEndpointForSubscriptionId(expected_push_subscription_id),
232 script_result); 279 script_result);
233 } 280 }
234 281
235 PushMessagingAppIdentifier 282 PushMessagingAppIdentifier
236 PushMessagingBrowserTest::GetAppIdentifierForServiceWorkerRegistration( 283 PushMessagingBrowserTest::GetAppIdentifierForServiceWorkerRegistration(
237 int64 service_worker_registration_id) { 284 int64 service_worker_registration_id) {
238 GURL origin = https_server()->GetURL(std::string()).GetOrigin(); 285 GURL origin = https_server()->GetURL(std::string()).GetOrigin();
239 PushMessagingAppIdentifier app_identifier = 286 PushMessagingAppIdentifier app_identifier =
240 PushMessagingAppIdentifier::FindByServiceWorker( 287 PushMessagingAppIdentifier::FindByServiceWorker(
241 GetBrowser()->profile(), origin, service_worker_registration_id); 288 GetBrowser()->profile(), origin, service_worker_registration_id);
242 EXPECT_FALSE(app_identifier.is_null()); 289 EXPECT_FALSE(app_identifier.is_null());
243 return app_identifier; 290 return app_identifier;
244 } 291 }
245 292
246 void PushMessagingBrowserTest::SendMessageAndWaitUntilHandled( 293 void PushMessagingBrowserTest::SendMessageAndWaitUntilHandled(
247 const PushMessagingAppIdentifier& app_identifier, 294 const PushMessagingAppIdentifier& app_identifier,
248 const gcm::GCMClient::IncomingMessage& message) { 295 const gcm::GCMClient::IncomingMessage& message) {
249 base::RunLoop run_loop; 296 base::RunLoop run_loop;
250 push_service()->SetMessageCallbackForTesting(run_loop.QuitClosure()); 297 push_service()->SetMessageCallbackForTesting(run_loop.QuitClosure());
251 push_service()->OnMessage(app_identifier.app_id(), message); 298 push_service()->OnMessage(app_identifier.app_id(), message);
252 run_loop.Run(); 299 run_loop.Run();
253 } 300 }
254 301
255 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 302 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
256 SubscribeSuccessNotificationsGranted) { 303 SubscribeSuccessNotificationsGranted) {
257 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 304 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
258 305
259 PushMessagingAppIdentifier app_identifier = 306 PushMessagingAppIdentifier app_identifier =
260 GetAppIdentifierForServiceWorkerRegistration(0LL); 307 GetAppIdentifierForServiceWorkerRegistration(0LL);
261 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id()); 308 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id());
262 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); 309 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]);
263 } 310 }
264 311
265 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 312 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
266 SubscribeSuccessNotificationsPrompt) { 313 SubscribeSuccessNotificationsPrompt) {
267 std::string script_result; 314 std::string script_result;
268 315
269 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 316 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
270 ASSERT_EQ("ok - service worker registered", script_result); 317 ASSERT_EQ("ok - service worker registered", script_result);
271 318
272 InfoBarResponder accepting_responder(GetInfoBarService(), true); 319 GetPermissionBubbleManager()->set_auto_response_for_test(
johnme 2015/06/05 10:07:06 Since we've gone back to parameterizing the tests,
felt 2015/06/05 13:41:49 Yup fixed this, didn't see the test failures until
320 PermissionBubbleManager::ACCEPT_ALL);
273 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); 321 ASSERT_TRUE(RunScript("subscribePush()", &script_result));
274 EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), 322 EXPECT_EQ(GetEndpointForSubscriptionId("1-0"),
275 script_result); 323 script_result);
276 324
277 PushMessagingAppIdentifier app_identifier = 325 PushMessagingAppIdentifier app_identifier =
278 GetAppIdentifierForServiceWorkerRegistration(0LL); 326 GetAppIdentifierForServiceWorkerRegistration(0LL);
279 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id()); 327 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id());
280 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); 328 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]);
281 } 329 }
282 330
283 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 331 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
284 SubscribeFailureNotificationsBlocked) { 332 SubscribeFailureNotificationsBlocked) {
285 std::string script_result; 333 std::string script_result;
286 334
287 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 335 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
288 ASSERT_EQ("ok - service worker registered", script_result); 336 ASSERT_EQ("ok - service worker registered", script_result);
289 337
290 InfoBarResponder cancelling_responder(GetInfoBarService(), false); 338 RequestAndDenyPermission();
291 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result));
292 ASSERT_EQ("permission status - denied", script_result);
293 339
294 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); 340 ASSERT_TRUE(RunScript("subscribePush()", &script_result));
295 EXPECT_EQ("AbortError - Registration failed - permission denied", 341 EXPECT_EQ("AbortError - Registration failed - permission denied",
296 script_result); 342 script_result);
297 } 343 }
298 344
299 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, SubscribeFailureNoManifest) { 345 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest, SubscribeFailureNoManifest) {
300 std::string script_result; 346 std::string script_result;
301 347
302 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 348 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
303 ASSERT_EQ("ok - service worker registered", script_result); 349 ASSERT_EQ("ok - service worker registered", script_result);
304 350
305 InfoBarResponder accepting_responder(GetInfoBarService(), true); 351 RequestAndAcceptPermission();
306 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result));
307 ASSERT_EQ("permission status - granted", script_result);
308 352
309 ASSERT_TRUE(RunScript("removeManifest()", &script_result)); 353 ASSERT_TRUE(RunScript("removeManifest()", &script_result));
310 ASSERT_EQ("manifest removed", script_result); 354 ASSERT_EQ("manifest removed", script_result);
311 355
312 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); 356 ASSERT_TRUE(RunScript("subscribePush()", &script_result));
313 EXPECT_EQ("AbortError - Registration failed - no sender id provided", 357 EXPECT_EQ("AbortError - Registration failed - no sender id provided",
314 script_result); 358 script_result);
315 } 359 }
316 360
317 // TODO(johnme): Test subscribing from a worker - see https://crbug.com/437298. 361 // TODO(johnme): Test subscribing from a worker - see https://crbug.com/437298.
318 362
319 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTestEmptySubscriptionOptions, 363 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTestEmptySubscriptionOptions,
320 RegisterFailureEmptyPushSubscriptionOptions) { 364 RegisterFailureEmptyPushSubscriptionOptions) {
321 std::string script_result; 365 std::string script_result;
322 366
323 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 367 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
324 ASSERT_EQ("ok - service worker registered", script_result); 368 ASSERT_EQ("ok - service worker registered", script_result);
325 369
326 InfoBarResponder accepting_responder(GetInfoBarService(), true); 370 RequestAndAcceptPermission();
327 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result));
328 ASSERT_EQ("permission status - granted", script_result);
329 371
330 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); 372 ASSERT_TRUE(RunScript("subscribePush()", &script_result));
331 EXPECT_EQ("AbortError - Registration failed - permission denied", 373 EXPECT_EQ("AbortError - Registration failed - permission denied",
332 script_result); 374 script_result);
333 } 375 }
334 376
335 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, SubscribePersisted) { 377 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest, SubscribePersisted) {
336 std::string script_result; 378 std::string script_result;
337 379
338 // First, test that Service Worker registration IDs are assigned in order of 380 // First, test that Service Worker registration IDs are assigned in order of
339 // registering the Service Workers, and the (fake) push subscription ids are 381 // registering the Service Workers, and the (fake) push subscription ids are
340 // assigned in order of push subscription (even when these orders are 382 // assigned in order of push subscription (even when these orders are
341 // different). 383 // different).
342 384
343 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 385 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
344 PushMessagingAppIdentifier sw0_identifier = 386 PushMessagingAppIdentifier sw0_identifier =
345 GetAppIdentifierForServiceWorkerRegistration(0LL); 387 GetAppIdentifierForServiceWorkerRegistration(0LL);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 424
383 LoadTestPage("files/push_messaging/subscope2/test.html"); 425 LoadTestPage("files/push_messaging/subscope2/test.html");
384 TryToSubscribeSuccessfully("1-1" /* expected_push_subscription_id */); 426 TryToSubscribeSuccessfully("1-1" /* expected_push_subscription_id */);
385 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); 427 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id());
386 428
387 LoadTestPage(); 429 LoadTestPage();
388 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 430 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
389 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id()); 431 EXPECT_EQ(sw1_identifier.app_id(), gcm_service()->last_registered_app_id());
390 } 432 }
391 433
392 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventSuccess) { 434 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest, PushEventSuccess) {
393 std::string script_result; 435 std::string script_result;
394 436
395 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 437 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
396 438
397 PushMessagingAppIdentifier app_identifier = 439 PushMessagingAppIdentifier app_identifier =
398 GetAppIdentifierForServiceWorkerRegistration(0LL); 440 GetAppIdentifierForServiceWorkerRegistration(0LL);
399 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id()); 441 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id());
400 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); 442 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]);
401 443
402 ASSERT_TRUE(RunScript("isControlled()", &script_result)); 444 ASSERT_TRUE(RunScript("isControlled()", &script_result));
403 ASSERT_EQ("false - is not controlled", script_result); 445 ASSERT_EQ("false - is not controlled", script_result);
404 446
405 LoadTestPage(); // Reload to become controlled. 447 LoadTestPage(); // Reload to become controlled.
406 448
407 ASSERT_TRUE(RunScript("isControlled()", &script_result)); 449 ASSERT_TRUE(RunScript("isControlled()", &script_result));
408 ASSERT_EQ("true - is controlled", script_result); 450 ASSERT_EQ("true - is controlled", script_result);
409 451
410 gcm::GCMClient::IncomingMessage message; 452 gcm::GCMClient::IncomingMessage message;
411 message.sender_id = "1234567890"; 453 message.sender_id = "1234567890";
412 message.data["data"] = "testdata"; 454 message.data["data"] = "testdata";
413 push_service()->OnMessage(app_identifier.app_id(), message); 455 push_service()->OnMessage(app_identifier.app_id(), message);
414 ASSERT_TRUE(RunScript("resultQueue.pop()", &script_result)); 456 ASSERT_TRUE(RunScript("resultQueue.pop()", &script_result));
415 EXPECT_EQ("testdata", script_result); 457 EXPECT_EQ("testdata", script_result);
416 } 458 }
417 459
418 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventNoServiceWorker) { 460 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest, PushEventNoServiceWorker) {
419 std::string script_result; 461 std::string script_result;
420 462
421 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 463 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
422 464
423 PushMessagingAppIdentifier app_identifier = 465 PushMessagingAppIdentifier app_identifier =
424 GetAppIdentifierForServiceWorkerRegistration(0LL); 466 GetAppIdentifierForServiceWorkerRegistration(0LL);
425 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id()); 467 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id());
426 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); 468 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]);
427 469
428 ASSERT_TRUE(RunScript("isControlled()", &script_result)); 470 ASSERT_TRUE(RunScript("isControlled()", &script_result));
(...skipping 21 matching lines...) Expand all
450 492
451 callback.WaitUntilSatisfied(); 493 callback.WaitUntilSatisfied();
452 EXPECT_EQ(app_identifier.app_id(), callback.app_id()); 494 EXPECT_EQ(app_identifier.app_id(), callback.app_id());
453 495
454 // No push data should have been received. 496 // No push data should have been received.
455 ASSERT_TRUE(RunScript("resultQueue.popImmediately()", &script_result)); 497 ASSERT_TRUE(RunScript("resultQueue.popImmediately()", &script_result));
456 EXPECT_EQ("null", script_result); 498 EXPECT_EQ("null", script_result);
457 } 499 }
458 500
459 #if defined(ENABLE_NOTIFICATIONS) 501 #if defined(ENABLE_NOTIFICATIONS)
460 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 502 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
461 PushEventEnforcesUserVisibleNotification) { 503 PushEventEnforcesUserVisibleNotification) {
462 std::string script_result; 504 std::string script_result;
463 505
464 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 506 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
465 507
466 PushMessagingAppIdentifier app_identifier = 508 PushMessagingAppIdentifier app_identifier =
467 GetAppIdentifierForServiceWorkerRegistration(0LL); 509 GetAppIdentifierForServiceWorkerRegistration(0LL);
468 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id()); 510 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id());
469 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); 511 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]);
470 512
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 598
557 // Now that 10 push messages in a row have shown notifications, we should 599 // Now that 10 push messages in a row have shown notifications, we should
558 // allow the next one to mistakenly not show a notification. 600 // allow the next one to mistakenly not show a notification.
559 message.data["data"] = "testdata"; 601 message.data["data"] = "testdata";
560 SendMessageAndWaitUntilHandled(app_identifier, message); 602 SendMessageAndWaitUntilHandled(app_identifier, message);
561 ASSERT_TRUE(RunScript("resultQueue.pop()", &script_result, web_contents)); 603 ASSERT_TRUE(RunScript("resultQueue.pop()", &script_result, web_contents));
562 EXPECT_EQ("testdata", script_result); 604 EXPECT_EQ("testdata", script_result);
563 EXPECT_EQ(0u, notification_manager()->GetNotificationCount()); 605 EXPECT_EQ(0u, notification_manager()->GetNotificationCount());
564 } 606 }
565 607
566 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 608 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
567 PushEventEnforcesUserVisibleNotificationAfterQueue) { 609 PushEventEnforcesUserVisibleNotificationAfterQueue) {
568 std::string script_result; 610 std::string script_result;
569 611
570 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 612 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
571 613
572 PushMessagingAppIdentifier app_identifier = 614 PushMessagingAppIdentifier app_identifier =
573 GetAppIdentifierForServiceWorkerRegistration(0LL); 615 GetAppIdentifierForServiceWorkerRegistration(0LL);
574 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id()); 616 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id());
575 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); 617 EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]);
576 618
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
608 push_service()->OnMessage(app_identifier.app_id(), message); 650 push_service()->OnMessage(app_identifier.app_id(), message);
609 651
610 run_loop.Run(); 652 run_loop.Run();
611 } 653 }
612 654
613 ASSERT_EQ(2u, number_of_notifications_shown.size()); 655 ASSERT_EQ(2u, number_of_notifications_shown.size());
614 EXPECT_EQ(0u, number_of_notifications_shown[0]); 656 EXPECT_EQ(0u, number_of_notifications_shown[0]);
615 EXPECT_EQ(1u, number_of_notifications_shown[1]); 657 EXPECT_EQ(1u, number_of_notifications_shown[1]);
616 } 658 }
617 659
618 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 660 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
619 PushEventNotificationWithoutEventWaitUntil) { 661 PushEventNotificationWithoutEventWaitUntil) {
620 std::string script_result; 662 std::string script_result;
621 content::WebContents* web_contents = 663 content::WebContents* web_contents =
622 GetBrowser()->tab_strip_model()->GetActiveWebContents(); 664 GetBrowser()->tab_strip_model()->GetActiveWebContents();
623 665
624 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 666 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
625 667
626 PushMessagingAppIdentifier app_identifier = 668 PushMessagingAppIdentifier app_identifier =
627 GetAppIdentifierForServiceWorkerRegistration(0LL); 669 GetAppIdentifierForServiceWorkerRegistration(0LL);
628 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id()); 670 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id());
(...skipping 24 matching lines...) Expand all
653 ASSERT_EQ(1u, notification_manager()->GetNotificationCount()); 695 ASSERT_EQ(1u, notification_manager()->GetNotificationCount());
654 EXPECT_EQ("push_test_tag", 696 EXPECT_EQ("push_test_tag",
655 notification_manager()->GetNotificationAt(0).tag()); 697 notification_manager()->GetNotificationAt(0).tag());
656 698
657 // Verify that the renderer process hasn't crashed. 699 // Verify that the renderer process hasn't crashed.
658 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 700 ASSERT_TRUE(RunScript("permissionState()", &script_result));
659 EXPECT_EQ("permission status - granted", script_result); 701 EXPECT_EQ("permission status - granted", script_result);
660 } 702 }
661 #endif 703 #endif
662 704
663 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PermissionStateSaysPrompt) { 705 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest, PermissionStateSaysPrompt) {
664 std::string script_result; 706 std::string script_result;
665 707
666 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 708 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
667 ASSERT_EQ("ok - service worker registered", script_result); 709 ASSERT_EQ("ok - service worker registered", script_result);
668 710
669 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 711 ASSERT_TRUE(RunScript("permissionState()", &script_result));
670 ASSERT_EQ("permission status - prompt", script_result); 712 ASSERT_EQ("permission status - prompt", script_result);
671 } 713 }
672 714
673 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PermissionStateSaysGranted) { 715 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest, PermissionStateSaysGranted) {
674 std::string script_result; 716 std::string script_result;
675 717
676 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 718 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
677 ASSERT_EQ("ok - service worker registered", script_result); 719 ASSERT_EQ("ok - service worker registered", script_result);
678 720
679 InfoBarResponder accepting_responder(GetInfoBarService(), true); 721 RequestAndAcceptPermission();
680 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result));
681 EXPECT_EQ("permission status - granted", script_result);
682 722
683 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); 723 ASSERT_TRUE(RunScript("subscribePush()", &script_result));
684 EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), 724 EXPECT_EQ(GetEndpointForSubscriptionId("1-0"),
685 script_result); 725 script_result);
686 726
687 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 727 ASSERT_TRUE(RunScript("permissionState()", &script_result));
688 EXPECT_EQ("permission status - granted", script_result); 728 EXPECT_EQ("permission status - granted", script_result);
689 } 729 }
690 730
691 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PermissionStateSaysDenied) { 731 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest, PermissionStateSaysDenied) {
692 std::string script_result; 732 std::string script_result;
693 733
694 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 734 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
695 ASSERT_EQ("ok - service worker registered", script_result); 735 ASSERT_EQ("ok - service worker registered", script_result);
696 736
697 InfoBarResponder cancelling_responder(GetInfoBarService(), false); 737 RequestAndDenyPermission();
698 ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result));
699 EXPECT_EQ("permission status - denied", script_result);
700 738
701 ASSERT_TRUE(RunScript("subscribePush()", &script_result)); 739 ASSERT_TRUE(RunScript("subscribePush()", &script_result));
702 EXPECT_EQ("AbortError - Registration failed - permission denied", 740 EXPECT_EQ("AbortError - Registration failed - permission denied",
703 script_result); 741 script_result);
704 742
705 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 743 ASSERT_TRUE(RunScript("permissionState()", &script_result));
706 EXPECT_EQ("permission status - denied", script_result); 744 EXPECT_EQ("permission status - denied", script_result);
707 } 745 }
708 746
709 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, UnsubscribeSuccess) { 747 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest, UnsubscribeSuccess) {
710 std::string script_result; 748 std::string script_result;
711 749
712 EXPECT_TRUE(RunScript("registerServiceWorker()", &script_result)); 750 EXPECT_TRUE(RunScript("registerServiceWorker()", &script_result));
713 EXPECT_EQ("ok - service worker registered", script_result); 751 EXPECT_EQ("ok - service worker registered", script_result);
714 752
715 // Resolves true if there was a subscription. 753 // Resolves true if there was a subscription.
716 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 754 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
717 gcm_service()->AddExpectedUnregisterResponse(gcm::GCMClient::SUCCESS); 755 gcm_service()->AddExpectedUnregisterResponse(gcm::GCMClient::SUCCESS);
718 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result)); 756 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result));
719 EXPECT_EQ("unsubscribe result: true", script_result); 757 EXPECT_EQ("unsubscribe result: true", script_result);
(...skipping 21 matching lines...) Expand all
741 779
742 // Unsubscribing (with an existing reference to a PushSubscription), after 780 // Unsubscribing (with an existing reference to a PushSubscription), after
743 // unregistering the Service Worker, just means push subscription isn't found. 781 // unregistering the Service Worker, just means push subscription isn't found.
744 TryToSubscribeSuccessfully("1-3" /* expected_push_subscription_id */); 782 TryToSubscribeSuccessfully("1-3" /* expected_push_subscription_id */);
745 ASSERT_TRUE(RunScript("unregisterServiceWorker()", &script_result)); 783 ASSERT_TRUE(RunScript("unregisterServiceWorker()", &script_result));
746 ASSERT_EQ("service worker unregistration status: true", script_result); 784 ASSERT_EQ("service worker unregistration status: true", script_result);
747 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result)); 785 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result));
748 EXPECT_EQ("unsubscribe result: false", script_result); 786 EXPECT_EQ("unsubscribe result: false", script_result);
749 } 787 }
750 788
751 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 789 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
752 GlobalResetPushPermissionUnsubscribes) { 790 GlobalResetPushPermissionUnsubscribes) {
753 std::string script_result; 791 std::string script_result;
754 792
755 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 793 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
756 794
757 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 795 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
758 EXPECT_EQ("true - subscribed", script_result); 796 EXPECT_EQ("true - subscribed", script_result);
759 797
760 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 798 ASSERT_TRUE(RunScript("permissionState()", &script_result));
761 EXPECT_EQ("permission status - granted", script_result); 799 EXPECT_EQ("permission status - granted", script_result);
762 800
763 scoped_refptr<content::MessageLoopRunner> message_loop_runner = 801 scoped_refptr<content::MessageLoopRunner> message_loop_runner =
764 new content::MessageLoopRunner; 802 new content::MessageLoopRunner;
765 push_service()->SetContentSettingChangedCallbackForTesting( 803 push_service()->SetContentSettingChangedCallbackForTesting(
766 message_loop_runner->QuitClosure()); 804 message_loop_runner->QuitClosure());
767 805
768 GetBrowser()->profile()->GetHostContentSettingsMap()-> 806 GetBrowser()->profile()->GetHostContentSettingsMap()->
769 ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING); 807 ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING);
770 808
771 message_loop_runner->Run(); 809 message_loop_runner->Run();
772 810
773 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 811 ASSERT_TRUE(RunScript("permissionState()", &script_result));
774 EXPECT_EQ("permission status - prompt", script_result); 812 EXPECT_EQ("permission status - prompt", script_result);
775 813
776 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 814 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
777 EXPECT_EQ("false - not subscribed", script_result); 815 EXPECT_EQ("false - not subscribed", script_result);
778 } 816 }
779 817
780 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 818 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
781 LocalResetPushPermissionUnsubscribes) { 819 LocalResetPushPermissionUnsubscribes) {
782 std::string script_result; 820 std::string script_result;
783 821
784 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 822 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
785 823
786 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 824 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
787 EXPECT_EQ("true - subscribed", script_result); 825 EXPECT_EQ("true - subscribed", script_result);
788 826
789 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 827 ASSERT_TRUE(RunScript("permissionState()", &script_result));
790 EXPECT_EQ("permission status - granted", script_result); 828 EXPECT_EQ("permission status - granted", script_result);
(...skipping 13 matching lines...) Expand all
804 842
805 message_loop_runner->Run(); 843 message_loop_runner->Run();
806 844
807 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 845 ASSERT_TRUE(RunScript("permissionState()", &script_result));
808 EXPECT_EQ("permission status - prompt", script_result); 846 EXPECT_EQ("permission status - prompt", script_result);
809 847
810 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 848 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
811 EXPECT_EQ("false - not subscribed", script_result); 849 EXPECT_EQ("false - not subscribed", script_result);
812 } 850 }
813 851
814 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 852 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
815 DenyPushPermissionUnsubscribes) { 853 DenyPushPermissionUnsubscribes) {
816 std::string script_result; 854 std::string script_result;
817 855
818 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 856 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
819 857
820 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 858 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
821 EXPECT_EQ("true - subscribed", script_result); 859 EXPECT_EQ("true - subscribed", script_result);
822 860
823 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 861 ASSERT_TRUE(RunScript("permissionState()", &script_result));
824 EXPECT_EQ("permission status - granted", script_result); 862 EXPECT_EQ("permission status - granted", script_result);
(...skipping 13 matching lines...) Expand all
838 876
839 message_loop_runner->Run(); 877 message_loop_runner->Run();
840 878
841 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 879 ASSERT_TRUE(RunScript("permissionState()", &script_result));
842 EXPECT_EQ("permission status - denied", script_result); 880 EXPECT_EQ("permission status - denied", script_result);
843 881
844 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 882 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
845 EXPECT_EQ("false - not subscribed", script_result); 883 EXPECT_EQ("false - not subscribed", script_result);
846 } 884 }
847 885
848 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 886 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
849 GlobalResetNotificationsPermissionUnsubscribes) { 887 GlobalResetNotificationsPermissionUnsubscribes) {
850 std::string script_result; 888 std::string script_result;
851 889
852 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 890 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
853 891
854 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 892 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
855 EXPECT_EQ("true - subscribed", script_result); 893 EXPECT_EQ("true - subscribed", script_result);
856 894
857 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 895 ASSERT_TRUE(RunScript("permissionState()", &script_result));
858 EXPECT_EQ("permission status - granted", script_result); 896 EXPECT_EQ("permission status - granted", script_result);
859 897
860 scoped_refptr<content::MessageLoopRunner> message_loop_runner = 898 scoped_refptr<content::MessageLoopRunner> message_loop_runner =
861 new content::MessageLoopRunner; 899 new content::MessageLoopRunner;
862 push_service()->SetContentSettingChangedCallbackForTesting( 900 push_service()->SetContentSettingChangedCallbackForTesting(
863 message_loop_runner->QuitClosure()); 901 message_loop_runner->QuitClosure());
864 902
865 GetBrowser()->profile()->GetHostContentSettingsMap()-> 903 GetBrowser()->profile()->GetHostContentSettingsMap()->
866 ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS); 904 ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
867 905
868 message_loop_runner->Run(); 906 message_loop_runner->Run();
869 907
870 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 908 ASSERT_TRUE(RunScript("permissionState()", &script_result));
871 EXPECT_EQ("permission status - prompt", script_result); 909 EXPECT_EQ("permission status - prompt", script_result);
872 910
873 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 911 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
874 EXPECT_EQ("false - not subscribed", script_result); 912 EXPECT_EQ("false - not subscribed", script_result);
875 } 913 }
876 914
877 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 915 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
878 LocalResetNotificationsPermissionUnsubscribes) { 916 LocalResetNotificationsPermissionUnsubscribes) {
879 std::string script_result; 917 std::string script_result;
880 918
881 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 919 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
882 920
883 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 921 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
884 EXPECT_EQ("true - subscribed", script_result); 922 EXPECT_EQ("true - subscribed", script_result);
885 923
886 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 924 ASSERT_TRUE(RunScript("permissionState()", &script_result));
887 EXPECT_EQ("permission status - granted", script_result); 925 EXPECT_EQ("permission status - granted", script_result);
(...skipping 13 matching lines...) Expand all
901 939
902 message_loop_runner->Run(); 940 message_loop_runner->Run();
903 941
904 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 942 ASSERT_TRUE(RunScript("permissionState()", &script_result));
905 EXPECT_EQ("permission status - prompt", script_result); 943 EXPECT_EQ("permission status - prompt", script_result);
906 944
907 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 945 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
908 EXPECT_EQ("false - not subscribed", script_result); 946 EXPECT_EQ("false - not subscribed", script_result);
909 } 947 }
910 948
911 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 949 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
912 DenyNotificationsPermissionUnsubscribes) { 950 DenyNotificationsPermissionUnsubscribes) {
913 std::string script_result; 951 std::string script_result;
914 952
915 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 953 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
916 954
917 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 955 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
918 EXPECT_EQ("true - subscribed", script_result); 956 EXPECT_EQ("true - subscribed", script_result);
919 957
920 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 958 ASSERT_TRUE(RunScript("permissionState()", &script_result));
921 EXPECT_EQ("permission status - granted", script_result); 959 EXPECT_EQ("permission status - granted", script_result);
(...skipping 13 matching lines...) Expand all
935 973
936 message_loop_runner->Run(); 974 message_loop_runner->Run();
937 975
938 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 976 ASSERT_TRUE(RunScript("permissionState()", &script_result));
939 EXPECT_EQ("permission status - denied", script_result); 977 EXPECT_EQ("permission status - denied", script_result);
940 978
941 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 979 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
942 EXPECT_EQ("false - not subscribed", script_result); 980 EXPECT_EQ("false - not subscribed", script_result);
943 } 981 }
944 982
945 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 983 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
946 GrantAlreadyGrantedPermissionDoesNotUnsubscribe) { 984 GrantAlreadyGrantedPermissionDoesNotUnsubscribe) {
947 std::string script_result; 985 std::string script_result;
948 986
949 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 987 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
950 988
951 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 989 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
952 EXPECT_EQ("true - subscribed", script_result); 990 EXPECT_EQ("true - subscribed", script_result);
953 991
954 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 992 ASSERT_TRUE(RunScript("permissionState()", &script_result));
955 EXPECT_EQ("permission status - granted", script_result); 993 EXPECT_EQ("permission status - granted", script_result);
(...skipping 23 matching lines...) Expand all
979 EXPECT_EQ("permission status - granted", script_result); 1017 EXPECT_EQ("permission status - granted", script_result);
980 1018
981 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 1019 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
982 EXPECT_EQ("true - subscribed", script_result); 1020 EXPECT_EQ("true - subscribed", script_result);
983 } 1021 }
984 1022
985 // This test is testing some non-trivial content settings rules and make sure 1023 // This test is testing some non-trivial content settings rules and make sure
986 // that they are respected with regards to automatic unsubscription. In other 1024 // that they are respected with regards to automatic unsubscription. In other
987 // words, it checks that the push service does not end up unsubscribing origins 1025 // words, it checks that the push service does not end up unsubscribing origins
988 // that have push permission with some non-common rules. 1026 // that have push permission with some non-common rules.
989 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 1027 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
990 AutomaticUnsubscriptionFollowsContentSettingRules) { 1028 AutomaticUnsubscriptionFollowsContentSettingRules) {
991 std::string script_result; 1029 std::string script_result;
992 1030
993 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 1031 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
994 1032
995 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 1033 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
996 EXPECT_EQ("true - subscribed", script_result); 1034 EXPECT_EQ("true - subscribed", script_result);
997 1035
998 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 1036 ASSERT_TRUE(RunScript("permissionState()", &script_result));
999 EXPECT_EQ("permission status - granted", script_result); 1037 EXPECT_EQ("permission status - granted", script_result);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 1076
1039 ASSERT_TRUE(RunScript("permissionState()", &script_result)); 1077 ASSERT_TRUE(RunScript("permissionState()", &script_result));
1040 EXPECT_EQ("permission status - granted", script_result); 1078 EXPECT_EQ("permission status - granted", script_result);
1041 1079
1042 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 1080 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
1043 EXPECT_EQ("true - subscribed", script_result); 1081 EXPECT_EQ("true - subscribed", script_result);
1044 } 1082 }
1045 1083
1046 // Checks that automatically unsubscribing due to a revoked permission is 1084 // Checks that automatically unsubscribing due to a revoked permission is
1047 // handled well if the sender ID needed to unsubscribe was already deleted. 1085 // handled well if the sender ID needed to unsubscribe was already deleted.
1048 IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, 1086 IN_PROC_BROWSER_TEST_P(PushMessagingBrowserTest,
1049 ResetPushPermissionAfterClearingSiteData) { 1087 ResetPushPermissionAfterClearingSiteData) {
1050 std::string script_result; 1088 std::string script_result;
1051 1089
1052 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */); 1090 TryToSubscribeSuccessfully("1-0" /* expected_push_subscription_id */);
1053 1091
1054 PushMessagingAppIdentifier app_identifier = 1092 PushMessagingAppIdentifier app_identifier =
1055 GetAppIdentifierForServiceWorkerRegistration(0LL); 1093 GetAppIdentifierForServiceWorkerRegistration(0LL);
1056 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id()); 1094 EXPECT_EQ(app_identifier.app_id(), gcm_service()->last_registered_app_id());
1057 PushMessagingAppIdentifier stored_app_identifier = 1095 PushMessagingAppIdentifier stored_app_identifier =
1058 PushMessagingAppIdentifier::FindByAppId(GetBrowser()->profile(), 1096 PushMessagingAppIdentifier::FindByAppId(GetBrowser()->profile(),
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 std::string script_result; 1149 std::string script_result;
1112 1150
1113 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); 1151 ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result));
1114 ASSERT_EQ("ok - service worker registered", script_result); 1152 ASSERT_EQ("ok - service worker registered", script_result);
1115 1153
1116 // In Incognito mode the promise returned by getSubscription should not hang, 1154 // In Incognito mode the promise returned by getSubscription should not hang,
1117 // it should just fulfill with null. 1155 // it should just fulfill with null.
1118 ASSERT_TRUE(RunScript("hasSubscription()", &script_result)); 1156 ASSERT_TRUE(RunScript("hasSubscription()", &script_result));
1119 ASSERT_EQ("false - not subscribed", script_result); 1157 ASSERT_EQ("false - not subscribed", script_result);
1120 } 1158 }
1159
1160 INSTANTIATE_TEST_CASE_P(PushMessagingBrowserTestWithParams,
1161 PushMessagingBrowserTest,
1162 testing::Values(true, false));
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/website_settings/permission_bubble_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698