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

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: Reverted whitespace from generated_resources.grd 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 new accelerator to replace the old one above.
162 AcceleratorData new_accelerator;
163
164 // The name of the UMA histogram that will be used to measure the deprecated
165 // v.s. new accelerator usage.
166 const char* uma_histogram_name;
167
168 // The ID of the localized notification message to show to users informing
169 // them about the deprecation.
170 int notification_message_id;
171
172 // Specifies whether the deprecation notification should still be shown to
173 // users.
174 bool should_show_notification;
175
176 // Specifies whether the deprecated accelerator is still enabled to do its
177 // associated action.
178 bool deprecated_enabled;
179 };
180
181 // The ID of the MessageCenter notifications of deprecated accelerators.
182 const char kDeprecatedAcceleratorNotificationId[] = "deprecated_accelerator";
183
184 // This will be used for the UMA stats to measure the how many users are using
185 // the old v.s. new accelerators.
186 enum DeprecatedAcceleratorUsage {
187 DEPRECATED_USED = 0, // The deprecated accelerator is used.
188 NEW_USED, // The new accelerator is used.
189 DEPRECATED_USAGE_COUNT, // Maximum value of this enum for histogram use.
190 };
191
156 // Accelerators handled by AcceleratorController. 192 // Accelerators handled by AcceleratorController.
157 ASH_EXPORT extern const AcceleratorData kAcceleratorData[]; 193 ASH_EXPORT extern const AcceleratorData kAcceleratorData[];
158 ASH_EXPORT extern const size_t kAcceleratorDataLength; 194 ASH_EXPORT extern const size_t kAcceleratorDataLength;
159 195
196 // The list of the deprecated accelerators along with their new replacing ones
197 // and how to handle them.
198 ASH_EXPORT extern const DeprecatedAcceleratorData kDeprecatedAccelerators[];
199 ASH_EXPORT extern const size_t kDeprecatedAcceleratorsLength;
200
160 // Debug accelerators. Debug accelerators are only enabled when the "Debugging 201 // Debug accelerators. Debug accelerators are only enabled when the "Debugging
161 // keyboard shortcuts" flag (--ash-debug-shortcuts) is enabled. Debug actions 202 // keyboard shortcuts" flag (--ash-debug-shortcuts) is enabled. Debug actions
162 // are always run (similar to reserved actions). 203 // are always run (similar to reserved actions).
163 ASH_EXPORT extern const AcceleratorData kDebugAcceleratorData[]; 204 ASH_EXPORT extern const AcceleratorData kDebugAcceleratorData[];
164 ASH_EXPORT extern const size_t kDebugAcceleratorDataLength; 205 ASH_EXPORT extern const size_t kDebugAcceleratorDataLength;
165 206
166 // Actions that should be handled very early in Ash unless the current target 207 // Actions that should be handled very early in Ash unless the current target
167 // window is full-screen. 208 // window is full-screen.
168 ASH_EXPORT extern const AcceleratorAction kPreferredActions[]; 209 ASH_EXPORT extern const AcceleratorAction kPreferredActions[];
169 ASH_EXPORT extern const size_t kPreferredActionsLength; 210 ASH_EXPORT extern const size_t kPreferredActionsLength;
(...skipping 23 matching lines...) Expand all
193 ASH_EXPORT extern const AcceleratorAction kActionsAllowedInAppMode[]; 234 ASH_EXPORT extern const AcceleratorAction kActionsAllowedInAppMode[];
194 ASH_EXPORT extern const size_t kActionsAllowedInAppModeLength; 235 ASH_EXPORT extern const size_t kActionsAllowedInAppModeLength;
195 236
196 // Actions that require at least 1 window. 237 // Actions that require at least 1 window.
197 ASH_EXPORT extern const AcceleratorAction kActionsNeedingWindow[]; 238 ASH_EXPORT extern const AcceleratorAction kActionsNeedingWindow[];
198 ASH_EXPORT extern const size_t kActionsNeedingWindowLength; 239 ASH_EXPORT extern const size_t kActionsNeedingWindowLength;
199 240
200 } // namespace ash 241 } // namespace ash
201 242
202 #endif // ASH_ACCELERATORS_ACCELERATOR_TABLE_H_ 243 #endif // ASH_ACCELERATORS_ACCELERATOR_TABLE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698