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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/ui/KeyboardShortcut.js

Issue 2440953003: DevTools: use semicolons after each statement. (Closed)
Patch Set: rebaseline Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2009 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 14 matching lines...) Expand all
25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */ 28 */
29 29
30 /** 30 /**
31 * @constructor 31 * @constructor
32 */ 32 */
33 WebInspector.KeyboardShortcut = function() 33 WebInspector.KeyboardShortcut = function()
34 { 34 {
35 } 35 };
36 36
37 /** 37 /**
38 * Constants for encoding modifier key set as a bit mask. 38 * Constants for encoding modifier key set as a bit mask.
39 * @see #_makeKeyFromCodeAndModifiers 39 * @see #_makeKeyFromCodeAndModifiers
40 */ 40 */
41 WebInspector.KeyboardShortcut.Modifiers = { 41 WebInspector.KeyboardShortcut.Modifiers = {
42 None: 0, // Constant for empty modifiers set. 42 None: 0, // Constant for empty modifiers set.
43 Shift: 1, 43 Shift: 1,
44 Ctrl: 2, 44 Ctrl: 2,
45 Alt: 4, 45 Alt: 4,
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 * @param {number|string} keyCode The code of the key, or a character "a-z" whic h is converted to a keyCode value. 136 * @param {number|string} keyCode The code of the key, or a character "a-z" whic h is converted to a keyCode value.
137 * @param {number=} modifiers Optional list of modifiers passed as additional pa rameters. 137 * @param {number=} modifiers Optional list of modifiers passed as additional pa rameters.
138 * @return {number} 138 * @return {number}
139 */ 139 */
140 WebInspector.KeyboardShortcut.makeKey = function(keyCode, modifiers) 140 WebInspector.KeyboardShortcut.makeKey = function(keyCode, modifiers)
141 { 141 {
142 if (typeof keyCode === "string") 142 if (typeof keyCode === "string")
143 keyCode = keyCode.charCodeAt(0) - (/^[a-z]/.test(keyCode) ? 32 : 0); 143 keyCode = keyCode.charCodeAt(0) - (/^[a-z]/.test(keyCode) ? 32 : 0);
144 modifiers = modifiers || WebInspector.KeyboardShortcut.Modifiers.None; 144 modifiers = modifiers || WebInspector.KeyboardShortcut.Modifiers.None;
145 return WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers(keyCode, m odifiers); 145 return WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers(keyCode, m odifiers);
146 } 146 };
147 147
148 /** 148 /**
149 * @param {?KeyboardEvent} keyboardEvent 149 * @param {?KeyboardEvent} keyboardEvent
150 * @return {number} 150 * @return {number}
151 */ 151 */
152 WebInspector.KeyboardShortcut.makeKeyFromEvent = function(keyboardEvent) 152 WebInspector.KeyboardShortcut.makeKeyFromEvent = function(keyboardEvent)
153 { 153 {
154 var modifiers = WebInspector.KeyboardShortcut.Modifiers.None; 154 var modifiers = WebInspector.KeyboardShortcut.Modifiers.None;
155 if (keyboardEvent.shiftKey) 155 if (keyboardEvent.shiftKey)
156 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Shift; 156 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Shift;
157 if (keyboardEvent.ctrlKey) 157 if (keyboardEvent.ctrlKey)
158 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Ctrl; 158 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Ctrl;
159 if (keyboardEvent.altKey) 159 if (keyboardEvent.altKey)
160 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Alt; 160 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Alt;
161 if (keyboardEvent.metaKey) 161 if (keyboardEvent.metaKey)
162 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Meta; 162 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Meta;
163 163
164 // Use either a real or a synthetic keyCode (for events originating from ext ensions). 164 // Use either a real or a synthetic keyCode (for events originating from ext ensions).
165 var keyCode = keyboardEvent.keyCode || keyboardEvent["__keyCode"]; 165 var keyCode = keyboardEvent.keyCode || keyboardEvent["__keyCode"];
166 return WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers(keyCode, m odifiers); 166 return WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers(keyCode, m odifiers);
167 } 167 };
168 168
169 /** 169 /**
170 * @param {?KeyboardEvent} keyboardEvent 170 * @param {?KeyboardEvent} keyboardEvent
171 * @return {number} 171 * @return {number}
172 */ 172 */
173 WebInspector.KeyboardShortcut.makeKeyFromEventIgnoringModifiers = function(keybo ardEvent) 173 WebInspector.KeyboardShortcut.makeKeyFromEventIgnoringModifiers = function(keybo ardEvent)
174 { 174 {
175 var keyCode = keyboardEvent.keyCode || keyboardEvent["__keyCode"]; 175 var keyCode = keyboardEvent.keyCode || keyboardEvent["__keyCode"];
176 return WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers(keyCode, W ebInspector.KeyboardShortcut.Modifiers.None); 176 return WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers(keyCode, W ebInspector.KeyboardShortcut.Modifiers.None);
177 } 177 };
178 178
179 /** 179 /**
180 * @param {(?KeyboardEvent|?MouseEvent)} event 180 * @param {(?KeyboardEvent|?MouseEvent)} event
181 * @return {boolean} 181 * @return {boolean}
182 */ 182 */
183 WebInspector.KeyboardShortcut.eventHasCtrlOrMeta = function(event) 183 WebInspector.KeyboardShortcut.eventHasCtrlOrMeta = function(event)
184 { 184 {
185 return WebInspector.isMac() ? event.metaKey && !event.ctrlKey : event.ctrlKe y && !event.metaKey; 185 return WebInspector.isMac() ? event.metaKey && !event.ctrlKey : event.ctrlKe y && !event.metaKey;
186 } 186 };
187 187
188 /** 188 /**
189 * @param {!Event} event 189 * @param {!Event} event
190 * @return {boolean} 190 * @return {boolean}
191 */ 191 */
192 WebInspector.KeyboardShortcut.hasNoModifiers = function(event) 192 WebInspector.KeyboardShortcut.hasNoModifiers = function(event)
193 { 193 {
194 return !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey; 194 return !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey;
195 } 195 };
196 196
197 /** @typedef {!{key: number, name: string}} */ 197 /** @typedef {!{key: number, name: string}} */
198 WebInspector.KeyboardShortcut.Descriptor; 198 WebInspector.KeyboardShortcut.Descriptor;
199 199
200 /** 200 /**
201 * @param {string|!WebInspector.KeyboardShortcut.Key} key 201 * @param {string|!WebInspector.KeyboardShortcut.Key} key
202 * @param {number=} modifiers 202 * @param {number=} modifiers
203 * @return {!WebInspector.KeyboardShortcut.Descriptor} 203 * @return {!WebInspector.KeyboardShortcut.Descriptor}
204 */ 204 */
205 WebInspector.KeyboardShortcut.makeDescriptor = function(key, modifiers) 205 WebInspector.KeyboardShortcut.makeDescriptor = function(key, modifiers)
206 { 206 {
207 return { 207 return {
208 key: WebInspector.KeyboardShortcut.makeKey(typeof key === "string" ? key : key.code, modifiers), 208 key: WebInspector.KeyboardShortcut.makeKey(typeof key === "string" ? key : key.code, modifiers),
209 name: WebInspector.KeyboardShortcut.shortcutToString(key, modifiers) 209 name: WebInspector.KeyboardShortcut.shortcutToString(key, modifiers)
210 }; 210 };
211 } 211 };
212 212
213 /** 213 /**
214 * @param {string} shortcut 214 * @param {string} shortcut
215 * @return {?WebInspector.KeyboardShortcut.Descriptor} 215 * @return {?WebInspector.KeyboardShortcut.Descriptor}
216 */ 216 */
217 WebInspector.KeyboardShortcut.makeDescriptorFromBindingShortcut = function(short cut) 217 WebInspector.KeyboardShortcut.makeDescriptorFromBindingShortcut = function(short cut)
218 { 218 {
219 var parts = shortcut.split(/\+(?!$)/); 219 var parts = shortcut.split(/\+(?!$)/);
220 var modifiers = 0; 220 var modifiers = 0;
221 var keyString; 221 var keyString;
222 for (var i = 0; i < parts.length; ++i) { 222 for (var i = 0; i < parts.length; ++i) {
223 if (typeof WebInspector.KeyboardShortcut.Modifiers[parts[i]] !== "undefi ned") { 223 if (typeof WebInspector.KeyboardShortcut.Modifiers[parts[i]] !== "undefi ned") {
224 modifiers |= WebInspector.KeyboardShortcut.Modifiers[parts[i]]; 224 modifiers |= WebInspector.KeyboardShortcut.Modifiers[parts[i]];
225 continue; 225 continue;
226 } 226 }
227 console.assert(i === parts.length - 1, "Only one key other than modifier is allowed in shortcut <" + shortcut + ">"); 227 console.assert(i === parts.length - 1, "Only one key other than modifier is allowed in shortcut <" + shortcut + ">");
228 keyString = parts[i]; 228 keyString = parts[i];
229 break; 229 break;
230 } 230 }
231 console.assert(keyString, "Modifiers-only shortcuts are not allowed (encount ered <" + shortcut + ">)"); 231 console.assert(keyString, "Modifiers-only shortcuts are not allowed (encount ered <" + shortcut + ">)");
232 if (!keyString) 232 if (!keyString)
233 return null; 233 return null;
234 234
235 var key = WebInspector.KeyboardShortcut.Keys[keyString] || WebInspector.Keyb oardShortcut.KeyBindings[keyString]; 235 var key = WebInspector.KeyboardShortcut.Keys[keyString] || WebInspector.Keyb oardShortcut.KeyBindings[keyString];
236 if (key && key.shiftKey) 236 if (key && key.shiftKey)
237 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Shift; 237 modifiers |= WebInspector.KeyboardShortcut.Modifiers.Shift;
238 return WebInspector.KeyboardShortcut.makeDescriptor(key ? key : keyString, m odifiers); 238 return WebInspector.KeyboardShortcut.makeDescriptor(key ? key : keyString, m odifiers);
239 } 239 };
240 240
241 /** 241 /**
242 * @param {string|!WebInspector.KeyboardShortcut.Key} key 242 * @param {string|!WebInspector.KeyboardShortcut.Key} key
243 * @param {number=} modifiers 243 * @param {number=} modifiers
244 * @return {string} 244 * @return {string}
245 */ 245 */
246 WebInspector.KeyboardShortcut.shortcutToString = function(key, modifiers) 246 WebInspector.KeyboardShortcut.shortcutToString = function(key, modifiers)
247 { 247 {
248 return WebInspector.KeyboardShortcut._modifiersToString(modifiers) + WebInsp ector.KeyboardShortcut._keyName(key); 248 return WebInspector.KeyboardShortcut._modifiersToString(modifiers) + WebInsp ector.KeyboardShortcut._keyName(key);
249 } 249 };
250 250
251 /** 251 /**
252 * @param {string|!WebInspector.KeyboardShortcut.Key} key 252 * @param {string|!WebInspector.KeyboardShortcut.Key} key
253 * @return {string} 253 * @return {string}
254 */ 254 */
255 WebInspector.KeyboardShortcut._keyName = function(key) 255 WebInspector.KeyboardShortcut._keyName = function(key)
256 { 256 {
257 if (typeof key === "string") 257 if (typeof key === "string")
258 return key.toUpperCase(); 258 return key.toUpperCase();
259 if (typeof key.name === "string") 259 if (typeof key.name === "string")
260 return key.name; 260 return key.name;
261 return key.name[WebInspector.platform()] || key.name.other || ""; 261 return key.name[WebInspector.platform()] || key.name.other || "";
262 } 262 };
263 263
264 /** 264 /**
265 * @param {number} keyCode 265 * @param {number} keyCode
266 * @param {?number} modifiers 266 * @param {?number} modifiers
267 * @return {number} 267 * @return {number}
268 */ 268 */
269 WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers = function(keyCode, m odifiers) 269 WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers = function(keyCode, m odifiers)
270 { 270 {
271 return (keyCode & 255) | (modifiers << 8); 271 return (keyCode & 255) | (modifiers << 8);
272 }; 272 };
273 273
274 /** 274 /**
275 * @param {number} key 275 * @param {number} key
276 * @return {!{keyCode: number, modifiers: number}} 276 * @return {!{keyCode: number, modifiers: number}}
277 */ 277 */
278 WebInspector.KeyboardShortcut.keyCodeAndModifiersFromKey = function(key) 278 WebInspector.KeyboardShortcut.keyCodeAndModifiersFromKey = function(key)
279 { 279 {
280 return { keyCode: key & 255, modifiers: key >> 8 }; 280 return { keyCode: key & 255, modifiers: key >> 8 };
281 } 281 };
282 282
283 /** 283 /**
284 * @param {number|undefined} modifiers 284 * @param {number|undefined} modifiers
285 * @return {string} 285 * @return {string}
286 */ 286 */
287 WebInspector.KeyboardShortcut._modifiersToString = function(modifiers) 287 WebInspector.KeyboardShortcut._modifiersToString = function(modifiers)
288 { 288 {
289 var isMac = WebInspector.isMac(); 289 var isMac = WebInspector.isMac();
290 var m = WebInspector.KeyboardShortcut.Modifiers; 290 var m = WebInspector.KeyboardShortcut.Modifiers;
291 var modifierNames = new Map([ 291 var modifierNames = new Map([
292 [m.Ctrl, isMac ? "Ctrl\u2004" : "Ctrl\u200A+\u200A"], 292 [m.Ctrl, isMac ? "Ctrl\u2004" : "Ctrl\u200A+\u200A"],
293 [m.Alt, isMac ? "opt\u2004" : "Alt\u200A+\u200A"], 293 [m.Alt, isMac ? "opt\u2004" : "Alt\u200A+\u200A"],
294 [m.Shift, isMac ? "\u21e7\u2004" : "Shift\u200A+\u200A"], 294 [m.Shift, isMac ? "\u21e7\u2004" : "Shift\u200A+\u200A"],
295 [m.Meta, isMac ? "\u2318\u2004" : "Win\u200A+\u200A"] 295 [m.Meta, isMac ? "\u2318\u2004" : "Win\u200A+\u200A"]
296 ]); 296 ]);
297 return [m.Meta, m.Ctrl, m.Alt, m.Shift].map(mapModifiers).join(""); 297 return [m.Meta, m.Ctrl, m.Alt, m.Shift].map(mapModifiers).join("");
298 298
299 /** 299 /**
300 * @param {number} m 300 * @param {number} m
301 * @return {string} 301 * @return {string}
302 */ 302 */
303 function mapModifiers(m) 303 function mapModifiers(m)
304 { 304 {
305 return modifiers & m ? /** @type {string} */ (modifierNames.get(m)) : "" ; 305 return modifiers & m ? /** @type {string} */ (modifierNames.get(m)) : "" ;
306 } 306 }
307 }; 307 };
308 308
309 WebInspector.KeyboardShortcut.SelectAll = WebInspector.KeyboardShortcut.makeKey( "a", WebInspector.KeyboardShortcut.Modifiers.CtrlOrMeta); 309 WebInspector.KeyboardShortcut.SelectAll = WebInspector.KeyboardShortcut.makeKey( "a", WebInspector.KeyboardShortcut.Modifiers.CtrlOrMeta);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698