Chromium Code Reviews| Index: chrome/browser/notifications/notification_permission_context.cc |
| diff --git a/chrome/browser/notifications/notification_permission_context.cc b/chrome/browser/notifications/notification_permission_context.cc |
| index 88a02636281e9c090760fade0176ce7d753bc90c..a5e2e291a31923d732fcba663c48e413831d738e 100644 |
| --- a/chrome/browser/notifications/notification_permission_context.cc |
| +++ b/chrome/browser/notifications/notification_permission_context.cc |
| @@ -13,12 +13,13 @@ |
| #include "base/single_thread_task_runner.h" |
| #include "base/threading/thread_task_runner_handle.h" |
| #include "base/timer/timer.h" |
| +#include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
| #include "chrome/browser/notifications/desktop_notification_profile_util.h" |
| #include "chrome/browser/permissions/permission_request_id.h" |
| #include "chrome/browser/profiles/profile.h" |
| +#include "components/content_settings/core/browser/host_content_settings_map.h" |
| #include "components/content_settings/core/common/content_settings_pattern.h" |
| #include "content/public/browser/browser_thread.h" |
| -#include "content/public/browser/permission_type.h" |
| #include "content/public/browser/render_frame_host.h" |
| #include "content/public/browser/web_contents_observer.h" |
| #include "content/public/browser/web_contents_user_data.h" |
| @@ -161,13 +162,11 @@ DEFINE_WEB_CONTENTS_USER_DATA_KEY(VisibilityTimerTabHelper); |
| NotificationPermissionContext::NotificationPermissionContext( |
| Profile* profile, |
| - content::PermissionType permission_type) |
| - : PermissionContextBase(profile, |
| - permission_type, |
| - CONTENT_SETTINGS_TYPE_NOTIFICATIONS), |
| + ContentSettingsType content_settings_type) |
| + : PermissionContextBase(profile, content_settings_type), |
| weak_factory_ui_thread_(this) { |
| - DCHECK(permission_type == content::PermissionType::NOTIFICATIONS || |
| - permission_type == content::PermissionType::PUSH_MESSAGING); |
| + DCHECK(content_settings_type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS || |
| + content_settings_type == CONTENT_SETTINGS_TYPE_PUSH_MESSAGING); |
| } |
| NotificationPermissionContext::~NotificationPermissionContext() {} |
| @@ -176,13 +175,14 @@ ContentSetting NotificationPermissionContext::GetPermissionStatusInternal( |
| const GURL& requesting_origin, |
| const GURL& embedding_origin) const { |
| // Push messaging is only allowed to be granted on top-level origins. |
| - if (permission_type() == content::PermissionType::PUSH_MESSAGING && |
| - requesting_origin != embedding_origin) { |
| + if (content_settings_type() == CONTENT_SETTINGS_TYPE_PUSH_MESSAGING |
| + && requesting_origin != embedding_origin) { |
| return CONTENT_SETTING_BLOCK; |
| } |
| - return PermissionContextBase::GetPermissionStatusInternal(requesting_origin, |
| - embedding_origin); |
| + return HostContentSettingsMapFactory::GetForProfile(profile()) |
|
raymes
2017/02/09 00:39:56
nit: it's probably worth adding a comment here exp
Timothy Loh
2017/02/10 07:25:38
Done.
|
| + ->GetContentSetting(requesting_origin, embedding_origin, |
| + CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string()); |
| } |
| void NotificationPermissionContext::ResetPermission( |
| @@ -259,5 +259,5 @@ void NotificationPermissionContext::UpdateContentSetting( |
| } |
| bool NotificationPermissionContext::IsRestrictedToSecureOrigins() const { |
| - return permission_type() == content::PermissionType::PUSH_MESSAGING; |
| + return content_settings_type() == CONTENT_SETTINGS_TYPE_PUSH_MESSAGING; |
| } |