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

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

Issue 2697793004: Push API: Validate storage before returning cached subscriptions (Closed)
Patch Set: Fix include Created 3 years, 8 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
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/callback.h" 7 #include "base/callback.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "content/public/browser/permission_type.h" 10 #include "content/public/browser/permission_type.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 return GURL(standard_protocol ? "https://example.com/StandardizedEndpoint/" 68 return GURL(standard_protocol ? "https://example.com/StandardizedEndpoint/"
69 : "https://example.com/LayoutTestEndpoint/"); 69 : "https://example.com/LayoutTestEndpoint/");
70 } 70 }
71 71
72 void LayoutTestPushMessagingService::SubscribeFromDocument( 72 void LayoutTestPushMessagingService::SubscribeFromDocument(
73 const GURL& requesting_origin, 73 const GURL& requesting_origin,
74 int64_t service_worker_registration_id, 74 int64_t service_worker_registration_id,
75 int renderer_id, 75 int renderer_id,
76 int render_frame_id, 76 int render_frame_id,
77 const PushSubscriptionOptions& options, 77 const PushSubscriptionOptions& options,
78 const PushMessagingService::RegisterCallback& callback) { 78 const RegisterCallback& callback) {
79 SubscribeFromWorker(requesting_origin, service_worker_registration_id, 79 SubscribeFromWorker(requesting_origin, service_worker_registration_id,
80 options, callback); 80 options, callback);
81 } 81 }
82 82
83 void LayoutTestPushMessagingService::SubscribeFromWorker( 83 void LayoutTestPushMessagingService::SubscribeFromWorker(
84 const GURL& requesting_origin, 84 const GURL& requesting_origin,
85 int64_t service_worker_registration_id, 85 int64_t service_worker_registration_id,
86 const PushSubscriptionOptions& options, 86 const PushSubscriptionOptions& options,
87 const PushMessagingService::RegisterCallback& callback) { 87 const RegisterCallback& callback) {
88 if (GetPermissionStatus(requesting_origin, options.user_visible_only) == 88 if (GetPermissionStatus(requesting_origin, options.user_visible_only) ==
89 blink::WebPushPermissionStatusGranted) { 89 blink::WebPushPermissionStatusGranted) {
90 std::vector<uint8_t> p256dh( 90 std::vector<uint8_t> p256dh(
91 kTestP256Key, kTestP256Key + arraysize(kTestP256Key)); 91 kTestP256Key, kTestP256Key + arraysize(kTestP256Key));
92 std::vector<uint8_t> auth( 92 std::vector<uint8_t> auth(
93 kAuthentication, kAuthentication + arraysize(kAuthentication)); 93 kAuthentication, kAuthentication + arraysize(kAuthentication));
94 94
95 subscribed_service_worker_registration_ = service_worker_registration_id; 95 subscribed_service_worker_registration_ = service_worker_registration_id;
96 callback.Run("layoutTestRegistrationId", p256dh, auth, 96 callback.Run("layoutTestRegistrationId", p256dh, auth,
97 PUSH_REGISTRATION_STATUS_SUCCESS_FROM_PUSH_SERVICE); 97 PUSH_REGISTRATION_STATUS_SUCCESS_FROM_PUSH_SERVICE);
98 } else { 98 } else {
99 callback.Run("registration_id", std::vector<uint8_t>() /* p256dh */, 99 callback.Run("registration_id", std::vector<uint8_t>() /* p256dh */,
100 std::vector<uint8_t>() /* auth */, 100 std::vector<uint8_t>() /* auth */,
101 PUSH_REGISTRATION_STATUS_PERMISSION_DENIED); 101 PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
102 } 102 }
103 } 103 }
104 104
105 void LayoutTestPushMessagingService::GetEncryptionInfo( 105 void LayoutTestPushMessagingService::GetSubscriptionInfo(
106 const GURL& origin, 106 const GURL& origin,
107 int64_t service_worker_registration_id, 107 int64_t service_worker_registration_id,
108 const std::string& sender_id, 108 const std::string& sender_id,
109 const EncryptionInfoCallback& callback) { 109 const std::string& subscription_id,
110 const SubscriptionInfoCallback& callback) {
110 std::vector<uint8_t> p256dh( 111 std::vector<uint8_t> p256dh(
111 kTestP256Key, kTestP256Key + arraysize(kTestP256Key)); 112 kTestP256Key, kTestP256Key + arraysize(kTestP256Key));
112 std::vector<uint8_t> auth( 113 std::vector<uint8_t> auth(
113 kAuthentication, kAuthentication + arraysize(kAuthentication)); 114 kAuthentication, kAuthentication + arraysize(kAuthentication));
114 115
115 callback.Run(true /* success */, p256dh, auth); 116 callback.Run(true /* is_valid */, p256dh, auth);
116 } 117 }
117 118
118 blink::WebPushPermissionStatus 119 blink::WebPushPermissionStatus
119 LayoutTestPushMessagingService::GetPermissionStatus(const GURL& origin, 120 LayoutTestPushMessagingService::GetPermissionStatus(const GURL& origin,
120 bool user_visible) { 121 bool user_visible) {
121 return ToWebPushPermissionStatus(LayoutTestContentBrowserClient::Get() 122 return ToWebPushPermissionStatus(LayoutTestContentBrowserClient::Get()
122 ->browser_context() 123 ->browser_context()
123 ->GetPermissionManager() 124 ->GetPermissionManager()
124 ->GetPermissionStatus(PermissionType::PUSH_MESSAGING, origin, origin)); 125 ->GetPermissionStatus(PermissionType::PUSH_MESSAGING, origin, origin));
125 } 126 }
126 127
127 bool LayoutTestPushMessagingService::SupportNonVisibleMessages() { 128 bool LayoutTestPushMessagingService::SupportNonVisibleMessages() {
128 return false; 129 return false;
129 } 130 }
130 131
131 void LayoutTestPushMessagingService::Unsubscribe( 132 void LayoutTestPushMessagingService::Unsubscribe(
133 PushUnregistrationReason reason,
132 const GURL& requesting_origin, 134 const GURL& requesting_origin,
133 int64_t service_worker_registration_id, 135 int64_t service_worker_registration_id,
134 const std::string& sender_id, 136 const std::string& sender_id,
135 const UnregisterCallback& callback) { 137 const UnregisterCallback& callback) {
136 ClearPushSubscriptionId( 138 ClearPushSubscriptionId(
137 LayoutTestContentBrowserClient::Get()->browser_context(), 139 LayoutTestContentBrowserClient::Get()->browser_context(),
138 requesting_origin, service_worker_registration_id, 140 requesting_origin, service_worker_registration_id,
139 base::Bind(callback, 141 base::Bind(callback,
140 service_worker_registration_id == 142 service_worker_registration_id ==
141 subscribed_service_worker_registration_ 143 subscribed_service_worker_registration_
(...skipping 10 matching lines...) Expand all
152 const GURL& origin, 154 const GURL& origin,
153 int64_t service_worker_registration_id) { 155 int64_t service_worker_registration_id) {
154 if (service_worker_registration_id == 156 if (service_worker_registration_id ==
155 subscribed_service_worker_registration_) { 157 subscribed_service_worker_registration_) {
156 subscribed_service_worker_registration_ = 158 subscribed_service_worker_registration_ =
157 kInvalidServiceWorkerRegistrationId; 159 kInvalidServiceWorkerRegistrationId;
158 } 160 }
159 } 161 }
160 162
161 } // namespace content 163 } // namespace content
OLDNEW
« no previous file with comments | « content/shell/browser/layout_test/layout_test_push_messaging_service.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698