Index: chrome/browser/ui/views/website_settings/permission_selector_view.cc |
diff --git a/chrome/browser/ui/views/website_settings/permission_selector_view.cc b/chrome/browser/ui/views/website_settings/permission_selector_view.cc |
index 7f92daa8497adec097339458b989f06ab287437d..8fed298d5e8b8ca2560f7ee70699ab69af926dc0 100644 |
--- a/chrome/browser/ui/views/website_settings/permission_selector_view.cc |
+++ b/chrome/browser/ui/views/website_settings/permission_selector_view.cc |
@@ -9,6 +9,7 @@ |
#include "chrome/browser/ui/website_settings/permission_menu_model.h" |
#include "chrome/browser/ui/website_settings/website_settings_ui.h" |
#include "chrome/grit/generated_resources.h" |
+#include "components/content_settings/core/common/content_settings_types.h" |
#include "ui/accessibility/ax_view_state.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/gfx/image/image.h" |
@@ -123,8 +124,9 @@ void PermissionMenuButton::OnMenuButtonClicked(View* source, |
PermissionSelectorView::PermissionSelectorView( |
const GURL& url, |
- const WebsiteSettingsUI::PermissionInfo& permission) |
- : icon_(NULL), menu_button_(NULL) { |
+ const WebsiteSettingsUI::PermissionInfo& permission, |
+ bool is_incognito) |
+ : is_incognito_(is_incognito), icon_(NULL), menu_button_(NULL) { |
views::GridLayout* layout = new views::GridLayout(this); |
SetLayoutManager(layout); |
const int column_set_id = 0; |
@@ -208,6 +210,11 @@ PermissionSelectorView::~PermissionSelectorView() { |
void PermissionSelectorView::PermissionChanged( |
const WebsiteSettingsUI::PermissionInfo& permission) { |
+ if (is_incognito_ && permission.type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS |
+ && permission.setting != CONTENT_SETTING_BLOCK) { |
+ // Notifications are disabled in incognito. Don't allow them to be enabled. |
+ return; |
+ } |
// Change the permission icon to reflect the selected setting. |
const gfx::Image& image = WebsiteSettingsUI::GetPermissionIcon(permission); |
icon_->SetImage(image.ToImageSkia()); |