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

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

Issue 1690543004: MacViews: Implement Full Keyboard Access. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix FocusManagerTest.StoreFocusedView Created 4 years, 10 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/views/website_settings/website_settings_popup_view.h " 10 #include "chrome/browser/ui/views/website_settings/website_settings_popup_view.h "
11 #include "chrome/browser/ui/website_settings/permission_menu_model.h" 11 #include "chrome/browser/ui/website_settings/permission_menu_model.h"
12 #include "chrome/browser/ui/website_settings/website_settings_ui.h" 12 #include "chrome/browser/ui/website_settings/website_settings_ui.h"
13 #include "chrome/grit/generated_resources.h" 13 #include "chrome/grit/generated_resources.h"
14 #include "ui/accessibility/ax_view_state.h" 14 #include "ui/accessibility/ax_view_state.h"
15 #include "ui/base/l10n/l10n_util.h" 15 #include "ui/base/l10n/l10n_util.h"
16 #include "ui/gfx/image/image.h" 16 #include "ui/gfx/image/image.h"
17 #include "ui/views/controls/button/menu_button.h" 17 #include "ui/views/controls/button/menu_button.h"
18 #include "ui/views/controls/image_view.h" 18 #include "ui/views/controls/image_view.h"
19 #include "ui/views/controls/label.h" 19 #include "ui/views/controls/label.h"
20 #include "ui/views/controls/menu/menu_runner.h" 20 #include "ui/views/controls/menu/menu_runner.h"
21 #include "ui/views/layout/grid_layout.h" 21 #include "ui/views/layout/grid_layout.h"
22 #include "ui/views/style/platform_style.h"
22 #include "ui/views/view.h" 23 #include "ui/views/view.h"
23 #include "ui/views/widget/widget.h" 24 #include "ui/views/widget/widget.h"
24 25
25 namespace internal { 26 namespace internal {
26 27
27 // The |PermissionMenuButton| provides a menu for selecting a setting a 28 // The |PermissionMenuButton| provides a menu for selecting a setting a
28 // permissions type. 29 // permissions type.
29 class PermissionMenuButton : public views::MenuButton, 30 class PermissionMenuButton : public views::MenuButton,
30 public views::MenuButtonListener { 31 public views::MenuButtonListener {
31 public: 32 public:
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 base::Bind(&PermissionSelectorView::PermissionChanged, 171 base::Bind(&PermissionSelectorView::PermissionChanged,
171 base::Unretained(this)))); 172 base::Unretained(this))));
172 // Create the permission menu button. 173 // Create the permission menu button.
173 bool button_enabled = 174 bool button_enabled =
174 permission.source == content_settings::SETTING_SOURCE_USER; 175 permission.source == content_settings::SETTING_SOURCE_USER;
175 menu_button_ = new internal::PermissionMenuButton( 176 menu_button_ = new internal::PermissionMenuButton(
176 WebsiteSettingsUI::PermissionActionToUIString( 177 WebsiteSettingsUI::PermissionActionToUIString(
177 permission.type, permission.setting, permission.default_setting, 178 permission.type, permission.setting, permission.default_setting,
178 permission.source), 179 permission.source),
179 menu_model_.get(), button_enabled); 180 menu_model_.get(), button_enabled);
180 menu_button_->SetEnabled(button_enabled); 181 menu_button_->SetEnabled(button_enabled);
tapted 2016/02/23 03:01:19 View::IsFocusable() has a check for |enabled_|, so
181 menu_button_->SetFocusable(button_enabled); 182
183 if (button_enabled)
184 views::PlatformStyle::SetControlStyleFocus(menu_button_);
185 else
186 menu_button_->SetFocusable(false);
187
182 menu_button_->SetAccessibleName( 188 menu_button_->SetAccessibleName(
183 WebsiteSettingsUI::PermissionTypeToUIString(permission.type)); 189 WebsiteSettingsUI::PermissionTypeToUIString(permission.type));
184 layout->AddView(menu_button_); 190 layout->AddView(menu_button_);
185 } 191 }
186 192
187 void PermissionSelectorView::AddObserver( 193 void PermissionSelectorView::AddObserver(
188 PermissionSelectorViewObserver* observer) { 194 PermissionSelectorViewObserver* observer) {
189 observer_list_.AddObserver(observer); 195 observer_list_.AddObserver(observer);
190 } 196 }
191 197
(...skipping 18 matching lines...) Expand all
210 // Update the menu button text to reflect the new setting. 216 // Update the menu button text to reflect the new setting.
211 menu_button_->SetText(WebsiteSettingsUI::PermissionActionToUIString( 217 menu_button_->SetText(WebsiteSettingsUI::PermissionActionToUIString(
212 permission.type, permission.setting, permission.default_setting, 218 permission.type, permission.setting, permission.default_setting,
213 content_settings::SETTING_SOURCE_USER)); 219 content_settings::SETTING_SOURCE_USER));
214 menu_button_->SizeToPreferredSize(); 220 menu_button_->SizeToPreferredSize();
215 221
216 FOR_EACH_OBSERVER(PermissionSelectorViewObserver, 222 FOR_EACH_OBSERVER(PermissionSelectorViewObserver,
217 observer_list_, 223 observer_list_,
218 OnPermissionChanged(permission)); 224 OnPermissionChanged(permission));
219 } 225 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698