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

Side by Side Diff: content/shell/browser/layout_test/layout_test_push_messaging_service.cc

Issue 793403002: Implement WebPushProvider.unregister() in Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mvan_2
Patch Set: browsertests and override fix Created 6 years 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
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 "content/shell/browser/layout_test/layout_test_push_messaging_service.h " 5 #include "content/shell/browser/layout_test/layout_test_push_messaging_service.h "
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 namespace content { 9 namespace content {
10 10
11 LayoutTestPushMessagingService::LayoutTestPushMessagingService() { 11 LayoutTestPushMessagingService::LayoutTestPushMessagingService() {
12 } 12 }
13 13
14 LayoutTestPushMessagingService::~LayoutTestPushMessagingService() { 14 LayoutTestPushMessagingService::~LayoutTestPushMessagingService() {
15 } 15 }
16 16
17 void LayoutTestPushMessagingService::SetPermission(const GURL& origin, 17 void LayoutTestPushMessagingService::SetPermission(const GURL& origin,
18 bool allowed) { 18 bool allowed) {
19 permission_map_[origin] = allowed ? blink::WebPushPermissionStatusGranted 19 permission_map_[origin] = allowed ? blink::WebPushPermissionStatusGranted
20 : blink::WebPushPermissionStatusDenied; 20 : blink::WebPushPermissionStatusDenied;
21 } 21 }
22 22
23 void LayoutTestPushMessagingService::ClearPermissions() { 23 void LayoutTestPushMessagingService::ClearPermissions() {
24 permission_map_.clear(); 24 permission_map_.clear();
25 registrations_.clear();
25 } 26 }
26 27
27 GURL LayoutTestPushMessagingService::GetPushEndpoint() { 28 GURL LayoutTestPushMessagingService::GetPushEndpoint() {
28 return GURL("https://example.com/LayoutTestEndpoint"); 29 return GURL("https://example.com/LayoutTestEndpoint");
29 } 30 }
30 31
31 void LayoutTestPushMessagingService::RegisterFromDocument( 32 void LayoutTestPushMessagingService::RegisterFromDocument(
32 const GURL& requesting_origin, 33 const GURL& requesting_origin,
33 int64 service_worker_registration_id, 34 int64 service_worker_registration_id,
34 const std::string& sender_id, 35 const std::string& sender_id,
35 int renderer_id, 36 int renderer_id,
36 int render_frame_id, 37 int render_frame_id,
37 bool user_gesture, 38 bool user_gesture,
38 const PushMessagingService::RegisterCallback& callback) { 39 const PushMessagingService::RegisterCallback& callback) {
39 RegisterFromWorker(requesting_origin, service_worker_registration_id, 40 RegisterFromWorker(requesting_origin, service_worker_registration_id,
40 sender_id, callback); 41 sender_id, callback);
41 } 42 }
42 43
43 void LayoutTestPushMessagingService::RegisterFromWorker( 44 void LayoutTestPushMessagingService::RegisterFromWorker(
44 const GURL& requesting_origin, 45 const GURL& requesting_origin,
45 int64 service_worker_registration_id, 46 int64 service_worker_registration_id,
46 const std::string& sender_id, 47 const std::string& sender_id,
47 const PushMessagingService::RegisterCallback& callback) { 48 const PushMessagingService::RegisterCallback& callback) {
48 if (GetPermissionStatus(requesting_origin, requesting_origin) == 49 if (GetPermissionStatus(requesting_origin, requesting_origin) ==
49 blink::WebPushPermissionStatusGranted) { 50 blink::WebPushPermissionStatusGranted) {
50 callback.Run("layoutTestRegistrationId", PUSH_REGISTRATION_STATUS_SUCCESS); 51 callback.Run("layoutTestRegistrationId", PUSH_REGISTRATION_STATUS_SUCCESS);
52 registrations_.insert(requesting_origin);
Michael van Ouwerkerk 2014/12/12 13:55:41 Move this before running the callback.
mlamouri (slow - plz ping) 2014/12/15 11:29:37 Done.
51 } else { 53 } else {
52 callback.Run("registration_id", PUSH_REGISTRATION_STATUS_PERMISSION_DENIED); 54 callback.Run("registration_id", PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
53 } 55 }
54 } 56 }
55 57
56 blink::WebPushPermissionStatus 58 blink::WebPushPermissionStatus
57 LayoutTestPushMessagingService::GetPermissionStatus( 59 LayoutTestPushMessagingService::GetPermissionStatus(
58 const GURL& requesting_origin, 60 const GURL& requesting_origin,
59 int renderer_id, 61 int renderer_id,
60 int render_frame_id) { 62 int render_frame_id) {
61 return GetPermissionStatus(requesting_origin, requesting_origin); 63 return GetPermissionStatus(requesting_origin, requesting_origin);
62 } 64 }
63 65
64 blink::WebPushPermissionStatus 66 blink::WebPushPermissionStatus
65 LayoutTestPushMessagingService::GetPermissionStatus( 67 LayoutTestPushMessagingService::GetPermissionStatus(
66 const GURL& requesting_origin, 68 const GURL& requesting_origin,
67 const GURL& embedding_origin) { 69 const GURL& embedding_origin) {
68 const auto& it = permission_map_.find(requesting_origin); 70 const auto& it = permission_map_.find(requesting_origin);
69 if (it == permission_map_.end()) 71 if (it == permission_map_.end())
70 return blink::WebPushPermissionStatusDefault; 72 return blink::WebPushPermissionStatusDefault;
71 return it->second; 73 return it->second;
72 } 74 }
73 75
76 void LayoutTestPushMessagingService::Unregister(
77 const GURL& requesting_origin,
78 int64 service_worker_registration_id,
79 const UnregisterCallback& callback) {
80 callback.Run(registrations_.erase(requesting_origin) == 1);
81 }
82
74 } // namespace content 83 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698