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 "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 Loading... |
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 Loading... |
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 |
OLD | NEW |