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

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

Issue 1871343002: Remove PermissionContext factories (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 2214145796414bc0fb034c4676e9481b72b71bf5..f5591c26faeba9bab26117e7fa51b77fbf57bd05 100644
--- a/chrome/browser/push_messaging/push_messaging_permission_context.cc
+++ b/chrome/browser/push_messaging/push_messaging_permission_context.cc
@@ -5,8 +5,7 @@
#include "chrome/browser/push_messaging/push_messaging_permission_context.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
-#include "chrome/browser/notifications/notification_permission_context.h"
-#include "chrome/browser/notifications/notification_permission_context_factory.h"
+#include "chrome/browser/permissions/permission_manager.h"
#include "chrome/browser/permissions/permission_request_id.h"
#include "chrome/browser/permissions/permission_uma_util.h"
#include "chrome/browser/profiles/profile.h"
@@ -41,19 +40,16 @@ ContentSetting PushMessagingPermissionContext::GetPermissionStatus(
PermissionContextBase::GetPermissionStatus(requesting_origin,
embedding_origin);
- NotificationPermissionContext* notification_context =
- NotificationPermissionContextFactory::GetForProfile(profile_);
- DCHECK(notification_context);
+ blink::mojom::PermissionStatus notifications_permission =
+ PermissionManager::Get(profile_)->GetPermissionStatus(
+ content::PermissionType::NOTIFICATIONS, requesting_origin,
+ embedding_origin);
- ContentSetting notifications_permission =
- notification_context->GetPermissionStatus(requesting_origin,
- embedding_origin);
-
- if (notifications_permission == CONTENT_SETTING_BLOCK ||
+ if (notifications_permission == blink::mojom::PermissionStatus::DENIED ||
push_content_setting == CONTENT_SETTING_BLOCK) {
return CONTENT_SETTING_BLOCK;
}
- if (notifications_permission == CONTENT_SETTING_ASK)
+ if (notifications_permission == blink::mojom::PermissionStatus::ASK)
return CONTENT_SETTING_ASK;
DCHECK(push_content_setting == CONTENT_SETTING_ALLOW ||
@@ -88,12 +84,9 @@ void PushMessagingPermissionContext::DecidePermission(
return;
}
- NotificationPermissionContext* notification_context =
- NotificationPermissionContextFactory::GetForProfile(profile_);
- DCHECK(notification_context);
-
- notification_context->RequestPermission(
- web_contents, id, requesting_origin,
+ PermissionManager::Get(profile_)->RequestPermission(
+ content::PermissionType::NOTIFICATIONS, web_contents->GetMainFrame(),
+ requesting_origin,
base::Bind(&PushMessagingPermissionContext::DecidePushPermission,
weak_factory_ui_thread_.GetWeakPtr(), id, requesting_origin,
embedding_origin, callback));
@@ -112,8 +105,10 @@ void PushMessagingPermissionContext::DecidePushPermission(
const GURL& requesting_origin,
const GURL& embedding_origin,
const BrowserPermissionCallback& callback,
- ContentSetting notification_content_setting) {
+ blink::mojom::PermissionStatus notification_status) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+ DCHECK_NE(notification_status, blink::mojom::PermissionStatus::ASK);
+
ContentSetting push_content_setting =
HostContentSettingsMapFactory::GetForProfile(profile_)
->GetContentSettingAndMaybeUpdateLastUsage(
@@ -128,10 +123,10 @@ void PushMessagingPermissionContext::DecidePushPermission(
return;
}
- if (notification_content_setting != CONTENT_SETTING_ALLOW) {
+ if (notification_status == blink::mojom::PermissionStatus::DENIED) {
DVLOG(1) << "Notification permission has not been granted.";
NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
- false /* persist */, notification_content_setting);
+ false /* persist */, CONTENT_SETTING_BLOCK);
return;
}

Powered by Google App Engine
This is Rietveld 408576698