WebAPI/BrowserAPI/KeyboardEvent: Difference between revisions

Update follow up bugs
(')
(Update follow up bugs)
 
(4 intermediate revisions by 3 users not shown)
Line 25: Line 25:
Four new events are proposed:
Four new events are proposed:
* mozbrowserbeforekeydown
* mozbrowserbeforekeydown
* mozbrowserkeydown
* mozbrowserafterkeydown
* mozbrowserbeforekeyup
* mozbrowserbeforekeyup
* mozbrowserkeyup
* mozbrowserafterkeyup




Line 33: Line 33:
# 'mozbrowserbeforekeydown' is dispatched to mozbrowser-embedder iframe
# 'mozbrowserbeforekeydown' is dispatched to mozbrowser-embedder iframe
# 'keydown' is dispatched to mozbrowser-embedded iframe
# 'keydown' is dispatched to mozbrowser-embedded iframe
# 'mozbrowserkeydown' is dispatched to mozbrowser-embedder iframe
# 'mozbrowserafterkeydown' is dispatched to mozbrowser-embedder iframe




Line 39: Line 39:
# 'mozbrowserbeforekeyup' is dispatched to mozbrowser-embedder iframe
# 'mozbrowserbeforekeyup' is dispatched to mozbrowser-embedder iframe
# 'keyup' is dispatched to mozbrowser-embedded iframe
# 'keyup' is dispatched to mozbrowser-embedded iframe
# 'mozbrowserkeyup' is dispatched to mozbrowser-embedder iframe
# 'mozbrowserafterkeyup' is dispatched to mozbrowser-embedder iframe


==== Nested mozbrowser iframes case ====
==== Nested mozbrowser iframes case ====
Line 71: Line 71:
     window.addEventListener('mozbrowserbeforekeydown', handleEventAndPreventDefault);
     window.addEventListener('mozbrowserbeforekeydown', handleEventAndPreventDefault);
     window.addEventListener('mozbrowserbeforekeyup', handleEventAndPreventDefault);
     window.addEventListener('mozbrowserbeforekeyup', handleEventAndPreventDefault);
     window.addEventListener('mozbrowserkeydown', function() { });
     window.addEventListener('mozbrowserafterkeydown', function() { });
     window.addEventListener('mozbrowserkeyup', function() { });
     window.addEventListener('mozbrowserafterkeyup', function() { });
* mozbrowser-embedded iframe
* mozbrowser-embedded iframe
     window.addEventListener('keydown', handleEvent);
     window.addEventListener('keydown', handleEvent);
Line 82: Line 82:
  | 1 || mozbrowserbeforekeydown || || Receive event 'mozbrowserbeforekeydown'.
  | 1 || mozbrowserbeforekeydown || || Receive event 'mozbrowserbeforekeydown'.
  |-
  |-
  | 2 || mozbrowserkeydown || ||
  | 2 || mozbrowserafterkeydown || ||
  |-
  |-
  | 3 || mozbrowserbeforekeyup || || Receive event 'mozbrowserbeforekeyup'.
  | 3 || mozbrowserbeforekeyup || || Receive event 'mozbrowserbeforekeyup'.
  |-
  |-
  | 4 || mozbrowserkeyup || ||
  | 4 || mozbrowserafterkeyup || ||
  |}
  |}


Line 93: Line 93:
     window.addEventListener('mozbrowserbeforekeydown', handleEvent);
     window.addEventListener('mozbrowserbeforekeydown', handleEvent);
     window.addEventListener('mozbrowserbeforekeyup', handleEvent);
     window.addEventListener('mozbrowserbeforekeyup', handleEvent);
     window.addEventListener('mozbrowserkeydown', function() { });
     window.addEventListener('mozbrowserafterkeydown', function() { });
     window.addEventListener('mozbrowserkeyup', function() { });
     window.addEventListener('mozbrowserafterkeyup', function() { });
* mozbrowser-embedded iframe
* mozbrowser-embedded iframe
     window.addEventListener('keydown', handleEvent);
     window.addEventListener('keydown', handleEvent);
Line 106: Line 106:
  | 2 || || keydown || Receive event 'keydown'.
  | 2 || || keydown || Receive event 'keydown'.
  |-
  |-
  | 3 || mozbrowserkeydown || ||
  | 3 || mozbrowserafterkeydown || ||
  |-
  |-
  | 4 || mozbrowserbeforekeyup || || Receive event 'mozbrowserbeforekeyup'.
  | 4 || mozbrowserbeforekeyup || || Receive event 'mozbrowserbeforekeyup'.
Line 112: Line 112:
  | 5 || || keyup || Receive event 'keyup'.
  | 5 || || keyup || Receive event 'keyup'.
  |-
  |-
  | 6 || mozbrowserkeyup || ||
  | 6 || mozbrowserafterkeyup || ||
  |}
  |}


Line 119: Line 119:
     window.addEventListener('mozbrowserbeforekeydown', function() { });
     window.addEventListener('mozbrowserbeforekeydown', function() { });
     window.addEventListener('mozbrowserbeforekeyup', function() { });
     window.addEventListener('mozbrowserbeforekeyup', function() { });
     window.addEventListener('mozbrowserkeydown', checkAttrAndHandleEvent);
     window.addEventListener('mozbrowserafterkeydown', checkAttrAndHandleEvent);
     window.addEventListener('mozbrowserkeyup', checkAttrAndHandleEvent);
     window.addEventListener('mozbrowserafterkeyup', checkAttrAndHandleEvent);
