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

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

Issue 1575623002: Disable Web Notifications in Incognito (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permfix
Patch Set: Removed INHERIT_IN_INCOGNITO_EXCEPT_ALLOW Created 4 years, 11 months 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/macros.h" 8 #include "base/macros.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/ui/website_settings/permission_menu_model.h" 10 #include "chrome/browser/ui/website_settings/permission_menu_model.h"
11 #include "chrome/browser/ui/website_settings/website_settings_ui.h" 11 #include "chrome/browser/ui/website_settings/website_settings_ui.h"
12 #include "chrome/grit/generated_resources.h" 12 #include "chrome/grit/generated_resources.h"
13 #include "components/content_settings/core/browser/content_settings_info.h"
14 #include "components/content_settings/core/browser/content_settings_registry.h"
13 #include "ui/accessibility/ax_view_state.h" 15 #include "ui/accessibility/ax_view_state.h"
14 #include "ui/base/l10n/l10n_util.h" 16 #include "ui/base/l10n/l10n_util.h"
15 #include "ui/gfx/image/image.h" 17 #include "ui/gfx/image/image.h"
16 #include "ui/views/controls/button/menu_button.h" 18 #include "ui/views/controls/button/menu_button.h"
17 #include "ui/views/controls/image_view.h" 19 #include "ui/views/controls/image_view.h"
18 #include "ui/views/controls/label.h" 20 #include "ui/views/controls/label.h"
19 #include "ui/views/controls/menu/menu_runner.h" 21 #include "ui/views/controls/menu/menu_runner.h"
20 #include "ui/views/layout/grid_layout.h" 22 #include "ui/views/layout/grid_layout.h"
21 #include "ui/views/view.h" 23 #include "ui/views/view.h"
22 #include "ui/views/widget/widget.h" 24 #include "ui/views/widget/widget.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 } 119 }
118 120
119 } // namespace internal 121 } // namespace internal
120 122
121 /////////////////////////////////////////////////////////////////////////////// 123 ///////////////////////////////////////////////////////////////////////////////
122 // PermissionSelectorView 124 // PermissionSelectorView
123 /////////////////////////////////////////////////////////////////////////////// 125 ///////////////////////////////////////////////////////////////////////////////
124 126
125 PermissionSelectorView::PermissionSelectorView( 127 PermissionSelectorView::PermissionSelectorView(
126 const GURL& url, 128 const GURL& url,
127 const WebsiteSettingsUI::PermissionInfo& permission) 129 const WebsiteSettingsUI::PermissionInfo& permission,
130 bool is_incognito)
128 : icon_(NULL), menu_button_(NULL) { 131 : icon_(NULL), menu_button_(NULL) {
129 views::GridLayout* layout = new views::GridLayout(this); 132 views::GridLayout* layout = new views::GridLayout(this);
130 SetLayoutManager(layout); 133 SetLayoutManager(layout);
131 const int column_set_id = 0; 134 const int column_set_id = 0;
132 views::ColumnSet* column_set = layout->AddColumnSet(column_set_id); 135 views::ColumnSet* column_set = layout->AddColumnSet(column_set_id);
133 column_set->AddColumn(views::GridLayout::FILL, 136 column_set->AddColumn(views::GridLayout::FILL,
134 views::GridLayout::FILL, 137 views::GridLayout::FILL,
135 1, 138 1,
136 views::GridLayout::FIXED, 139 views::GridLayout::FIXED,
137 kPermissionIconColumnWidth, 140 kPermissionIconColumnWidth,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 views::GridLayout::CENTER); 174 views::GridLayout::CENTER);
172 // Create the menu model. 175 // Create the menu model.
173 menu_model_.reset(new PermissionMenuModel( 176 menu_model_.reset(new PermissionMenuModel(
174 url, 177 url,
175 permission, 178 permission,
176 base::Bind(&PermissionSelectorView::PermissionChanged, 179 base::Bind(&PermissionSelectorView::PermissionChanged,
177 base::Unretained(this)))); 180 base::Unretained(this))));
178 // Create the permission menu button. 181 // Create the permission menu button.
179 bool button_enabled = 182 bool button_enabled =
180 permission.source == content_settings::SETTING_SOURCE_USER; 183 permission.source == content_settings::SETTING_SOURCE_USER;
184 if (is_incognito) {
185 const content_settings::ContentSettingsInfo* info =
186 content_settings::ContentSettingsRegistry::GetInstance()->Get(
187 permission.type);
188 if (info &&
189 info->incognito_behavior() == content_settings::ContentSettingsInfo::
190 DENY_IN_INCOGNITO_AFTER_DELAY) {
palmer 2016/01/11 20:28:08 Is this the formatting that "git cl format" chose?
johnme 2016/01/12 18:04:52 Yes, I think so. I've refactored this anyway thoug
191 // This permission is disabled in incognito. Don't let user enable it.
192 button_enabled = false;
193 }
194 }
181 menu_button_ = new internal::PermissionMenuButton( 195 menu_button_ = new internal::PermissionMenuButton(
182 WebsiteSettingsUI::PermissionActionToUIString( 196 WebsiteSettingsUI::PermissionActionToUIString(
183 permission.type, permission.setting, permission.default_setting, 197 permission.type, permission.setting, permission.default_setting,
184 permission.source), 198 permission.source),
185 menu_model_.get(), button_enabled); 199 menu_model_.get(), button_enabled);
186 menu_button_->SetEnabled(button_enabled); 200 menu_button_->SetEnabled(button_enabled);
187 menu_button_->SetFocusable(button_enabled); 201 menu_button_->SetFocusable(button_enabled);
188 menu_button_->SetAccessibleName( 202 menu_button_->SetAccessibleName(
189 WebsiteSettingsUI::PermissionTypeToUIString(permission.type)); 203 WebsiteSettingsUI::PermissionTypeToUIString(permission.type));
190 layout->AddView(menu_button_); 204 layout->AddView(menu_button_);
(...skipping 25 matching lines...) Expand all
216 // Update the menu button text to reflect the new setting. 230 // Update the menu button text to reflect the new setting.
217 menu_button_->SetText(WebsiteSettingsUI::PermissionActionToUIString( 231 menu_button_->SetText(WebsiteSettingsUI::PermissionActionToUIString(
218 permission.type, permission.setting, permission.default_setting, 232 permission.type, permission.setting, permission.default_setting,
219 content_settings::SETTING_SOURCE_USER)); 233 content_settings::SETTING_SOURCE_USER));
220 menu_button_->SizeToPreferredSize(); 234 menu_button_->SizeToPreferredSize();
221 235
222 FOR_EACH_OBSERVER(PermissionSelectorViewObserver, 236 FOR_EACH_OBSERVER(PermissionSelectorViewObserver,
223 observer_list_, 237 observer_list_,
224 OnPermissionChanged(permission)); 238 OnPermissionChanged(permission));
225 } 239 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698