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

Side by Side Diff: ash/accelerators/accelerator_table.h

Issue 1177773002: Deprecating high-conflict accelerators (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: oshima's comments Created 5 years, 3 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 #ifndef ASH_ACCELERATORS_ACCELERATOR_TABLE_H_ 5 #ifndef ASH_ACCELERATORS_ACCELERATOR_TABLE_H_
6 #define ASH_ACCELERATORS_ACCELERATOR_TABLE_H_ 6 #define ASH_ACCELERATORS_ACCELERATOR_TABLE_H_
7 7
8 #include "ash/ash_export.h" 8 #include "ash/ash_export.h"
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "ui/events/event_constants.h" 10 #include "ui/events/event_constants.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 #endif 145 #endif
146 }; 146 };
147 147
148 struct AcceleratorData { 148 struct AcceleratorData {
149 bool trigger_on_press; 149 bool trigger_on_press;
150 ui::KeyboardCode keycode; 150 ui::KeyboardCode keycode;
151 int modifiers; 151 int modifiers;
152 AcceleratorAction action; 152 AcceleratorAction action;
153 }; 153 };
154 154
155 // Gathers the needed data to handle deprecated accelerators.
156 struct DeprecatedAcceleratorData {
157 // The old deprecated accelerator.
158 AcceleratorData deprecated_accelerator;
159
160 // The name of the UMA histogram that will be used to measure the deprecated
161 // v.s. new accelerator usage.
162 const char* uma_histogram_name;
163
164 // The ID of the localized notification message to show to users informing
165 // them about the deprecation.
166 int notification_message_id;
167
168 // Specifies whether the deprecated accelerator is still enabled to do its
169 // associated action.
170 bool deprecated_enabled;
171 };
172
173 // This will be used for the UMA stats to measure the how many users are using
174 // the old v.s. new accelerators.
175 enum DeprecatedAcceleratorUsage {
176 DEPRECATED_USED = 0, // The deprecated accelerator is used.
177 NEW_USED, // The new accelerator is used.
178 DEPRECATED_USAGE_COUNT, // Maximum value of this enum for histogram use.
179 };
180
155 // Accelerators handled by AcceleratorController. 181 // Accelerators handled by AcceleratorController.
156 ASH_EXPORT extern const AcceleratorData kAcceleratorData[]; 182 ASH_EXPORT extern const AcceleratorData kAcceleratorData[];
157 ASH_EXPORT extern const size_t kAcceleratorDataLength; 183 ASH_EXPORT extern const size_t kAcceleratorDataLength;
158 184
185 #if defined(OS_CHROMEOS)
186 // The list of the deprecated accelerators along with their new replacing ones
187 // and how to handle them.
188 ASH_EXPORT extern const DeprecatedAcceleratorData kDeprecatedAccelerators[];
189 ASH_EXPORT extern const size_t kDeprecatedAcceleratorsLength;
190 #endif // defined(OS_CHROMEOS)
191
159 // Debug accelerators. Debug accelerators are only enabled when the "Debugging 192 // Debug accelerators. Debug accelerators are only enabled when the "Debugging
160 // keyboard shortcuts" flag (--ash-debug-shortcuts) is enabled. Debug actions 193 // keyboard shortcuts" flag (--ash-debug-shortcuts) is enabled. Debug actions
161 // are always run (similar to reserved actions). 194 // are always run (similar to reserved actions).
162 ASH_EXPORT extern const AcceleratorData kDebugAcceleratorData[]; 195 ASH_EXPORT extern const AcceleratorData kDebugAcceleratorData[];
163 ASH_EXPORT extern const size_t kDebugAcceleratorDataLength; 196 ASH_EXPORT extern const size_t kDebugAcceleratorDataLength;
164 197
165 // Actions that should be handled very early in Ash unless the current target 198 // Actions that should be handled very early in Ash unless the current target
166 // window is full-screen. 199 // window is full-screen.
167 ASH_EXPORT extern const AcceleratorAction kPreferredActions[]; 200 ASH_EXPORT extern const AcceleratorAction kPreferredActions[];
168 ASH_EXPORT extern const size_t kPreferredActionsLength; 201 ASH_EXPORT extern const size_t kPreferredActionsLength;
(...skipping 23 matching lines...) Expand all
192 ASH_EXPORT extern const AcceleratorAction kActionsAllowedInAppMode[]; 225 ASH_EXPORT extern const AcceleratorAction kActionsAllowedInAppMode[];
193 ASH_EXPORT extern const size_t kActionsAllowedInAppModeLength; 226 ASH_EXPORT extern const size_t kActionsAllowedInAppModeLength;
194 227
195 // Actions that require at least 1 window. 228 // Actions that require at least 1 window.
196 ASH_EXPORT extern const AcceleratorAction kActionsNeedingWindow[]; 229 ASH_EXPORT extern const AcceleratorAction kActionsNeedingWindow[];
197 ASH_EXPORT extern const size_t kActionsNeedingWindowLength; 230 ASH_EXPORT extern const size_t kActionsNeedingWindowLength;
198 231
199 } // namespace ash 232 } // namespace ash
200 233
201 #endif // ASH_ACCELERATORS_ACCELERATOR_TABLE_H_ 234 #endif // ASH_ACCELERATORS_ACCELERATOR_TABLE_H_
OLDNEW
« no previous file with comments | « ash/accelerators/accelerator_controller_unittest.cc ('k') | ash/accelerators/accelerator_table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698