* mozbrowser-embedded iframe
* mozbrowser-embedded iframe
     window.addEventListener('keydown', handleEventAndPreventDefault);
     window.addEventListener('keydown', handleEventAndPreventDefault);
Line 132: Line 132:
  | 2 || || keydown || Receive event 'keydown'.
  | 2 || || keydown || Receive event 'keydown'.
  |-
  |-
  | 3 || mozbrowserkeydown || || Receive event 'mozbrowserkeydown' with embeddedCancelled equals to 'true'.
  | 3 || mozbrowserafterkeydown || || Receive event 'mozbrowserafterkeydown' with embeddedCancelled equals to 'true'.
  |-
  |-
  | 4 || mozbrowserbeforekeyup || ||
  | 4 || mozbrowserbeforekeyup || ||
Line 138: Line 138:
  | 5 || || keyup || Receive event 'keyup'.
  | 5 || || keyup || Receive event 'keyup'.
  |-
  |-
  | 6 || mozbrowserup || || Receive event 'mozbrowserkeyup' with embeddedCancelled equals to 'true'.
  | 6 || mozbrowserup || || Receive event 'mozbrowserafterkeyup' with embeddedCancelled equals to 'true'.
  |}
  |}


Line 145: Line 145:
     window.addEventListener('mozbrowserbeforekeydown', function() { });
     window.addEventListener('mozbrowserbeforekeydown', function() { });
     window.addEventListener('mozbrowserbeforekeyup', function() { });
     window.addEventListener('mozbrowserbeforekeyup', function() { });
     window.addEventListener('mozbrowserkeydown', checkAttrAndHandleEvent);
     window.addEventListener('mozbrowserafterkeydown', checkAttrAndHandleEvent);
     window.addEventListener('mozbrowserkeyup', checkAttrAndHandleEvent);
     window.addEventListener('mozbrowserafterkeyup', checkAttrAndHandleEvent);
* mozbrowser-embedded iframe
* mozbrowser-embedded iframe
     window.addEventListener('keydown', handleEvent);
     window.addEventListener('keydown', handleEvent);
Line 158: Line 158:
  | 2 || || keydown || Receive event 'keydown'.
  | 2 || || keydown || Receive event 'keydown'.
  |-
  |-
  | 3 || mozbrowserkeydown || || Receive event 'mozbrowserkeyup' with embeddedCancelled equals to 'false'.
  | 3 || mozbrowserafterkeydown || || Receive event 'mozbrowserafterkeyup' with embeddedCancelled equals to 'false'.
  |-
  |-
  | 4 || mozbrowserbeforekeyup || ||
  | 4 || mozbrowserbeforekeyup || ||
Line 164: Line 164:
  | 5 || || keyup || Receive event 'keyup'.
  | 5 || || keyup || Receive event 'keyup'.
  |-
  |-
  | 6 || mozbrowserkeyup || || Receive event 'mozbrowserkeyup' with embeddedCancelled equals to 'false'.
  | 6 || mozbrowserafterkeyup || || Receive event 'mozbrowserafterkeyup' with embeddedCancelled equals to 'false'.
  |}
  |}


Line 213: Line 213:
|-
|-
! Default action
! Default action
| Set mozbrowserkeydown.embeddedCancelled to false; others defined in http://www.w3.org/TR/DOM-Level-3-Events/#event-type-keydown
| Set mozbrowserafterkeydown.embeddedCancelled to false; others defined in http://www.w3.org/TR/DOM-Level-3-Events/#event-type-keydown
|}
|}


==== mozbrowserkeydown ====
==== mozbrowserafterkeydown ====
{| border="1"
{| border="1"
! Type
! Type
Line 285: Line 285:
|-
|-
! Default action
! Default action
| Set mozbrowserkeyup.embeddedCancelled to false; others defined in http://www.w3.org/TR/DOM-Level-3-Events/#event-type-keyup
| Set mozbrowserafterkeyup.embeddedCancelled to false; others defined in http://www.w3.org/TR/DOM-Level-3-Events/#event-type-keyup
|}
|}


==== mozbrowserkeyup ====
==== mozbrowserafterkeyup ====
{| border="1"
{| border="1"
! Type
! Type
| mozbrowserkeyup
| mozbrowserafterkeyup
|-
|-
! Interface
! Interface
Line 311: Line 311:
| None
| None
|}
|}


== Related Gaia Changes ==
== Related Gaia Changes ==
Line 363: Line 362:
|}
|}


Default Policy for other keys are still TBD.
Default Policy for other keys are APP-CANCELLED.


There is one more thing to do in this part. We only handle 'Power', 'Exit', 'VolumeUp', 'VolumDown' in part 1. But there will be more 'keys' need to be handled. We'll have to create a key mapping and handling table with customization in this part.
There is one more thing to do in this part. We only handle 'Power', 'Exit', 'VolumeUp', 'VolumDown' in part 1. But there will be more 'keys' need to be handled. We'll have to create a key mapping and handling table with customization in this part.
Line 375: Line 374:


https://bugzilla.mozilla.org/show_bug.cgi?id=1014418
https://bugzilla.mozilla.org/show_bug.cgi?id=1014418
https://bugzilla.mozilla.org/show_bug.cgi?id=1103339
https://bugzilla.mozilla.org/show_bug.cgi?id=1094066
[[Category:Web APIs]]
Confirmed users
23

edits