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

Side by Side Diff: ui/base/accelerators/accelerator_manager.cc

Issue 1622433002: views: Remove unused GetCurrentTargetForAccelerator from FocusManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tot-merge Created 4 years, 8 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
« no previous file with comments | « ui/base/accelerators/accelerator_manager.h ('k') | ui/views/focus/focus_manager.h » ('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 (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 "ui/base/accelerators/accelerator_manager.h" 5 #include "ui/base/accelerators/accelerator_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 10
11 namespace ui { 11 namespace ui {
12 12
13 AcceleratorManager::AcceleratorManager() { 13 AcceleratorManager::AcceleratorManager() {
14 } 14 }
15 15
16 AcceleratorManager::~AcceleratorManager() { 16 AcceleratorManager::~AcceleratorManager() {
17 } 17 }
18 18
19 void AcceleratorManager::Register(const Accelerator& accelerator, 19 void AcceleratorManager::Register(const Accelerator& accelerator,
20 HandlerPriority priority, 20 HandlerPriority priority,
21 AcceleratorTarget* target) { 21 AcceleratorTarget* target) {
22 DCHECK(target);
22 AcceleratorTargetList& targets = accelerators_[accelerator].second; 23 AcceleratorTargetList& targets = accelerators_[accelerator].second;
23 DCHECK(std::find(targets.begin(), targets.end(), target) == targets.end()) 24 DCHECK(std::find(targets.begin(), targets.end(), target) == targets.end())
24 << "Registering the same target multiple times"; 25 << "Registering the same target multiple times";
25 26
26 // All priority accelerators go to the front of the line. 27 // All priority accelerators go to the front of the line.
27 if (priority) { 28 if (priority) {
28 DCHECK(!accelerators_[accelerator].first) 29 DCHECK(!accelerators_[accelerator].first)
29 << "Only one _priority_ handler can be registered"; 30 << "Only one _priority_ handler can be registered";
30 targets.push_front(target); 31 targets.push_front(target);
31 // Mark that we have a priority accelerator at the front. 32 // Mark that we have a priority accelerator at the front.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 } 69 }
69 70
70 void AcceleratorManager::UnregisterAll(AcceleratorTarget* target) { 71 void AcceleratorManager::UnregisterAll(AcceleratorTarget* target) {
71 for (AcceleratorMap::iterator map_iter = accelerators_.begin(); 72 for (AcceleratorMap::iterator map_iter = accelerators_.begin();
72 map_iter != accelerators_.end(); ++map_iter) { 73 map_iter != accelerators_.end(); ++map_iter) {
73 AcceleratorTargetList* targets = &map_iter->second.second; 74 AcceleratorTargetList* targets = &map_iter->second.second;
74 targets->remove(target); 75 targets->remove(target);
75 } 76 }
76 } 77 }
77 78
79 bool AcceleratorManager::IsRegistered(const Accelerator& accelerator) const {
80 AcceleratorMap::const_iterator map_iter = accelerators_.find(accelerator);
81 return map_iter != accelerators_.end() && !map_iter->second.second.empty();
82 }
83
78 bool AcceleratorManager::Process(const Accelerator& accelerator) { 84 bool AcceleratorManager::Process(const Accelerator& accelerator) {
79 bool result = false; 85 bool result = false;
80 AcceleratorMap::iterator map_iter = accelerators_.find(accelerator); 86 AcceleratorMap::iterator map_iter = accelerators_.find(accelerator);
81 if (map_iter != accelerators_.end()) { 87 if (map_iter != accelerators_.end()) {
82 // We have to copy the target list here, because an AcceleratorPressed 88 // We have to copy the target list here, because an AcceleratorPressed
83 // event handler may modify the list. 89 // event handler may modify the list.
84 AcceleratorTargetList targets(map_iter->second.second); 90 AcceleratorTargetList targets(map_iter->second.second);
85 for (AcceleratorTargetList::iterator iter = targets.begin(); 91 for (AcceleratorTargetList::iterator iter = targets.begin();
86 iter != targets.end(); ++iter) { 92 iter != targets.end(); ++iter) {
87 if ((*iter)->CanHandleAccelerators() && 93 if ((*iter)->CanHandleAccelerators() &&
88 (*iter)->AcceleratorPressed(accelerator)) { 94 (*iter)->AcceleratorPressed(accelerator)) {
89 result = true; 95 result = true;
90 break; 96 break;
91 } 97 }
92 } 98 }
93 } 99 }
94 return result; 100 return result;
95 } 101 }
96 102
97 AcceleratorTarget* AcceleratorManager::GetCurrentTarget(
98 const Accelerator& accelerator) const {
99 AcceleratorMap::const_iterator map_iter = accelerators_.find(accelerator);
100 if (map_iter == accelerators_.end() || map_iter->second.second.empty())
101 return NULL;
102 return map_iter->second.second.front();
103 }
104
105 bool AcceleratorManager::HasPriorityHandler( 103 bool AcceleratorManager::HasPriorityHandler(
106 const Accelerator& accelerator) const { 104 const Accelerator& accelerator) const {
107 AcceleratorMap::const_iterator map_iter = accelerators_.find(accelerator); 105 AcceleratorMap::const_iterator map_iter = accelerators_.find(accelerator);
108 if (map_iter == accelerators_.end() || map_iter->second.second.empty()) 106 if (map_iter == accelerators_.end() || map_iter->second.second.empty())
109 return false; 107 return false;
110 108
111 // Check if we have a priority handler. If not, there's no more work needed. 109 // Check if we have a priority handler. If not, there's no more work needed.
112 if (!map_iter->second.first) 110 if (!map_iter->second.first)
113 return false; 111 return false;
114 112
115 // If the priority handler says it cannot handle the accelerator, we must not 113 // If the priority handler says it cannot handle the accelerator, we must not
116 // count it as one. 114 // count it as one.
117 return map_iter->second.second.front()->CanHandleAccelerators(); 115 return map_iter->second.second.front()->CanHandleAccelerators();
118 } 116 }
119 117
120 } // namespace ui 118 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/accelerators/accelerator_manager.h ('k') | ui/views/focus/focus_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698