Index: chrome/browser/push_messaging/push_messaging_service_impl.cc |
diff --git a/chrome/browser/push_messaging/push_messaging_service_impl.cc b/chrome/browser/push_messaging/push_messaging_service_impl.cc |
index f495134d827fa2465fc3db88c320de47c44b6cd0..9c7e3835dd752423334e73e042da91065536777a 100644 |
--- a/chrome/browser/push_messaging/push_messaging_service_impl.cc |
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.cc |
@@ -24,6 +24,7 @@ |
#include "chrome/browser/gcm/instance_id/instance_id_profile_service.h" |
#include "chrome/browser/gcm/instance_id/instance_id_profile_service_factory.h" |
#include "chrome/browser/permissions/permission_manager.h" |
+#include "chrome/browser/permissions/permission_result.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/push_messaging/push_messaging_app_identifier.h" |
#include "chrome/browser/push_messaging/push_messaging_constants.h" |
@@ -100,14 +101,16 @@ void RecordUnsubscribeIIDResult(InstanceID::Result result) { |
} |
blink::WebPushPermissionStatus ToPushPermission( |
- blink::mojom::PermissionStatus permission_status) { |
- switch (permission_status) { |
- case blink::mojom::PermissionStatus::GRANTED: |
+ ContentSetting content_setting) { |
+ switch (content_setting) { |
+ case CONTENT_SETTING_ALLOW: |
return blink::WebPushPermissionStatusGranted; |
- case blink::mojom::PermissionStatus::DENIED: |
+ case CONTENT_SETTING_BLOCK: |
return blink::WebPushPermissionStatusDenied; |
- case blink::mojom::PermissionStatus::ASK: |
+ case CONTENT_SETTING_ASK: |
return blink::WebPushPermissionStatusPrompt; |
+ default: |
+ break; |
} |
NOTREACHED(); |
return blink::WebPushPermissionStatusDenied; |
@@ -507,7 +510,7 @@ void PushMessagingServiceImpl::SubscribeFromWorker( |
} |
DoSubscribe(app_identifier, options, register_callback, |
- blink::mojom::PermissionStatus::GRANTED); |
+ CONTENT_SETTING_ALLOW); |
} |
blink::WebPushPermissionStatus PushMessagingServiceImpl::GetPermissionStatus( |
@@ -519,8 +522,11 @@ blink::WebPushPermissionStatus PushMessagingServiceImpl::GetPermissionStatus( |
// 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(PermissionManager::Get(profile_)->GetPermissionStatus( |
- CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, origin, origin)); |
+ return ToPushPermission( |
+ PermissionManager::Get(profile_) |
+ ->GetPermissionStatus(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, origin, |
+ origin) |
+ .content_setting); |
} |
bool PushMessagingServiceImpl::SupportNonVisibleMessages() { |
@@ -531,8 +537,8 @@ void PushMessagingServiceImpl::DoSubscribe( |
const PushMessagingAppIdentifier& app_identifier, |
const content::PushSubscriptionOptions& options, |
const RegisterCallback& register_callback, |
- blink::mojom::PermissionStatus permission_status) { |
- if (permission_status != blink::mojom::PermissionStatus::GRANTED) { |
+ ContentSetting content_setting) { |
+ if (content_setting != CONTENT_SETTING_ALLOW) { |
SubscribeEndWithError(register_callback, |
content::PUSH_REGISTRATION_STATUS_PERMISSION_DENIED); |
return; |