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

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

Issue 1931843002: Ship Web Push subscription restrictions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/push_messaging/push_messaging_constants.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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 GetBrowser()->tab_strip_model()->GetActiveWebContents()); 211 GetBrowser()->tab_strip_model()->GetActiveWebContents());
212 } 212 }
213 213
214 void RequestAndAcceptPermission(); 214 void RequestAndAcceptPermission();
215 void RequestAndDenyPermission(); 215 void RequestAndDenyPermission();
216 216
217 void TryToSubscribeSuccessfully( 217 void TryToSubscribeSuccessfully(
218 const std::string& expected_push_subscription_info, 218 const std::string& expected_push_subscription_info,
219 bool use_key = true); 219 bool use_key = true);
220 220
221 std::string GetEndpointForSubscriptionId(const std::string& subscription_id) { 221 std::string GetEndpointForSubscriptionId(const std::string& subscription_id,
222 return std::string(kPushMessagingEndpoint) + "/" + subscription_id; 222 bool standard_protocol = true) {
223 return push_service()->GetEndpoint(standard_protocol).spec() +
224 subscription_id;
223 } 225 }
224 226
225 PushMessagingAppIdentifier GetAppIdentifierForServiceWorkerRegistration( 227 PushMessagingAppIdentifier GetAppIdentifierForServiceWorkerRegistration(
226 int64_t service_worker_registration_id); 228 int64_t service_worker_registration_id);
227 229
228 void SendMessageAndWaitUntilHandled( 230 void SendMessageAndWaitUntilHandled(
229 const PushMessagingAppIdentifier& app_identifier, 231 const PushMessagingAppIdentifier& app_identifier,
230 const gcm::IncomingMessage& message); 232 const gcm::IncomingMessage& message);
231 233
232 net::EmbeddedTestServer* https_server() const { return https_server_.get(); } 234 net::EmbeddedTestServer* https_server() const { return https_server_.get(); }
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 if (use_key) { 319 if (use_key) {
318 ASSERT_TRUE(RunScript("removeManifest()", &script_result)); 320 ASSERT_TRUE(RunScript("removeManifest()", &script_result));
319 ASSERT_EQ("manifest removed", script_result); 321 ASSERT_EQ("manifest removed", script_result);
320 322
321 EXPECT_TRUE(RunScript("documentSubscribePush()", &script_result)); 323 EXPECT_TRUE(RunScript("documentSubscribePush()", &script_result));
322 } else { 324 } else {
323 // Test backwards compatibility with old ID based subscriptions. 325 // Test backwards compatibility with old ID based subscriptions.
324 EXPECT_TRUE(RunScript("documentSubscribePushWithoutKey()", &script_result)); 326 EXPECT_TRUE(RunScript("documentSubscribePushWithoutKey()", &script_result));
325 } 327 }
326 328
327 EXPECT_EQ(GetEndpointForSubscriptionId(expected_push_subscription_info), 329 EXPECT_EQ(
328 script_result); 330 GetEndpointForSubscriptionId(expected_push_subscription_info, use_key),
331 script_result);
329 } 332 }
330 333
331 PushMessagingAppIdentifier 334 PushMessagingAppIdentifier
332 PushMessagingBrowserTest::GetAppIdentifierForServiceWorkerRegistration( 335 PushMessagingBrowserTest::GetAppIdentifierForServiceWorkerRegistration(
333 int64_t service_worker_registration_id) { 336 int64_t service_worker_registration_id) {
334 GURL origin = https_server()->GetURL("/").GetOrigin(); 337 GURL origin = https_server()->GetURL("/").GetOrigin();
335 PushMessagingAppIdentifier app_identifier = 338 PushMessagingAppIdentifier app_identifier =
336 PushMessagingAppIdentifier::FindByServiceWorker( 339 PushMessagingAppIdentifier::FindByServiceWorker(
337 GetBrowser()->profile(), origin, service_worker_registration_id); 340 GetBrowser()->profile(), origin, service_worker_registration_id);
338 EXPECT_FALSE(app_identifier.is_null()); 341 EXPECT_FALSE(app_identifier.is_null());
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 ASSERT_TRUE(RunScript("workerSubscribePushNoKey()", &script_result)); 521 ASSERT_TRUE(RunScript("workerSubscribePushNoKey()", &script_result));
519 EXPECT_EQ( 522 EXPECT_EQ(
520 "AbortError - Registration failed - gcm_sender_id not found in manifest", 523 "AbortError - Registration failed - gcm_sender_id not found in manifest",
521 script_result); 524 script_result);
522 EXPECT_NE(push_service(), GetAppHandler()); 525 EXPECT_NE(push_service(), GetAppHandler());
523 526
524 // Run the subscription from the document without a key, this will trigger 527 // Run the subscription from the document without a key, this will trigger
525 // the code to read sender id from the manifest and will write it to the 528 // the code to read sender id from the manifest and will write it to the
526 // datastore. 529 // datastore.
527 ASSERT_TRUE(RunScript("documentSubscribePushWithoutKey()", &script_result)); 530 ASSERT_TRUE(RunScript("documentSubscribePushWithoutKey()", &script_result));
528 EXPECT_EQ(GetEndpointForSubscriptionId("1-0"), script_result); 531 EXPECT_EQ(GetEndpointForSubscriptionId("1-0", false), script_result);
529 532
530 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result)); 533 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result));
531 EXPECT_EQ("unsubscribe result: true", script_result); 534 EXPECT_EQ("unsubscribe result: true", script_result);
532 EXPECT_NE(push_service(), GetAppHandler()); 535 EXPECT_NE(push_service(), GetAppHandler());
533 536
534 // Now run the subscribe from the service worker without a key. 537 // Now run the subscribe from the service worker without a key.
535 // In this case, the sender id will be read from the datastore. 538 // In this case, the sender id will be read from the datastore.
536 ASSERT_TRUE(RunScript("workerSubscribePushNoKey()", &script_result)); 539 ASSERT_TRUE(RunScript("workerSubscribePushNoKey()", &script_result));
537 EXPECT_EQ(GetEndpointForSubscriptionId("1-1"), script_result); 540 EXPECT_EQ(GetEndpointForSubscriptionId("1-1", false), script_result);
538 541
539 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result)); 542 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result));
540 EXPECT_EQ("unsubscribe result: true", script_result); 543 EXPECT_EQ("unsubscribe result: true", script_result);
541 EXPECT_NE(push_service(), GetAppHandler()); 544 EXPECT_NE(push_service(), GetAppHandler());
542 } 545 }
543 546
544 // Disabled on Windows and Linux due to flakiness (http://crbug.com/554003). 547 // Disabled on Windows and Linux due to flakiness (http://crbug.com/554003).
545 #if defined(OS_WIN) || defined(OS_LINUX) 548 #if defined(OS_WIN) || defined(OS_LINUX)
546 #define MAYBE_SubscribePersisted DISABLED_SubscribePersisted 549 #define MAYBE_SubscribePersisted DISABLED_SubscribePersisted
547 #else 550 #else
(...skipping 934 matching lines...) Expand 10 before | Expand all | Expand 10 after
1482 ASSERT_FALSE(background_mode_manager->IsBackgroundModeActive()); 1485 ASSERT_FALSE(background_mode_manager->IsBackgroundModeActive());
1483 1486
1484 // After dropping the last subscription background mode is still inactive. 1487 // After dropping the last subscription background mode is still inactive.
1485 std::string script_result; 1488 std::string script_result;
1486 gcm_service()->AddExpectedUnregisterResponse(gcm::GCMClient::SUCCESS); 1489 gcm_service()->AddExpectedUnregisterResponse(gcm::GCMClient::SUCCESS);
1487 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result)); 1490 ASSERT_TRUE(RunScript("unsubscribePush()", &script_result));
1488 EXPECT_EQ("unsubscribe result: true", script_result); 1491 EXPECT_EQ("unsubscribe result: true", script_result);
1489 ASSERT_FALSE(background_mode_manager->IsBackgroundModeActive()); 1492 ASSERT_FALSE(background_mode_manager->IsBackgroundModeActive());
1490 } 1493 }
1491 #endif // BUILDFLAG(ENABLE_BACKGROUND) && !defined(OS_CHROMEOS) 1494 #endif // BUILDFLAG(ENABLE_BACKGROUND) && !defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/push_messaging/push_messaging_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698