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

Unified Diff: chrome/browser/notifications/notification_permission_context.cc

Issue 2149883002: Use the same codepath for NOTIFICATIONS and PUSH_MESSAGING permissions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
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 8a90344ca0328c6cd97e829518c3a442b15e8ed5..ed86e9a2cf2fd557b0426a0322a6204235ca1ac9 100644
--- a/chrome/browser/notifications/notification_permission_context.cc
+++ b/chrome/browser/notifications/notification_permission_context.cc
@@ -159,14 +159,31 @@ void VisibilityTimerTabHelper::RunTask(const base::Closure& task) {
DEFINE_WEB_CONTENTS_USER_DATA_KEY(VisibilityTimerTabHelper);
-NotificationPermissionContext::NotificationPermissionContext(Profile* profile)
+NotificationPermissionContext::NotificationPermissionContext(
+ Profile* profile,
+ content::PermissionType permission_type)
: PermissionContextBase(profile,
- content::PermissionType::NOTIFICATIONS,
+ permission_type,
CONTENT_SETTINGS_TYPE_NOTIFICATIONS),
- weak_factory_ui_thread_(this) {}
+ weak_factory_ui_thread_(this) {
+ DCHECK(permission_type == content::PermissionType::NOTIFICATIONS ||
+ permission_type == content::PermissionType::PUSH_MESSAGING);
+}
NotificationPermissionContext::~NotificationPermissionContext() {}
+ContentSetting NotificationPermissionContext::GetPermissionStatus(
+ const GURL& requesting_origin,
+ const GURL& embedding_origin) const {
+ if (permission_type() == content::PermissionType::PUSH_MESSAGING &&
Miguel Garcia 2016/07/14 18:02:03 perhaps it's worth adding a comment on why?
raymes 2016/07/18 07:04:51 Done.
+ requesting_origin != embedding_origin) {
+ return CONTENT_SETTING_BLOCK;
Peter Beverloo 2016/07/14 17:15:19 Is GetPermissionStatus() always checked before Dec
Miguel Garcia 2016/07/14 18:02:03 Yes, this is enforced by the base class. The diffe
+ }
+
+ return PermissionContextBase::GetPermissionStatus(requesting_origin,
+ embedding_origin);
+}
+
void NotificationPermissionContext::ResetPermission(
const GURL& requesting_origin,
const GURL& embedder_origin) {
@@ -239,5 +256,7 @@ void NotificationPermissionContext::UpdateContentSetting(
}
bool NotificationPermissionContext::IsRestrictedToSecureOrigins() const {
+ if (permission_type() == content::PermissionType::PUSH_MESSAGING)
+ return true;
return false;
Peter Beverloo 2016/07/14 17:15:19 nit: return permission_type() == content::Permi
raymes 2016/07/18 07:04:51 Done.
}

Powered by Google App Engine
This is Rietveld 408576698