summaryrefslogtreecommitdiffstats
path: root/chrome/browser/push_messaging
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/push_messaging')
-rw-r--r--chrome/browser/push_messaging/push_messaging_service_impl.cc17
-rw-r--r--chrome/browser/push_messaging/push_messaging_service_impl.h3
-rw-r--r--chrome/browser/push_messaging/push_messaging_service_unittest.cc2
3 files changed, 11 insertions, 11 deletions
diff --git a/chrome/browser/push_messaging/push_messaging_service_impl.cc b/chrome/browser/push_messaging/push_messaging_service_impl.cc
index b8725fc..7cc246c 100644
--- a/chrome/browser/push_messaging/push_messaging_service_impl.cc
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.cc
@@ -401,10 +401,10 @@ void PushMessagingServiceImpl::SubscribeFromWorker(
return;
}
- GURL embedding_origin = requesting_origin;
blink::WebPushPermissionStatus permission_status =
- PushMessagingServiceImpl::GetPermissionStatus(
- requesting_origin, embedding_origin, user_visible);
+ PushMessagingServiceImpl::GetPermissionStatus(requesting_origin,
+ user_visible);
+
if (permission_status != blink::WebPushPermissionStatusGranted) {
SubscribeEndWithError(register_callback,
content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED);
@@ -420,15 +420,16 @@ void PushMessagingServiceImpl::SubscribeFromWorker(
}
blink::WebPushPermissionStatus PushMessagingServiceImpl::GetPermissionStatus(
- const GURL& requesting_origin,
- const GURL& embedding_origin,
+ const GURL& origin,
bool user_visible) {
if (!user_visible)
return blink::WebPushPermissionStatusDenied;
+ // Because the Push API is tied to Service Workers, many usages of the API
+ // won't have an embedding origin at all. Only consider the requesting
+ // |origin| when checking whether permission to use the API has been granted.
return ToPushPermission(profile_->GetPermissionManager()->GetPermissionStatus(
- content::PermissionType::PUSH_MESSAGING, requesting_origin,
- embedding_origin));
+ content::PermissionType::PUSH_MESSAGING, origin, origin));
}
bool PushMessagingServiceImpl::SupportNonVisibleMessages() {
@@ -764,7 +765,7 @@ void PushMessagingServiceImpl::OnMenuClick() {
// Assumes user_visible always since this is just meant to check
// if the permission was previously granted and not revoked.
bool PushMessagingServiceImpl::IsPermissionSet(const GURL& origin) {
- return GetPermissionStatus(origin, origin, true /* user_visible */) ==
+ return GetPermissionStatus(origin, true /* user_visible */) ==
blink::WebPushPermissionStatusGranted;
}
diff --git a/chrome/browser/push_messaging/push_messaging_service_impl.h b/chrome/browser/push_messaging/push_messaging_service_impl.h
index 449154b9..cae261f 100644
--- a/chrome/browser/push_messaging/push_messaging_service_impl.h
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.h
@@ -96,8 +96,7 @@ class PushMessagingServiceImpl : public content::PushMessagingService,
const std::string& sender_id,
const content::PushMessagingService::UnregisterCallback&) override;
blink::WebPushPermissionStatus GetPermissionStatus(
- const GURL& requesting_origin,
- const GURL& embedding_origin,
+ const GURL& origin,
bool user_visible) override;
bool SupportNonVisibleMessages() override;
diff --git a/chrome/browser/push_messaging/push_messaging_service_unittest.cc b/chrome/browser/push_messaging/push_messaging_service_unittest.cc
index 31a6d9e..61fdd47 100644
--- a/chrome/browser/push_messaging/push_messaging_service_unittest.cc
+++ b/chrome/browser/push_messaging/push_messaging_service_unittest.cc
@@ -151,7 +151,7 @@ TEST_F(PushMessagingServiceTest, PayloadEncryptionTest) {
// (1) Make sure that |kExampleOrigin| has access to use Push Messaging.
ASSERT_EQ(blink::WebPushPermissionStatusGranted,
- push_service->GetPermissionStatus(origin, origin, true));
+ push_service->GetPermissionStatus(origin, true));
std::string subscription_id;
std::vector<uint8_t> p256dh, auth;