Chromium Code Reviews| Index: remoting/tools/javascript_key_tester/chord_tracker.js |
| diff --git a/remoting/tools/javascript_key_tester/chord_tracker.js b/remoting/tools/javascript_key_tester/chord_tracker.js |
| index ee2a32771873f0c235ca079fe6a9c95a9bdb8e19..974f64d9c7760604e038e211ccb5a308367157cb 100644 |
| --- a/remoting/tools/javascript_key_tester/chord_tracker.js |
| +++ b/remoting/tools/javascript_key_tester/chord_tracker.js |
| @@ -14,26 +14,41 @@ var ChordTracker = function(parentDiv) { |
| }; |
| /** |
| - * @param {Event} event The keyup or keydown event. |
| + * @param {number} keyCode |
| + * @param {string} title |
| + * @return {void} |
| */ |
| -ChordTracker.prototype.addKeyEvent = function(event) { |
| - this.begin_(); |
| - var span = document.createElement('span'); |
| - span.title = this.makeTitle_(event); |
| - if (event.type == 'keydown') { |
| - span.classList.add('key-down'); |
| - this.pressedKeys_[event.keyCode] = span; |
| - } else { |
| - span.classList.add('key-up'); |
| - delete this.pressedKeys_[event.keyCode]; |
| - } |
| - span.innerText = this.keyName_(event.keyCode); |
| - this.currentDiv_.appendChild(span); |
| - if (!this.keysPressed_()) { |
| - this.end_(); |
| - } |
| +ChordTracker.prototype.addKeyUpEvent = function(keyCode, title) { |
| + var text = this.keyName_(keyCode); |
| + var span = this.addSpanElement_('key-up', text, title); |
| + delete this.pressedKeys_[keyCode]; |
| + this.endIfNoKeysPressed_(); |
| }; |
| +/** |
| + * @param {number} keyCode |
| + * @param {string} title |
| + * @return {void} |
| + */ |
| +ChordTracker.prototype.addKeyDownEvent = function(keyCode, title) { |
| + var text = this.keyName_(keyCode); |
| + var span = this.addSpanElement_('key-down', text, title); |
| + this.pressedKeys_[keyCode] = span; |
| + this.endIfNoKeysPressed_(); |
|
Jamie
2015/01/30 23:25:09
I don't think you need this here: a keydown event
Łukasz Anforowicz
2015/01/31 00:44:49
Done.
|
| +}; |
| + |
| +/** |
| + * @param {string} characterText |
| + * @param {string} title |
| + * @return {void} |
| + */ |
| +ChordTracker.prototype.addCharEvent = function(characterText, title) { |
| + this.addSpanElement_('char-event', characterText, title); |
| +}; |
| + |
| +/** |
| + * @return {void} |
| + */ |
| ChordTracker.prototype.releaseAllKeys = function() { |
| this.end_(); |
| for (var i in this.pressedKeys_) { |
| @@ -44,6 +59,31 @@ ChordTracker.prototype.releaseAllKeys = function() { |
| /** |
| * @private |
| + * @param {string} className |
| + * @param {string} text |
| + * @param {string} title |
| + */ |
| +ChordTracker.prototype.addSpanElement_ = function(className, text, title) { |
| + this.begin_(); |
| + var span = document.createElement('span'); |
| + span.classList.add(className); |
| + span.innerText = text; |
| + span.title = title; |
| + this.currentDiv_.appendChild(span); |
| + return span; |
| +} |
| + |
| +/** |
| + * @private |
| + */ |
| +ChordTracker.prototype.endIfNoKeysPressed_ = function() { |
| + if (!this.keysPressed_()) { |
| + this.end_(); |
| + } |
| +} |
| + |
| +/** |
| + * @private |
| */ |
| ChordTracker.prototype.begin_ = function() { |
| if (this.currentDiv_) { |
| @@ -93,18 +133,3 @@ ChordTracker.prototype.keyName_ = function(keyCode) { |
| return result; |
| }; |
| -/** |
| - * @param {Event} event The keyup or keydown event. |
| - * @private |
| - */ |
| -ChordTracker.prototype.makeTitle_ = function(event) { |
| - return 'type: ' + event.type + '\n' + |
| - 'alt: ' + event.altKey + '\n' + |
| - 'shift: ' + event.shiftKey + '\n' + |
| - 'control: ' + event.controlKey + '\n' + |
| - 'meta: ' + event.metaKey + '\n' + |
| - 'charCode: ' + event.charCode + '\n' + |
| - 'keyCode: ' + event.keyCode + '\n' + |
| - 'keyIdentifier: ' + event.keyIdentifier + '\n' + |
| - 'repeat: ' + event.repeat + '\n'; |
| -}; |