Index: chrome/browser/ui/website_settings/permission_menu_model.cc |
diff --git a/chrome/browser/ui/website_settings/permission_menu_model.cc b/chrome/browser/ui/website_settings/permission_menu_model.cc |
index 9f63ee5753f9685ea2ccaaaf31c0d139257b183c..5e01048378931b5cb3dcb724f0b5c29e08b8a5dc 100644 |
--- a/chrome/browser/ui/website_settings/permission_menu_model.cc |
+++ b/chrome/browser/ui/website_settings/permission_menu_model.cc |
@@ -12,6 +12,7 @@ |
PermissionMenuModel::PermissionMenuModel( |
const GURL& url, |
const WebsiteSettingsUI::PermissionInfo& info, |
+ bool is_incognito, |
const ChangeCallback& callback) |
: ui::SimpleMenuModel(this), permission_(info), callback_(callback) { |
DCHECK(!callback_.is_null()); |
@@ -58,11 +59,15 @@ PermissionMenuModel::PermissionMenuModel( |
permission_.type == CONTENT_SETTINGS_TYPE_MOUSELOCK) && |
url.SchemeIsFile(); |
+ // Notifications does not support CONTENT_SETTING_ALLOW in incognito. |
+ bool allow_disabled_for_notifications = |
+ is_incognito && permission_.type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS; |
// Media only supports CONTENT_SETTTING_ALLOW for secure origins. |
bool is_media_permission = |
permission_.type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || |
permission_.type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA; |
- if ((!is_media_permission || content::IsOriginSecure(url)) && |
+ if (!allow_disabled_for_notifications && |
+ (!is_media_permission || content::IsOriginSecure(url)) && |
!is_exclusive_access_on_file) { |
label = l10n_util::GetStringUTF16( |
IDS_WEBSITE_SETTINGS_MENU_ITEM_ALLOW); |