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

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: moving IsDeprecated() to c/b/ui/ash Created 5 years, 6 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 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 #endif 146 #endif
147 }; 147 };
148 148
149 struct AcceleratorData { 149 struct AcceleratorData {
150 bool trigger_on_press; 150 bool trigger_on_press;
151 ui::KeyboardCode keycode; 151 ui::KeyboardCode keycode;
152 int modifiers; 152 int modifiers;
153 AcceleratorAction action; 153 AcceleratorAction action;
154 }; 154 };
155 155
156 // Gathers the needed data to handle deprecated accelerators.
157 struct DeprecatedAcceleratorData {
158 // The old deprecated accelerator.
159 AcceleratorData deprecated_accelerator;
160
161 // The name of the UMA histogram that will be used to measure the deprecated
162 // v.s. new accelerator usage.
163 const char* uma_histogram_name;
164
165 // The ID of the localized notification message to show to users informing
166 // them about the deprecation.
167 int notification_message_id;
168
169 // Specifies whether the deprecated accelerator is still enabled to do its
170 // associated action.
171 bool deprecated_enabled;
172 };
173
174 // The ID of the MessageCenter notifications of deprecated accelerators.
175 const char kDeprecatedAcceleratorNotificationId[] = "deprecated_accelerator";
176
177 // This will be used for the UMA stats to measure the how many users are using
178 // the old v.s. new accelerators.
179 enum DeprecatedAcceleratorUsage {
180 DEPRECATED_USED = 0, // The deprecated accelerator is used.
181 NEW_USED, // The new accelerator is used.
182 DEPRECATED_USAGE_COUNT, // Maximum value of this enum for histogram use.
183 };
184
156 // Accelerators handled by AcceleratorController. 185 // Accelerators handled by AcceleratorController.
157 ASH_EXPORT extern const AcceleratorData kAcceleratorData[]; 186 ASH_EXPORT extern const AcceleratorData kAcceleratorData[];
158 ASH_EXPORT extern const size_t kAcceleratorDataLength; 187 ASH_EXPORT extern const size_t kAcceleratorDataLength;
159 188
189 // The list of the deprecated accelerators along with their new replacing ones
190 // and how to handle them.
191 ASH_EXPORT extern const DeprecatedAcceleratorData kDeprecatedAccelerators[];
192 ASH_EXPORT extern const size_t kDeprecatedAcceleratorsLength;
193
160 // Debug accelerators. Debug accelerators are only enabled when the "Debugging 194 // Debug accelerators. Debug accelerators are only enabled when the "Debugging
161 // keyboard shortcuts" flag (--ash-debug-shortcuts) is enabled. Debug actions 195 // keyboard shortcuts" flag (--ash-debug-shortcuts) is enabled. Debug actions
162 // are always run (similar to reserved actions). 196 // are always run (similar to reserved actions).
163 ASH_EXPORT extern const AcceleratorData kDebugAcceleratorData[]; 197 ASH_EXPORT extern const AcceleratorData kDebugAcceleratorData[];
164 ASH_EXPORT extern const size_t kDebugAcceleratorDataLength; 198 ASH_EXPORT extern const size_t kDebugAcceleratorDataLength;
165 199
166 // Actions that should be handled very early in Ash unless the current target 200 // Actions that should be handled very early in Ash unless the current target
167 // window is full-screen. 201 // window is full-screen.
168 ASH_EXPORT extern const AcceleratorAction kPreferredActions[]; 202 ASH_EXPORT extern const AcceleratorAction kPreferredActions[];
169 ASH_EXPORT extern const size_t kPreferredActionsLength; 203 ASH_EXPORT extern const size_t kPreferredActionsLength;
(...skipping 23 matching lines...) Expand all
193 ASH_EXPORT extern const AcceleratorAction kActionsAllowedInAppMode[]; 227 ASH_EXPORT extern const AcceleratorAction kActionsAllowedInAppMode[];
194 ASH_EXPORT extern const size_t kActionsAllowedInAppModeLength; 228 ASH_EXPORT extern const size_t kActionsAllowedInAppModeLength;
195 229
196 // Actions that require at least 1 window. 230 // Actions that require at least 1 window.
197 ASH_EXPORT extern const AcceleratorAction kActionsNeedingWindow[]; 231 ASH_EXPORT extern const AcceleratorAction kActionsNeedingWindow[];
198 ASH_EXPORT extern const size_t kActionsNeedingWindowLength; 232 ASH_EXPORT extern const size_t kActionsNeedingWindowLength;
199 233
200 } // namespace ash 234 } // namespace ash
201 235
202 #endif // ASH_ACCELERATORS_ACCELERATOR_TABLE_H_ 236 #endif // ASH_ACCELERATORS_ACCELERATOR_TABLE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698