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

Unified Diff: remoting/tools/javascript_key_tester/main.js

Issue 900983003: Clean-up key tester. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reviewer feedback. Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/tools/javascript_key_tester/main.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/tools/javascript_key_tester/main.js
diff --git a/remoting/tools/javascript_key_tester/main.js b/remoting/tools/javascript_key_tester/main.js
index e37e4265262ef9b8430a62aee9439d985c9ca01c..1dc8bbeed3434444230d7791af3a834cee1e0a46 100644
--- a/remoting/tools/javascript_key_tester/main.js
+++ b/remoting/tools/javascript_key_tester/main.js
@@ -3,140 +3,44 @@
* found in the LICENSE file.
*/
-/**
- * @param {string} eventName
- * @param {number=} opt_space
- * @return {string}
- */
-function jsonifyJavascriptKeyEvent(event, eventName, opt_space) {
- return "JavaScript '" + eventName + "' event = " + JSON.stringify(
- event,
- ['type', 'alt', 'shift', 'control', 'meta', 'charCode', 'keyCode',
- 'keyIdentifier', 'repeat'],
- opt_space);
-};
-
-/**
- * @param {ChordTracker} jsChordTracker
- * @param {Event} event
- * @return {void}
- */
-function handleJavascriptKeyDownEvent(jsChordTracker, event) {
- appendToTextLog(jsonifyJavascriptKeyEvent(event, 'keydown', undefined));
- jsChordTracker.addKeyDownEvent(
- event.keyCode, jsonifyJavascriptKeyEvent(event, 'keydown', 2));
-}
-
-/**
- * @param {ChordTracker} jsChordTracker
- * @param {Event} event
- * @return {void}
- */
-function handleJavascriptKeyUpEvent(jsChordTracker, event) {
- appendToTextLog(jsonifyJavascriptKeyEvent(event, 'keyup', undefined));
- jsChordTracker.addKeyUpEvent(
- event.keyCode, jsonifyJavascriptKeyEvent(event, 'keyup', 2));
-}
-
-/** @constructor */
-var PNaClEvent = function() {
- /** @type {string} */
- this.type = "";
- /** @type {number} */
- this.modifiers = 0;
- /** @type {number} */
- this.keyCode = 0;
- /** @type {string|undefined} */
- this.characterText = undefined;
- /** @type {string} */
- this.code = "";
-};
-
-/**
- * @param {PNaClEvent} event
- * @param {number|undefined} space
- * @return {string}
- */
-function jsonifyPnaclKeyboardInputEvent(event, space) {
- return "PNaCl KeyboardInputEvent = " + JSON.stringify(
- event,
- ['type', 'modifiers', 'keyCode', 'characterText', 'code'],
- space);
-};
-
-/**
- * @param {ChordTracker} pnaclChordTracker
- * @param {Event} event
- * @return {void}
- */
-function handlePNaclMessage(pnaclChordTracker, event) {
- var pnaclEvent = /** @type {PNaClEvent} */ (event.data);
-
- appendToTextLog(jsonifyPnaclKeyboardInputEvent(pnaclEvent, undefined));
- var title = jsonifyPnaclKeyboardInputEvent(pnaclEvent, 2);
- if (pnaclEvent.type == "KEYDOWN") {
- pnaclChordTracker.addKeyDownEvent(pnaclEvent.keyCode, title);
- }
- if (pnaclEvent.type == "KEYUP") {
- pnaclChordTracker.addKeyUpEvent(pnaclEvent.keyCode, title);
- }
- if (pnaclEvent.type == "CHAR") {
- pnaclChordTracker.addCharEvent(pnaclEvent.characterText, title);
- }
-}
-
-/**
- * @param {string} str
- * @return {void}
- */
-function appendToTextLog(str) {
- var textLog = document.getElementById('text-log');
- var div = document.createElement('div');
- div.innerText = str;
- textLog.appendChild(div);
-}
-
function onLoad() {
- // Start listening to Javascript keyup/keydown events.
var jsLog = document.getElementById('javascript-log');
- var jsChordTracker = new ChordTracker(jsLog);
- document.body.addEventListener(
- 'keydown',
- function (event) {
- handleJavascriptKeyDownEvent(jsChordTracker, event);
- },
- false);
- document.body.addEventListener(
- 'keyup',
- function (event) {
- handleJavascriptKeyUpEvent(jsChordTracker, event);
- },
- false);
-
- // Start listening to PNaCl keyboard input events.
var pnaclLog = document.getElementById('pnacl-log');
- var pnaclChordTracker = new ChordTracker(pnaclLog);
- document.getElementById('pnacl-listener').addEventListener(
- 'message',
- function (message) {
- handlePNaclMessage(pnaclChordTracker, message);
- },
- true);
+ var pnaclPlugin = document.getElementById('pnacl-plugin');
+ var pnaclListener = document.getElementById('pnacl-listener');
+ var textLog = document.getElementById('text-log');
+ var textLogContainer = document.getElementById('text-log-container');
+
+ var eventListeners = new EventListeners(jsLog, pnaclLog, textLog,
+ pnaclPlugin, pnaclListener);
+ eventListeners.activate();
- // Start listening to generic, source-agnostic events.
- window.addEventListener(
- 'blur',
- function () {
- jsChordTracker.releaseAllKeys();
- pnaclChordTracker.releaseAllKeys();
- },
- false);
document.getElementById('clear-log').addEventListener(
'click',
function() {
jsLog.innerText = '';
pnaclLog.innerText = '';
- document.getElementById('text-log').innerText = '';
+ textLog.innerText = '';
+ },
+ false);
+ document.getElementById('show-log').addEventListener(
+ 'click',
+ function() {
+ eventListeners.deactivate();
+ textLogContainer.hidden = false;
+
+ var selection = window.getSelection();
+ var range = document.createRange();
+ range.selectNodeContents(textLog);
+ selection.removeAllRanges();
+ selection.addRange(range);
+ },
+ false);
+ document.getElementById('hide-log').addEventListener(
+ 'click',
+ function() {
+ eventListeners.activate();
+ textLogContainer.hidden = true;
},
false);
}
« no previous file with comments | « remoting/tools/javascript_key_tester/main.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698