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

Side by Side Diff: ui/views/controls/button/button.cc

Issue 1894383002: MacViews: Implement Full Keyboard Access. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@SetFocusBehavior
Patch Set: Rebased Created 4 years, 7 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "ui/views/controls/button/button.h" 5 #include "ui/views/controls/button/button.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "ui/accessibility/ax_view_state.h" 8 #include "ui/accessibility/ax_view_state.h"
9 9
10 namespace views { 10 namespace views {
11 11
12 //////////////////////////////////////////////////////////////////////////////// 12 ////////////////////////////////////////////////////////////////////////////////
13 // Button, static public: 13 // Button, static public:
14 14
15 // static 15 // static
16 Button::ButtonState Button::GetButtonStateFrom(ui::NativeTheme::State state) { 16 Button::ButtonState Button::GetButtonStateFrom(ui::NativeTheme::State state) {
17 switch (state) { 17 switch (state) {
18 case ui::NativeTheme::kDisabled: return Button::STATE_DISABLED; 18 case ui::NativeTheme::kDisabled: return Button::STATE_DISABLED;
19 case ui::NativeTheme::kHovered: return Button::STATE_HOVERED; 19 case ui::NativeTheme::kHovered: return Button::STATE_HOVERED;
20 case ui::NativeTheme::kNormal: return Button::STATE_NORMAL; 20 case ui::NativeTheme::kNormal: return Button::STATE_NORMAL;
21 case ui::NativeTheme::kPressed: return Button::STATE_PRESSED; 21 case ui::NativeTheme::kPressed: return Button::STATE_PRESSED;
22 case ui::NativeTheme::kNumStates: NOTREACHED(); 22 case ui::NativeTheme::kNumStates: NOTREACHED();
23 } 23 }
24 return Button::STATE_NORMAL; 24 return Button::STATE_NORMAL;
25 } 25 }
26 26
27 // static
28 void Button::ConfigureDefaultFocus(Button* button) {
29 #if defined(OS_MACOSX)
30 // On Mac, buttons are focusable only in full keyboard access mode.
31 button->SetFocusBehavior(FocusBehavior::ACCESSIBLE_ONLY);
32 #else
33 button->SetFocusBehavior(FocusBehavior::ALWAYS);
34 #endif
35 }
36
27 //////////////////////////////////////////////////////////////////////////////// 37 ////////////////////////////////////////////////////////////////////////////////
28 // Button, public: 38 // Button, public:
29 39
30 Button::~Button() { 40 Button::~Button() {
31 } 41 }
32 42
33 void Button::SetTooltipText(const base::string16& tooltip_text) { 43 void Button::SetTooltipText(const base::string16& tooltip_text) {
34 tooltip_text_ = tooltip_text; 44 tooltip_text_ = tooltip_text;
35 if (accessible_name_.empty()) 45 if (accessible_name_.empty())
36 accessible_name_ = tooltip_text_; 46 accessible_name_ = tooltip_text_;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 void Button::NotifyClick(const ui::Event& event) { 80 void Button::NotifyClick(const ui::Event& event) {
71 // We can be called when there is no listener, in cases like double clicks on 81 // We can be called when there is no listener, in cases like double clicks on
72 // menu buttons etc. 82 // menu buttons etc.
73 if (listener_) 83 if (listener_)
74 listener_->ButtonPressed(this, event); 84 listener_->ButtonPressed(this, event);
75 } 85 }
76 86
77 void Button::OnClickCanceled(const ui::Event& event) {} 87 void Button::OnClickCanceled(const ui::Event& event) {}
78 88
79 } // namespace views 89 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698