summaryrefslogtreecommitdiff
path: root/Source/WebInspectorUI/UserInterface/KeyboardShortcut.js
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebInspectorUI/UserInterface/KeyboardShortcut.js
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/KeyboardShortcut.js')
-rw-r--r--Source/WebInspectorUI/UserInterface/KeyboardShortcut.js254
1 files changed, 0 insertions, 254 deletions
diff --git a/Source/WebInspectorUI/UserInterface/KeyboardShortcut.js b/Source/WebInspectorUI/UserInterface/KeyboardShortcut.js
deleted file mode 100644
index ef68c24df..000000000
--- a/Source/WebInspectorUI/UserInterface/KeyboardShortcut.js
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-WebInspector.KeyboardShortcut = function(modifiers, key, callback, targetElement)
-{
- WebInspector.Object.call(this);
-
- console.assert(key);
- console.assert(!callback || typeof callback === "function");
- console.assert(!targetElement || targetElement instanceof Element);
-
- if (typeof key === "string") {
- key = key[0].toUpperCase();
- key = new WebInspector.Key(key.charCodeAt(0), key);
- }
-
- if (callback && !targetElement)
- targetElement = document;
-
- this._modifiers = modifiers || WebInspector.KeyboardShortcut.Modifier.None;
- this._key = key;
- this._targetElement = targetElement;
- this._callback = callback;
- this._disabled = false;
- this._implicitlyPreventsDefault = true;
-
- if (targetElement) {
- var targetKeyboardShortcuts = targetElement._keyboardShortcuts;
- if (!targetKeyboardShortcuts)
- targetKeyboardShortcuts = targetElement._keyboardShortcuts = [];
-
- targetKeyboardShortcuts.push(this);
-
- if (!WebInspector.KeyboardShortcut._registeredKeyDownListener) {
- WebInspector.KeyboardShortcut._registeredKeyDownListener = true;
- window.addEventListener("keydown", WebInspector.KeyboardShortcut._handleKeyDown);
- }
- }
-};
-
-WebInspector.KeyboardShortcut._handleKeyDown = function(event)
-{
- if (event.defaultPrevented)
- return;
-
- for (var targetElement = event.target; targetElement; targetElement = targetElement.parentNode) {
- if (!targetElement._keyboardShortcuts)
- continue;
-
- for (var i = 0; i < targetElement._keyboardShortcuts.length; ++i) {
- var keyboardShortcut = targetElement._keyboardShortcuts[i];
- if (!keyboardShortcut.matchesEvent(event))
- continue;
-
- keyboardShortcut.callback(event, keyboardShortcut);
-
- if (keyboardShortcut.implicitlyPreventsDefault)
- event.preventDefault();
-
- return;
- }
- }
-};
-
-WebInspector.KeyboardShortcut.Modifier = {
- None: 0,
- Shift: 1,
- Control: 2,
- Option: 4,
- Command: 8,
-
- get CommandOrControl()
- {
- return InspectorFrontendHost.platform() === "mac" ? this.Command : this.Control;
- }
-};
-
-WebInspector.Key = function(keyCode, displayName)
-{
- this._keyCode = keyCode;
- this._displayName = displayName;
-};
-
-WebInspector.Key.prototype = {
- get keyCode()
- {
- return this._keyCode;
- },
-
- get displayName()
- {
- return this._displayName;
- },
-
- toString: function()
- {
- return this._displayName;
- }
-};
-
-WebInspector.KeyboardShortcut.Key = {
- Backspace: new WebInspector.Key(8, "\u232b"),
- Tab: new WebInspector.Key(9, "\u21e5"),
- Enter: new WebInspector.Key(13, "\u21a9"),
- Escape: new WebInspector.Key(27, "\u238b"),
- Space: new WebInspector.Key(32, "Space"),
- PageUp: new WebInspector.Key(33, "\u21de"),
- PageDown: new WebInspector.Key(34, "\u21df"),
- End: new WebInspector.Key(35, "\u2198"),
- Home: new WebInspector.Key(36, "\u2196"),
- Left: new WebInspector.Key(37, "\u2190"),
- Up: new WebInspector.Key(38, "\u2191"),
- Right: new WebInspector.Key(39, "\u2192"),
- Down: new WebInspector.Key(40, "\u2193"),
- Delete: new WebInspector.Key(46, "\u2326"),
- Zero: new WebInspector.Key(48, "0"),
- F1: new WebInspector.Key(112, "F1"),
- F2: new WebInspector.Key(113, "F2"),
- F3: new WebInspector.Key(114, "F3"),
- F4: new WebInspector.Key(115, "F4"),
- F5: new WebInspector.Key(116, "F5"),
- F6: new WebInspector.Key(117, "F6"),
- F7: new WebInspector.Key(118, "F7"),
- F8: new WebInspector.Key(119, "F8"),
- F9: new WebInspector.Key(120, "F9"),
- F10: new WebInspector.Key(121, "F10"),
- F11: new WebInspector.Key(122, "F11"),
- F12: new WebInspector.Key(123, "F12"),
- Semicolon: new WebInspector.Key(186, ";"),
- Plus: new WebInspector.Key(187, "+"),
- Comma: new WebInspector.Key(188, ","),
- Minus: new WebInspector.Key(189, "-"),
- Period: new WebInspector.Key(190, "."),
- Slash: new WebInspector.Key(191, "/"),
- Apostrophe: new WebInspector.Key(192, "`"),
- SingleQuote: new WebInspector.Key(222, "\'")
-};
-
-WebInspector.KeyboardShortcut.prototype = {
- constructor: WebInspector.KeyboardShortcut,
-
- // Public
-
- get modifiers()
- {
- return this._modifiers;
- },
-
- get key()
- {
- return this._key;
- },
-
- get displayName()
- {
- var result = "";
-
- if (this._modifiers & WebInspector.KeyboardShortcut.Modifier.Control)
- result += "\u2303";
- if (this._modifiers & WebInspector.KeyboardShortcut.Modifier.Option)
- result += InspectorFrontendHost.platform() === "mac" ? "\u2325" : "\u2387";
- if (this._modifiers & WebInspector.KeyboardShortcut.Modifier.Shift)
- result += "\u21e7";
- if (this._modifiers & WebInspector.KeyboardShortcut.Modifier.Command)
- result += "\u2318";
-
- result += this._key.toString();
-
- return result;
- },
-
- get callback()
- {
- return this._callback;
- },
-
- get disabled()
- {
- return this._disabled;
- },
-
- set disabled(disabled)
- {
- this._disabled = disabled || false;
- },
-
- get implicitlyPreventsDefault()
- {
- return this._implicitlyPreventsDefault;
- },
-
- set implicitlyPreventsDefault(implicitly)
- {
- this._implicitlyPreventsDefault = implicitly;
- },
-
- unbind: function()
- {
- this._disabled = true;
-
- if (!this._targetElement)
- return;
-
- var targetKeyboardShortcuts = this._targetElement._keyboardShortcuts;
- if (!targetKeyboardShortcuts)
- return;
-
- targetKeyboardShortcuts.remove(this);
- },
-
- matchesEvent: function(event)
- {
- if (this._disabled)
- return false;
-
- if (this._key.keyCode !== event.keyCode)
- return false;
-
- var eventModifiers = WebInspector.KeyboardShortcut.Modifier.None;
- if (event.shiftKey)
- eventModifiers |= WebInspector.KeyboardShortcut.Modifier.Shift;
- if (event.ctrlKey)
- eventModifiers |= WebInspector.KeyboardShortcut.Modifier.Control;
- if (event.altKey)
- eventModifiers |= WebInspector.KeyboardShortcut.Modifier.Option;
- if (event.metaKey)
- eventModifiers |= WebInspector.KeyboardShortcut.Modifier.Command;
- return this._modifiers === eventModifiers;
- }
-};
-
-WebInspector.KeyboardShortcut.prototype.__proto__ = WebInspector.Object.prototype;