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

Unified Diff: chrome/browser/content_settings/permission_context_base.cc

Issue 459953002: Migrate geolocation permissions to the new common permission class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 3 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/content_settings/permission_context_base.cc
diff --git a/chrome/browser/content_settings/permission_context_base.cc b/chrome/browser/content_settings/permission_context_base.cc
index 585d802a41a0ce2bfb091bb49570df9ece089737..e82419df72ffd51cc2978ed1b961365f00de9f4d 100644
--- a/chrome/browser/content_settings/permission_context_base.cc
+++ b/chrome/browser/content_settings/permission_context_base.cc
@@ -29,7 +29,7 @@ PermissionContextBase::PermissionContextBase(
}
PermissionContextBase::~PermissionContextBase() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
}
void PermissionContextBase::RequestPermission(
@@ -38,7 +38,7 @@ void PermissionContextBase::RequestPermission(
const GURL& requesting_frame,
bool user_gesture,
const BrowserPermissionCallback& callback) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
DecidePermission(web_contents,
id,
@@ -48,6 +48,25 @@ void PermissionContextBase::RequestPermission(
callback);
}
+void PermissionContextBase::CancelPermissionRequest(
+ content::WebContents* web_contents,
+ const PermissionRequestID& id) {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+
+ if (PermissionBubbleManager::Enabled()) {
+ PermissionBubbleRequest* cancelling =
+ pending_bubbles_.get(id.ToString());
+ if (cancelling != NULL && web_contents != NULL &&
+ PermissionBubbleManager::FromWebContents(web_contents) != NULL) {
+ PermissionBubbleManager::FromWebContents(web_contents)->
+ CancelRequest(cancelling);
+ }
+ return;
+ }
+
+ GetQueueController()->CancelInfoBarRequest(id);
+}
+
void PermissionContextBase::DecidePermission(
content::WebContents* web_contents,
const PermissionRequestID& id,
@@ -58,7 +77,8 @@ void PermissionContextBase::DecidePermission(
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
ContentSetting content_setting =
- profile_->GetHostContentSettingsMap()->GetContentSetting(
+ profile_->GetHostContentSettingsMap()
+ ->GetContentSettingAndMaybeUpdateLastUsage(
requesting_origin, embedder_origin, permission_type_, std::string());
switch (content_setting) {
case CONTENT_SETTING_BLOCK:

Powered by Google App Engine
This is Rietveld 408576698