[MediaWiki-commits] [Gerrit] Add event logger to collect IME functionality info - change (mediawiki...VisualEditor)

2013-11-18 Thread Catrope (Code Review)
Catrope has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/95990


Change subject: Add event logger to collect IME functionality info
..

Add event logger to collect IME functionality info

This will be used to collect event traces from various IME/browser/OS
combinations that can then be used to drive unit tests.

Change-Id: Id604161b568cd412b44fe9979aff45d1fe7f054a
---
A demos/ve/eventLogger.html
1 file changed, 211 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/90/95990/1

diff --git a/demos/ve/eventLogger.html b/demos/ve/eventLogger.html
new file mode 100644
index 000..4ccfd58
--- /dev/null
+++ b/demos/ve/eventLogger.html
@@ -0,0 +1,211 @@
+!DOCTYPE html
+html
+   head
+   meta charset=UTF-8
+   titleKeyboard Event Logger/title
+   style
+   html {
+   margin: 0;
+   padding: 0;
+   height: 100%;
+   }
+
+   body {
+   margin: 1em;
+   padding: 0;
+   height: 100%;
+   }
+
+   #ve-demo-halo {
+   width: 100%;
+   min-height: 2em;
+   }
+
+   #ve-demo-content {
+   border: 1px solid gray;
+   width: 100%;
+   min-height: 2em;
+   max-height: 15%;
+   overflow-y: auto;
+   }
+
+   #ve-demo-log {
+   margin-top: 1em;
+   border: 1px solid gray;
+   width: 100%;
+   height: 80%;
+   white-space: pre;
+   font-family: monospace;
+   padding: 0;
+   overflow-y: auto;
+   }
+   /style
+   /head
+   body
+   form id=ve-demo-halo
+   IME identifier (name and version):
+   input type=text name=identifier autofocus
+   input type=submit value=Start Logging Keyboard 
Events
+   /form
+   div id=ve-demo-content contenteditable=true 
style=display: none;/div
+   textarea id=ve-demo-log/textarea
+
+   script src=../../modules/jquery/jquery.js/script
+   script src=../../modules/jquery/jquery.client.js/script
+   script src=../../modules/oojs/oo.js/script
+   script src=../../modules/rangy/rangy-core-1.3.js/script
+   script 
src=../../modules/rangy/rangy-position-1.3.js/script
+   script src=../../modules/unicodejs/unicodejs.js/script
+   script 
src=../../modules/unicodejs/unicodejs.graphemebreak.js/script
+   script 
src=../../modules/unicodejs/unicodejs.wordbreak.js/script
+   script src=../../modules/ve/ve.js/script
+   script src=../../modules/ve/ve.EventSequencer.js/script
+   script
+   ( function () {
+   var haloElement, contentElement, logElement, 
startTime, timeoutId,
+   oldHtml = '',
+   oldStartOffset = 0,
+   oldEndOffset = 0,
+   comments,
+   log = [];
+
+   function makeEventHandler( eventName ) {
+   return function ( e ) {
+   logEvent( 'sendEvent', 
eventName, e );
+   };
+   }
+
+   function makeAfterLoopHandler () {
+   return function () {
+   logEvent( 'endLoop' );
+   };
+   }
+
+   function eventToObject( e ) {
+   // TODO: flesh this out more
+   if ( !e || e.keyCode === undefined ) {
+   return {};
+   } else {
+   return { 'keyCode': e.keyCode };
+   }
+   }
+
+   function 

[MediaWiki-commits] [Gerrit] Add event logger to collect IME functionality info - change (mediawiki...VisualEditor)

2013-11-18 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Add event logger to collect IME functionality info
..


Add event logger to collect IME functionality info

This will be used to collect event traces from various IME/browser/OS
combinations that can then be used to drive unit tests.

Change-Id: Id604161b568cd412b44fe9979aff45d1fe7f054a
---
A demos/ve/eventLogger.html
1 file changed, 212 insertions(+), 0 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/demos/ve/eventLogger.html b/demos/ve/eventLogger.html
new file mode 100644
index 000..56f27a4
--- /dev/null
+++ b/demos/ve/eventLogger.html
@@ -0,0 +1,212 @@
+!DOCTYPE html
+html
+   head
+   meta charset=UTF-8
+   titleKeyboard Event Logger/title
+   style
+   html {
+   margin: 0;
+   padding: 0;
+   height: 100%;
+   }
+
+   body {
+   margin: 1em;
+   padding: 0;
+   height: 100%;
+   }
+
+   #ve-demo-halo {
+   width: 100%;
+   min-height: 2em;
+   }
+
+   #ve-demo-content {
+   border: 1px solid gray;
+   width: 100%;
+   min-height: 2em;
+   max-height: 15%;
+   overflow-y: auto;
+   }
+
+   #ve-demo-log {
+   margin-top: 1em;
+   border: 1px solid gray;
+   width: 100%;
+   height: 80%;
+   white-space: pre;
+   font-family: monospace;
+   padding: 0;
+   overflow-y: auto;
+   }
+   /style
+   /head
+   body
+   form id=ve-demo-halo
+   IME identifier (name and version):
+   input type=text name=identifier autofocus
+   input type=submit value=Start Logging Keyboard 
Events
+   /form
+   div id=ve-demo-content contenteditable=true 
style=display: none;/div
+   textarea id=ve-demo-log/textarea
+
+   script src=../../modules/jquery/jquery.js/script
+   script src=../../modules/jquery/jquery.client.js/script
+   script src=../../modules/oojs/oo.js/script
+   script src=../../modules/rangy/rangy-core-1.3.js/script
+   script 
src=../../modules/rangy/rangy-position-1.3.js/script
+   script src=../../modules/unicodejs/unicodejs.js/script
+   script 
src=../../modules/unicodejs/unicodejs.graphemebreak.js/script
+   script 
src=../../modules/unicodejs/unicodejs.wordbreak.js/script
+   script src=../../modules/ve/ve.js/script
+   script src=../../modules/ve/ve.EventSequencer.js/script
+   script
+   ( function () {
+   var haloElement, contentElement, logElement, 
startTime, timeoutId,
+   oldHtml = '',
+   oldStartOffset = 0,
+   oldEndOffset = 0,
+   comments,
+   log = [];
+
+   function makeEventHandler( eventName ) {
+   return function ( e ) {
+   logEvent( 'sendEvent', 
eventName, e );
+   };
+   }
+
+   function makeAfterLoopHandler () {
+   return function () {
+   logEvent( 'endLoop' );
+   };
+   }
+
+   function eventToObject( e ) {
+   // TODO: flesh this out more
+   if ( !e || e.keyCode === undefined ) {
+   return {};
+   } else {
+   return { 'keyCode': e.keyCode };
+   }
+   }
+
+   function logEvent( methodName, eventName, e ) {
+