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

Side by Side Diff: chrome/browser/ui/views/website_settings/permission_selector_view.cc

Issue 1441143006: Disable Notifications in Incognito (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@innoinherit
Patch Set: Address nits Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/website_settings/permission_selector_view.h" 5 #include "chrome/browser/ui/views/website_settings/permission_selector_view.h"
6 6
7 #include "base/i18n/rtl.h" 7 #include "base/i18n/rtl.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/ui/website_settings/permission_menu_model.h" 9 #include "chrome/browser/ui/website_settings/permission_menu_model.h"
10 #include "chrome/browser/ui/website_settings/website_settings_ui.h" 10 #include "chrome/browser/ui/website_settings/website_settings_ui.h"
11 #include "chrome/grit/generated_resources.h" 11 #include "chrome/grit/generated_resources.h"
12 #include "components/content_settings/core/common/content_settings_types.h"
12 #include "ui/accessibility/ax_view_state.h" 13 #include "ui/accessibility/ax_view_state.h"
13 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
14 #include "ui/gfx/image/image.h" 15 #include "ui/gfx/image/image.h"
15 #include "ui/views/controls/button/menu_button.h" 16 #include "ui/views/controls/button/menu_button.h"
16 #include "ui/views/controls/image_view.h" 17 #include "ui/views/controls/image_view.h"
17 #include "ui/views/controls/label.h" 18 #include "ui/views/controls/label.h"
18 #include "ui/views/controls/menu/menu_runner.h" 19 #include "ui/views/controls/menu/menu_runner.h"
19 #include "ui/views/layout/grid_layout.h" 20 #include "ui/views/layout/grid_layout.h"
20 #include "ui/views/view.h" 21 #include "ui/views/view.h"
21 #include "ui/views/widget/widget.h" 22 #include "ui/views/widget/widget.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 } 117 }
117 118
118 } // namespace internal 119 } // namespace internal
119 120
120 /////////////////////////////////////////////////////////////////////////////// 121 ///////////////////////////////////////////////////////////////////////////////
121 // PermissionSelectorView 122 // PermissionSelectorView
122 /////////////////////////////////////////////////////////////////////////////// 123 ///////////////////////////////////////////////////////////////////////////////
123 124
124 PermissionSelectorView::PermissionSelectorView( 125 PermissionSelectorView::PermissionSelectorView(
125 const GURL& url, 126 const GURL& url,
126 const WebsiteSettingsUI::PermissionInfo& permission) 127 const WebsiteSettingsUI::PermissionInfo& permission,
127 : icon_(NULL), menu_button_(NULL) { 128 bool is_incognito)
129 : is_incognito_(is_incognito), icon_(NULL), menu_button_(NULL) {
128 views::GridLayout* layout = new views::GridLayout(this); 130 views::GridLayout* layout = new views::GridLayout(this);
129 SetLayoutManager(layout); 131 SetLayoutManager(layout);
130 const int column_set_id = 0; 132 const int column_set_id = 0;
131 views::ColumnSet* column_set = layout->AddColumnSet(column_set_id); 133 views::ColumnSet* column_set = layout->AddColumnSet(column_set_id);
132 column_set->AddColumn(views::GridLayout::FILL, 134 column_set->AddColumn(views::GridLayout::FILL,
133 views::GridLayout::FILL, 135 views::GridLayout::FILL,
134 1, 136 1,
135 views::GridLayout::FIXED, 137 views::GridLayout::FIXED,
136 kPermissionIconColumnWidth, 138 kPermissionIconColumnWidth,
137 0); 139 0);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 // called here directly in order not to implement a custom |View| class with 203 // called here directly in order not to implement a custom |View| class with
202 // its own implementation of the ChildPreferredSizeChanged method. 204 // its own implementation of the ChildPreferredSizeChanged method.
203 parent()->SizeToPreferredSize(); 205 parent()->SizeToPreferredSize();
204 } 206 }
205 207
206 PermissionSelectorView::~PermissionSelectorView() { 208 PermissionSelectorView::~PermissionSelectorView() {
207 } 209 }
208 210
209 void PermissionSelectorView::PermissionChanged( 211 void PermissionSelectorView::PermissionChanged(
210 const WebsiteSettingsUI::PermissionInfo& permission) { 212 const WebsiteSettingsUI::PermissionInfo& permission) {
213 if (is_incognito_ && permission.type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS
214 && permission.setting != CONTENT_SETTING_BLOCK) {
215 // Notifications are disabled in incognito. Don't allow them to be enabled.
216 return;
217 }
211 // Change the permission icon to reflect the selected setting. 218 // Change the permission icon to reflect the selected setting.
212 const gfx::Image& image = WebsiteSettingsUI::GetPermissionIcon(permission); 219 const gfx::Image& image = WebsiteSettingsUI::GetPermissionIcon(permission);
213 icon_->SetImage(image.ToImageSkia()); 220 icon_->SetImage(image.ToImageSkia());
214 221
215 // Update the menu button text to reflect the new setting. 222 // Update the menu button text to reflect the new setting.
216 menu_button_->SetText(WebsiteSettingsUI::PermissionActionToUIString( 223 menu_button_->SetText(WebsiteSettingsUI::PermissionActionToUIString(
217 permission.type, permission.setting, permission.default_setting, 224 permission.type, permission.setting, permission.default_setting,
218 content_settings::SETTING_SOURCE_USER)); 225 content_settings::SETTING_SOURCE_USER));
219 menu_button_->SizeToPreferredSize(); 226 menu_button_->SizeToPreferredSize();
220 227
221 FOR_EACH_OBSERVER(PermissionSelectorViewObserver, 228 FOR_EACH_OBSERVER(PermissionSelectorViewObserver,
222 observer_list_, 229 observer_list_,
223 OnPermissionChanged(permission)); 230 OnPermissionChanged(permission));
224 } 231 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698