Chromium Code Reviews| Index: chrome/browser/permissions/permission_context_base.cc |
| diff --git a/chrome/browser/permissions/permission_context_base.cc b/chrome/browser/permissions/permission_context_base.cc |
| index c00f3e7aa503570ad94c778a64b0b4923857aa9d..d20aa3dcbfd16f58f3a08b3653723209b54ca31d 100644 |
| --- a/chrome/browser/permissions/permission_context_base.cc |
| +++ b/chrome/browser/permissions/permission_context_base.cc |
| @@ -52,15 +52,13 @@ const char PermissionContextBase::kPermissionsKillSwitchBlockedValue[] = |
| PermissionContextBase::PermissionContextBase( |
| Profile* profile, |
| - const content::PermissionType permission_type, |
| const ContentSettingsType content_settings_type) |
| : profile_(profile), |
| - permission_type_(permission_type), |
| content_settings_type_(content_settings_type), |
| weak_factory_(this) { |
| #if defined(OS_ANDROID) |
| - permission_queue_controller_.reset(new PermissionQueueController( |
| - profile_, permission_type_, content_settings_type_)); |
| + permission_queue_controller_.reset( |
| + new PermissionQueueController(profile_, content_settings_type_)); |
| #endif |
| PermissionDecisionAutoBlocker::UpdateFromVariations(); |
| } |
| @@ -84,7 +82,8 @@ void PermissionContextBase::RequestPermission( |
| content::CONSOLE_MESSAGE_LEVEL_INFO, |
| base::StringPrintf( |
| "%s permission has been blocked.", |
| - PermissionUtil::GetPermissionString(permission_type_).c_str())); |
| + PermissionUtil::GetPermissionString(content_settings_type_) |
| + .c_str())); |
| // The kill switch is enabled for this permission; Block all requests. |
| callback.Run(CONTENT_SETTING_BLOCK); |
| return; |
| @@ -114,8 +113,11 @@ void PermissionContextBase::RequestPermission( |
| ContentSetting content_setting = |
| GetPermissionStatus(requesting_origin, embedding_origin); |
| if (content_setting == CONTENT_SETTING_ALLOW) { |
| + ContentSettingsType type_for_map = content_settings_type_; |
| + if (type_for_map == CONTENT_SETTINGS_TYPE_PUSH_MESSAGING) |
| + type_for_map = CONTENT_SETTINGS_TYPE_NOTIFICATIONS; |
| HostContentSettingsMapFactory::GetForProfile(profile_)->UpdateLastUsage( |
| - requesting_origin, embedding_origin, content_settings_type_); |
| + requesting_origin, embedding_origin, type_for_map); |
|
raymes
2017/02/07 04:46:15
I think we should just delete this since it's not
Timothy Loh
2017/02/08 04:01:06
Sure, I'll do this later :)
raymes
2017/02/09 00:39:56
In that case, please add a note about why we need
Timothy Loh
2017/02/10 07:25:38
Done.
|
| } |
| if (content_setting == CONTENT_SETTING_ALLOW || |
| @@ -130,7 +132,7 @@ void PermissionContextBase::RequestPermission( |
| // have been dismissed too many times in a row. If the origin is allowed to |
| // request, that request will be made to ContinueRequestPermission(). |
| PermissionDecisionAutoBlocker::GetForProfile(profile_)->UpdateEmbargoedStatus( |
| - permission_type_, requesting_origin, web_contents, |
| + content_settings_type_, requesting_origin, web_contents, |
| base::Bind(&PermissionContextBase::ContinueRequestPermission, |
| weak_factory_.GetWeakPtr(), web_contents, id, |
| requesting_origin, embedding_origin, user_gesture, callback)); |
| @@ -151,14 +153,15 @@ void PermissionContextBase::ContinueRequestPermission( |
| content::CONSOLE_MESSAGE_LEVEL_INFO, |
| base::StringPrintf( |
| "%s permission has been auto-blocked.", |
| - PermissionUtil::GetPermissionString(permission_type_).c_str())); |
| + PermissionUtil::GetPermissionString(content_settings_type_) |
| + .c_str())); |
| // Permission has been automatically blocked. |
| callback.Run(CONTENT_SETTING_BLOCK); |
| return; |
| } |
| - PermissionUmaUtil::PermissionRequested(permission_type_, requesting_origin, |
| - embedding_origin, profile_); |
| + PermissionUmaUtil::PermissionRequested( |
| + content_settings_type_, requesting_origin, embedding_origin, profile_); |
| DecidePermission(web_contents, id, requesting_origin, embedding_origin, |
| user_gesture, callback); |
| @@ -180,7 +183,7 @@ ContentSetting PermissionContextBase::GetPermissionStatus( |
| GetPermissionStatusInternal(requesting_origin, embedding_origin); |
| if (content_setting == CONTENT_SETTING_ASK && |
| PermissionDecisionAutoBlocker::GetForProfile(profile_)->IsUnderEmbargo( |
| - permission_type_, requesting_origin)) { |
| + content_settings_type_, requesting_origin)) { |
| return CONTENT_SETTING_BLOCK; |
| } |
| return content_setting; |
| @@ -219,7 +222,7 @@ void PermissionContextBase::CancelPermissionRequest( |
| bool PermissionContextBase::IsPermissionKillSwitchOn() const { |
| const std::string param = variations::GetVariationParamValue( |
| kPermissionsKillSwitchFieldStudy, |
| - PermissionUtil::GetPermissionString(permission_type_)); |
| + PermissionUtil::GetPermissionString(content_settings_type_)); |
| return param == kPermissionsKillSwitchBlockedValue; |
| } |
| @@ -251,7 +254,7 @@ void PermissionContextBase::DecidePermission( |
| std::unique_ptr<PermissionRequest> request_ptr = |
| base::MakeUnique<PermissionRequestImpl>( |
| - requesting_origin, permission_type_, profile_, user_gesture, |
| + requesting_origin, content_settings_type_, profile_, user_gesture, |
| base::Bind(&PermissionContextBase::PermissionDecided, |
| weak_factory_.GetWeakPtr(), id, requesting_origin, |
| embedding_origin, user_gesture, callback), |
| @@ -299,20 +302,21 @@ void PermissionContextBase::PermissionDecided( |
| content_setting == CONTENT_SETTING_BLOCK || |
| content_setting == CONTENT_SETTING_DEFAULT); |
| if (content_setting == CONTENT_SETTING_ALLOW) { |
| - PermissionUmaUtil::PermissionGranted(permission_type_, gesture_type, |
| + PermissionUmaUtil::PermissionGranted(content_settings_type_, gesture_type, |
| requesting_origin, profile_); |
| } else if (content_setting == CONTENT_SETTING_BLOCK) { |
| - PermissionUmaUtil::PermissionDenied(permission_type_, gesture_type, |
| + PermissionUmaUtil::PermissionDenied(content_settings_type_, gesture_type, |
| requesting_origin, profile_); |
| } else { |
| - PermissionUmaUtil::PermissionDismissed(permission_type_, gesture_type, |
| - requesting_origin, profile_); |
| + PermissionUmaUtil::PermissionDismissed( |
| + content_settings_type_, gesture_type, requesting_origin, profile_); |
| } |
| } |
| if (content_setting == CONTENT_SETTING_DEFAULT && |
| PermissionDecisionAutoBlocker::GetForProfile(profile_) |
| - ->RecordDismissAndEmbargo(requesting_origin, permission_type_)) { |
| + ->RecordDismissAndEmbargo(requesting_origin, |
| + content_settings_type_)) { |
| // The permission has been embargoed, so it is blocked for this permission |
| // request, but not persisted. |
| content_setting = CONTENT_SETTING_BLOCK; |