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

Side by Side Diff: athena/input/accelerator_manager_impl.cc

Issue 641683003: C++11 override style change for athena (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: rebase Created 6 years, 1 month 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
« no previous file with comments | « athena/input/accelerator_manager_impl.h ('k') | athena/input/accelerator_manager_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "athena/input/accelerator_manager_impl.h" 5 #include "athena/input/accelerator_manager_impl.h"
6 6
7 #include "athena/input/public/input_manager.h" 7 #include "athena/input/public/input_manager.h"
8 #include "athena/util/switches.h" 8 #include "athena/util/switches.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "ui/aura/window.h" 10 #include "ui/aura/window.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // wm::NestedAcceleratorController while accelerators in normal case are 42 // wm::NestedAcceleratorController while accelerators in normal case are
43 // handled by wm::AcceleratorFilter. These delegates act bridges in these 43 // handled by wm::AcceleratorFilter. These delegates act bridges in these
44 // two different environment so that AcceleratorManagerImpl can handle 44 // two different environment so that AcceleratorManagerImpl can handle
45 // accelerators in an uniform way. 45 // accelerators in an uniform way.
46 46
47 class NestedAcceleratorDelegate : public wm::NestedAcceleratorDelegate { 47 class NestedAcceleratorDelegate : public wm::NestedAcceleratorDelegate {
48 public: 48 public:
49 explicit NestedAcceleratorDelegate( 49 explicit NestedAcceleratorDelegate(
50 AcceleratorManagerImpl* accelerator_manager) 50 AcceleratorManagerImpl* accelerator_manager)
51 : accelerator_manager_(accelerator_manager) {} 51 : accelerator_manager_(accelerator_manager) {}
52 virtual ~NestedAcceleratorDelegate() {} 52 ~NestedAcceleratorDelegate() override {}
53 53
54 private: 54 private:
55 // wm::NestedAcceleratorDelegate: 55 // wm::NestedAcceleratorDelegate:
56 virtual Result ProcessAccelerator( 56 Result ProcessAccelerator(const ui::Accelerator& accelerator) override {
57 const ui::Accelerator& accelerator) override {
58 return accelerator_manager_->Process(accelerator) ? RESULT_PROCESSED 57 return accelerator_manager_->Process(accelerator) ? RESULT_PROCESSED
59 : RESULT_NOT_PROCESSED; 58 : RESULT_NOT_PROCESSED;
60 } 59 }
61 60
62 AcceleratorManagerImpl* accelerator_manager_; 61 AcceleratorManagerImpl* accelerator_manager_;
63 62
64 DISALLOW_COPY_AND_ASSIGN(NestedAcceleratorDelegate); 63 DISALLOW_COPY_AND_ASSIGN(NestedAcceleratorDelegate);
65 }; 64 };
66 65
67 class AcceleratorDelegate : public wm::AcceleratorDelegate { 66 class AcceleratorDelegate : public wm::AcceleratorDelegate {
68 public: 67 public:
69 explicit AcceleratorDelegate(AcceleratorManagerImpl* accelerator_manager) 68 explicit AcceleratorDelegate(AcceleratorManagerImpl* accelerator_manager)
70 : accelerator_manager_(accelerator_manager) {} 69 : accelerator_manager_(accelerator_manager) {}
71 virtual ~AcceleratorDelegate() {} 70 ~AcceleratorDelegate() override {}
72 71
73 private: 72 private:
74 // wm::AcceleratorDelegate: 73 // wm::AcceleratorDelegate:
75 virtual bool ProcessAccelerator(const ui::KeyEvent& event, 74 bool ProcessAccelerator(const ui::KeyEvent& event,
76 const ui::Accelerator& accelerator, 75 const ui::Accelerator& accelerator,
77 KeyType key_type) override { 76 KeyType key_type) override {
78 aura::Window* target = static_cast<aura::Window*>(event.target()); 77 aura::Window* target = static_cast<aura::Window*>(event.target());
79 if (!target->IsRootWindow() && 78 if (!target->IsRootWindow() &&
80 !accelerator_manager_->IsRegistered(accelerator, AF_RESERVED)) { 79 !accelerator_manager_->IsRegistered(accelerator, AF_RESERVED)) {
81 // TODO(oshima): do the same when the active window is in fullscreen. 80 // TODO(oshima): do the same when the active window is in fullscreen.
82 return false; 81 return false;
83 } 82 }
84 return accelerator_manager_->Process(accelerator); 83 return accelerator_manager_->Process(accelerator);
85 } 84 }
86 85
87 AcceleratorManagerImpl* accelerator_manager_; 86 AcceleratorManagerImpl* accelerator_manager_;
88 DISALLOW_COPY_AND_ASSIGN(AcceleratorDelegate); 87 DISALLOW_COPY_AND_ASSIGN(AcceleratorDelegate);
89 }; 88 };
90 89
91 class FocusManagerDelegate : public views::FocusManagerDelegate { 90 class FocusManagerDelegate : public views::FocusManagerDelegate {
92 public: 91 public:
93 explicit FocusManagerDelegate(AcceleratorManagerImpl* accelerator_manager) 92 explicit FocusManagerDelegate(AcceleratorManagerImpl* accelerator_manager)
94 : accelerator_manager_(accelerator_manager) {} 93 : accelerator_manager_(accelerator_manager) {}
95 virtual ~FocusManagerDelegate() {} 94 ~FocusManagerDelegate() override {}
96 95
97 virtual bool ProcessAccelerator(const ui::Accelerator& accelerator) override { 96 bool ProcessAccelerator(const ui::Accelerator& accelerator) override {
98 return accelerator_manager_->Process(accelerator); 97 return accelerator_manager_->Process(accelerator);
99 } 98 }
100 99
101 virtual ui::AcceleratorTarget* GetCurrentTargetForAccelerator( 100 ui::AcceleratorTarget* GetCurrentTargetForAccelerator(
102 const ui::Accelerator& accelerator) const override { 101 const ui::Accelerator& accelerator) const override {
103 return accelerator_manager_->IsRegistered(accelerator, AF_NONE) 102 return accelerator_manager_->IsRegistered(accelerator, AF_NONE)
104 ? accelerator_manager_ 103 ? accelerator_manager_
105 : nullptr; 104 : nullptr;
106 } 105 }
107 106
108 private: 107 private:
109 AcceleratorManagerImpl* accelerator_manager_; 108 AcceleratorManagerImpl* accelerator_manager_;
110 109
111 DISALLOW_COPY_AND_ASSIGN(FocusManagerDelegate); 110 DISALLOW_COPY_AND_ASSIGN(FocusManagerDelegate);
112 }; 111 };
113 112
114 // Key strokes must be sent to web contents to give them a chance to 113 // Key strokes must be sent to web contents to give them a chance to
115 // consume them unless they are reserved, and unhandled key events are 114 // consume them unless they are reserved, and unhandled key events are
116 // sent back to focus manager asynchronously. This installs the athena's 115 // sent back to focus manager asynchronously. This installs the athena's
117 // focus manager that handles athena shell's accelerators. 116 // focus manager that handles athena shell's accelerators.
118 class FocusManagerFactory : public views::FocusManagerFactory { 117 class FocusManagerFactory : public views::FocusManagerFactory {
119 public: 118 public:
120 explicit FocusManagerFactory(AcceleratorManagerImpl* accelerator_manager) 119 explicit FocusManagerFactory(AcceleratorManagerImpl* accelerator_manager)
121 : accelerator_manager_(accelerator_manager) {} 120 : accelerator_manager_(accelerator_manager) {}
122 virtual ~FocusManagerFactory() {} 121 ~FocusManagerFactory() override {}
123 122
124 virtual views::FocusManager* CreateFocusManager( 123 views::FocusManager* CreateFocusManager(views::Widget* widget,
125 views::Widget* widget, 124 bool desktop_widget) override {
126 bool desktop_widget) override {
127 return new views::FocusManager( 125 return new views::FocusManager(
128 widget, 126 widget,
129 desktop_widget ? nullptr 127 desktop_widget ? nullptr
130 : new FocusManagerDelegate(accelerator_manager_)); 128 : new FocusManagerDelegate(accelerator_manager_));
131 } 129 }
132 130
133 private: 131 private:
134 AcceleratorManagerImpl* accelerator_manager_; 132 AcceleratorManagerImpl* accelerator_manager_;
135 133
136 DISALLOW_COPY_AND_ASSIGN(FocusManagerFactory); 134 DISALLOW_COPY_AND_ASSIGN(FocusManagerFactory);
137 }; 135 };
138 136
139 class UIAcceleratorManagerWrapper 137 class UIAcceleratorManagerWrapper
140 : public AcceleratorManagerImpl::AcceleratorWrapper { 138 : public AcceleratorManagerImpl::AcceleratorWrapper {
141 public: 139 public:
142 UIAcceleratorManagerWrapper() 140 UIAcceleratorManagerWrapper()
143 : ui_accelerator_manager_(new ui::AcceleratorManager) {} 141 : ui_accelerator_manager_(new ui::AcceleratorManager) {}
144 virtual ~UIAcceleratorManagerWrapper() {} 142 ~UIAcceleratorManagerWrapper() override {}
145 143
146 virtual void Register(const ui::Accelerator& accelerator, 144 virtual void Register(const ui::Accelerator& accelerator,
147 ui::AcceleratorTarget* target) override { 145 ui::AcceleratorTarget* target) override {
148 ui_accelerator_manager_->Register( 146 ui_accelerator_manager_->Register(
149 accelerator, ui::AcceleratorManager::kNormalPriority, target); 147 accelerator, ui::AcceleratorManager::kNormalPriority, target);
150 } 148 }
151 149
152 virtual void Unregister(const ui::Accelerator& accelerator, 150 virtual void Unregister(const ui::Accelerator& accelerator,
153 ui::AcceleratorTarget* target) override { 151 ui::AcceleratorTarget* target) override {
154 ui_accelerator_manager_->Unregister(accelerator, target); 152 ui_accelerator_manager_->Unregister(accelerator, target);
(...skipping 11 matching lines...) Expand all
166 private: 164 private:
167 scoped_ptr<ui::AcceleratorManager> ui_accelerator_manager_; 165 scoped_ptr<ui::AcceleratorManager> ui_accelerator_manager_;
168 166
169 DISALLOW_COPY_AND_ASSIGN(UIAcceleratorManagerWrapper); 167 DISALLOW_COPY_AND_ASSIGN(UIAcceleratorManagerWrapper);
170 }; 168 };
171 169
172 class FocusManagerWrapper : public AcceleratorManagerImpl::AcceleratorWrapper { 170 class FocusManagerWrapper : public AcceleratorManagerImpl::AcceleratorWrapper {
173 public: 171 public:
174 explicit FocusManagerWrapper(views::FocusManager* focus_manager) 172 explicit FocusManagerWrapper(views::FocusManager* focus_manager)
175 : focus_manager_(focus_manager) {} 173 : focus_manager_(focus_manager) {}
176 virtual ~FocusManagerWrapper() {} 174 ~FocusManagerWrapper() override {}
177 175
178 virtual void Register(const ui::Accelerator& accelerator, 176 virtual void Register(const ui::Accelerator& accelerator,
179 ui::AcceleratorTarget* target) override { 177 ui::AcceleratorTarget* target) override {
180 return focus_manager_->RegisterAccelerator( 178 return focus_manager_->RegisterAccelerator(
181 accelerator, ui::AcceleratorManager::kNormalPriority, target); 179 accelerator, ui::AcceleratorManager::kNormalPriority, target);
182 } 180 }
183 181
184 virtual void Unregister(const ui::Accelerator& accelerator, 182 virtual void Unregister(const ui::Accelerator& accelerator,
185 ui::AcceleratorTarget* target) override { 183 ui::AcceleratorTarget* target) override {
186 focus_manager_->UnregisterAccelerator(accelerator, target); 184 focus_manager_->UnregisterAccelerator(accelerator, target);
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 return InputManager::Get()->GetAcceleratorManager(); 352 return InputManager::Get()->GetAcceleratorManager();
355 } 353 }
356 354
357 // static 355 // static
358 scoped_ptr<AcceleratorManager> AcceleratorManager::CreateForFocusManager( 356 scoped_ptr<AcceleratorManager> AcceleratorManager::CreateForFocusManager(
359 views::FocusManager* focus_manager) { 357 views::FocusManager* focus_manager) {
360 return AcceleratorManagerImpl::CreateForFocusManager(focus_manager).Pass(); 358 return AcceleratorManagerImpl::CreateForFocusManager(focus_manager).Pass();
361 } 359 }
362 360
363 } // namespace athena 361 } // namespace athena
OLDNEW
« no previous file with comments | « athena/input/accelerator_manager_impl.h ('k') | athena/input/accelerator_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698