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 93c1b112d12f7aeb657eab3537b385d1f2477832..776322302c31e92852741a3b92d17d648e41a30b 100644 |
--- a/chrome/browser/permissions/permission_context_base.cc |
+++ b/chrome/browser/permissions/permission_context_base.cc |
@@ -53,6 +53,12 @@ const char kPermissionBlockedRepeatedDismissalsMessage[] = |
"https://www.chromestatus.com/features/6443143280984064 for more " |
"information."; |
+const char kPermissionBlockedRepeatedIgnoresMessage[] = |
+ "%s permission has been blocked as the user has ignored the permission " |
+ "prompt several times. See " |
+ "https://www.chromestatus.com/features/6443143280984064 for more " |
+ "information."; |
+ |
const char kPermissionBlockedBlacklistMessage[] = |
"this origin is not allowed to request %s permission."; |
@@ -124,17 +130,31 @@ void PermissionContextBase::RequestPermission( |
if (result.content_setting == CONTENT_SETTING_ALLOW || |
result.content_setting == CONTENT_SETTING_BLOCK) { |
- if (result.source == PermissionStatusSource::KILL_SWITCH) { |
- // Block the request and log to the developer console. |
- LogPermissionBlockedMessage(web_contents, |
- kPermissionBlockedKillSwitchMessage, |
- content_settings_type_); |
- callback.Run(CONTENT_SETTING_BLOCK); |
- return; |
- } else if (result.source == PermissionStatusSource::MULTIPLE_DISMISSALS) { |
- LogPermissionBlockedMessage(web_contents, |
- kPermissionBlockedRepeatedDismissalsMessage, |
- content_settings_type_); |
+ switch (result.source) { |
+ case PermissionStatusSource::KILL_SWITCH: |
+ // Block the request and log to the developer console. |
+ LogPermissionBlockedMessage(web_contents, |
+ kPermissionBlockedKillSwitchMessage, |
+ content_settings_type_); |
+ callback.Run(CONTENT_SETTING_BLOCK); |
+ return; |
+ case PermissionStatusSource::MULTIPLE_DISMISSALS: |
+ LogPermissionBlockedMessage(web_contents, |
+ kPermissionBlockedRepeatedDismissalsMessage, |
+ content_settings_type_); |
+ break; |
+ case PermissionStatusSource::MULTIPLE_IGNORES: |
+ LogPermissionBlockedMessage(web_contents, |
+ kPermissionBlockedRepeatedIgnoresMessage, |
+ content_settings_type_); |
+ break; |
+ case PermissionStatusSource::SAFE_BROWSING_BLACKLIST: |
+ LogPermissionBlockedMessage(web_contents, |
+ kPermissionBlockedBlacklistMessage, |
+ content_settings_type_); |
+ break; |
+ case PermissionStatusSource::UNSPECIFIED: |
+ break; |
} |
// If we are under embargo, record the embargo reason for which we have |