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

Unified Diff: chrome/browser/push_messaging/push_messaging_permission_context.cc

Issue 1726323002: Have Permission{Manager,Service} use Origin. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 9 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/push_messaging/push_messaging_permission_context.cc
diff --git a/chrome/browser/push_messaging/push_messaging_permission_context.cc b/chrome/browser/push_messaging/push_messaging_permission_context.cc
index 6125f3ebfd3ab245f66518fa08ef6a867994c06e..525d6c2628197d269882c3664e6397c82638da85 100644
--- a/chrome/browser/push_messaging/push_messaging_permission_context.cc
+++ b/chrome/browser/push_messaging/push_messaging_permission_context.cc
@@ -27,14 +27,14 @@ PushMessagingPermissionContext::PushMessagingPermissionContext(Profile* profile)
PushMessagingPermissionContext::~PushMessagingPermissionContext() {}
ContentSetting PushMessagingPermissionContext::GetPermissionStatus(
- const GURL& requesting_origin,
- const GURL& embedding_origin) const {
- // It's possible for this to return CONTENT_SETTING_BLOCK in cases where
- // HostContentSettingsMap::GetContentSetting returns CONTENT_SETTING_ALLOW.
- // TODO(johnme): This is likely to break assumptions made elsewhere, so we
- // should try to remove this quirk.
+ const url::Origin& requesting_origin,
+ const url::Origin& embedding_origin) const {
+// It's possible for this to return CONTENT_SETTING_BLOCK in cases where
+// HostContentSettingsMap::GetContentSetting returns CONTENT_SETTING_ALLOW.
+// TODO(johnme): This is likely to break assumptions made elsewhere, so we
+// should try to remove this quirk.
#if defined(ENABLE_NOTIFICATIONS)
- if (requesting_origin != embedding_origin)
+ if (!requesting_origin.IsSameOriginWith(embedding_origin))
return CONTENT_SETTING_BLOCK;
ContentSetting push_content_setting =
@@ -74,12 +74,12 @@ ContentSetting PushMessagingPermissionContext::GetPermissionStatus(
void PushMessagingPermissionContext::DecidePermission(
content::WebContents* web_contents,
const PermissionRequestID& id,
- const GURL& requesting_origin,
- const GURL& embedding_origin,
+ const url::Origin& requesting_origin,
+ const url::Origin& embedding_origin,
const BrowserPermissionCallback& callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
#if defined(ENABLE_NOTIFICATIONS)
- if (requesting_origin != embedding_origin) {
+ if (!requesting_origin.IsSameOriginWith(embedding_origin)) {
NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
false /* persist */, CONTENT_SETTING_BLOCK);
return;
@@ -106,20 +106,22 @@ bool PushMessagingPermissionContext::IsRestrictedToSecureOrigins() const {
void PushMessagingPermissionContext::DecidePushPermission(
const PermissionRequestID& id,
- const GURL& requesting_origin,
- const GURL& embedding_origin,
+ const url::Origin& requesting_origin,
+ const url::Origin& embedding_origin,
const BrowserPermissionCallback& callback,
ContentSetting notification_content_setting) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+ const GURL requesting_url(requesting_origin.Serialize());
+ const GURL embedding_url(embedding_origin.Serialize());
ContentSetting push_content_setting =
HostContentSettingsMapFactory::GetForProfile(profile_)
->GetContentSettingAndMaybeUpdateLastUsage(
- requesting_origin, embedding_origin, content_settings_type(),
+ requesting_url, embedding_url, content_settings_type(),
std::string());
if (push_content_setting == CONTENT_SETTING_BLOCK) {
DVLOG(1) << "Push permission was explicitly blocked.";
- PermissionUmaUtil::PermissionDenied(permission_type(), requesting_origin);
+ PermissionUmaUtil::PermissionDenied(permission_type(), requesting_url);
NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
true /* persist */, CONTENT_SETTING_BLOCK);
return;
@@ -132,7 +134,7 @@ void PushMessagingPermissionContext::DecidePushPermission(
return;
}
- PermissionUmaUtil::PermissionGranted(permission_type(), requesting_origin);
+ PermissionUmaUtil::PermissionGranted(permission_type(), requesting_url);
NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
true /* persist */, CONTENT_SETTING_ALLOW);
}

Powered by Google App Engine
This is Rietveld 408576698