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

Unified Diff: chrome/browser/chrome_content_browser_client.cc

Issue 819463002: Implement RevokePermission() method in PermissionService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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/chrome_content_browser_client.cc
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 565eae68ef56d80961de51df01b7668f5fbbe8ec..8ccf339d4dca1ea598cd1cab05858d8cea835604 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -1942,40 +1942,41 @@ void ChromeContentBrowserClient::RequestPermission(
}
}
-content::PermissionStatus ChromeContentBrowserClient::GetPermissionStatus(
- content::PermissionType permission,
- content::BrowserContext* browser_context,
- const GURL& requesting_origin,
- const GURL& embedding_origin) {
- DCHECK(browser_context);
- Profile* profile = Profile::FromBrowserContext(browser_context);
-
- PermissionContextBase* context = nullptr;
+PermissionContextBase*
+ChromeContentBrowserClient::GetPermissionContextFromProfile(Profile* profile,
mlamouri (slow - plz ping) 2014/12/19 13:08:03 I don't think you need this to be part of the clas
timvolodine 2015/01/22 19:37:01 Done.
+ content::PermissionType permission) {
switch (permission) {
case content::PERMISSION_MIDI_SYSEX:
- context = MidiPermissionContextFactory::GetForProfile(profile);
- break;
+ return MidiPermissionContextFactory::GetForProfile(profile);
case content::PERMISSION_NOTIFICATIONS:
#if defined(ENABLE_NOTIFICATIONS)
- context = DesktopNotificationServiceFactory::GetForProfile(profile);
+ return DesktopNotificationServiceFactory::GetForProfile(profile);
#else
NOTIMPLEMENTED();
#endif
- break;
case content::PERMISSION_GEOLOCATION:
- context = GeolocationPermissionContextFactory::GetForProfile(profile);
- break;
+ return GeolocationPermissionContextFactory::GetForProfile(profile);
case content::PERMISSION_PROTECTED_MEDIA:
NOTIMPLEMENTED();
break;
case content::PERMISSION_PUSH_MESSAGING:
- context = gcm::PushMessagingPermissionContextFactory::GetForProfile(
- profile);
- break;
+ return gcm::PushMessagingPermissionContextFactory::GetForProfile(profile);
case content::PERMISSION_NUM:
NOTREACHED() << "Invalid RequestPermission for " << permission;
break;
}
+ return nullptr;
+}
+
+content::PermissionStatus ChromeContentBrowserClient::GetPermissionStatus(
+ content::PermissionType permission,
+ content::BrowserContext* browser_context,
+ const GURL& requesting_origin,
+ const GURL& embedding_origin) {
+ DCHECK(browser_context);
+ Profile* profile = Profile::FromBrowserContext(browser_context);
+ PermissionContextBase* context = GetPermissionContextFromProfile(profile,
+ permission);
ContentSetting result = context
? context->GetPermissionStatus(requesting_origin.GetOrigin(),
@@ -1985,6 +1986,24 @@ content::PermissionStatus ChromeContentBrowserClient::GetPermissionStatus(
return ContentSettingToPermissionStatus(result);
}
+content::PermissionStatus ChromeContentBrowserClient::RevokePermission(
+ content::PermissionType permission,
+ content::BrowserContext* browser_context,
+ const GURL& requesting_origin,
+ const GURL& embedding_origin) {
+ DCHECK(browser_context);
+ Profile* profile = Profile::FromBrowserContext(browser_context);
+ PermissionContextBase* context = GetPermissionContextFromProfile(profile,
+ permission);
+
+ ContentSetting result = context
+ ? context->RevokePermission(requesting_origin.GetOrigin(),
+ embedding_origin.GetOrigin())
+ : CONTENT_SETTING_DEFAULT;
mlamouri (slow - plz ping) 2014/12/19 13:08:03 Maybe you could do: if (!context) return PERMIS
timvolodine 2015/01/22 19:37:01 Done.
+
+ return ContentSettingToPermissionStatus(result);
+}
+
void ChromeContentBrowserClient::CancelPermissionRequest(
content::PermissionType permission,
content::WebContents* web_contents,

Powered by Google App Engine
This is Rietveld 408576698