Confirmed users
29
edits
Line 48: | Line 48: | ||
=== How to Fulfill Scenarios? === | === How to Fulfill Scenarios? === | ||
Here are some examples for each scenario. | Here are some examples for each scenario. | ||
==== Scenario | |||
Let's define some functions first. | |||
function handleEvent(event) { | |||
dump('Receive event \'' + event.type + '\'.'); | |||
}; | |||
function handleEventAndPreventDefault(event) { | |||
dump('Receive event \'' + event.type + '\'.'); | |||
event.preventDefault(); | |||
}; | |||
function checkAttrAndHandleEvent(event) { | |||
if (!event.embeddedCancelled) { | |||
dump('Receive event \'' + event.type + '\'.'); | |||
} | |||
}; | |||
==== Scenario SYSTEM-ONLY ==== | |||
* mozbrowser-embedder iframe | * mozbrowser-embedder iframe | ||
window.addEventListener('mozbrowserbeforekeydown') | window.addEventListener('mozbrowserbeforekeydown', handleEventAndPreventDefault); | ||
window.addEventListener('mozbrowserbeforekeyup', handleEventAndPreventDefault); | |||
}; | window.addEventListener('mozbrowserkeydown', function() { }); | ||
window.addEventListener(' | window.addEventListener('mozbrowserkeyup', function() { }); | ||
* mozbrowser-embedded iframe | |||
window.addEventListener('keydown', handleEvent); | |||
window.addEventListener('keyup', handleEvent); | |||
{| border="0" align="left" | {| border="0" align="left" | ||
! Order !! mozbrowser-embedder iframe !! mozbrowser-embedded iframe | ! width="80px" | Order !! width="200px" | mozbrowser-embedder iframe !! width="200px" | mozbrowser-embedded iframe !! Output | ||
|- | |||
| 1 || mozbrowserbeforekeydown || || Receive event 'mozbrowserbeforekeydown'. | |||
|- | |- | ||
| | | 2 || mozbrowserkeydown || || | ||
|- | |- | ||
| | | 3 || mozbrowserbeforekeyup || || Receive event 'mozbrowserbeforekeyup'. | ||
|- | |||
| 4 || mozbrowserkeyup || || | |||
|} | |} | ||
==== Scenario | ==== Scenario SYSTEM-FIRST ==== | ||
* mozbrowser-embedder iframe | * mozbrowser-embedder iframe | ||
window.addEventListener('mozbrowserbeforekeydown') | window.addEventListener('mozbrowserbeforekeydown', handleEvent); | ||
window.addEventListener('mozbrowserbeforekeyup', handleEvent); | |||
window.addEventListener('mozbrowserkeydown', function() { }); | |||
window.addEventListener(' | window.addEventListener('mozbrowserkeyup', function() { }); | ||
* mozbrowser-embedded iframe | * mozbrowser-embedded iframe | ||
window.addEventListener('keydown') | window.addEventListener('keydown', handleEvent); | ||
window.addEventListener('keyup', handleEvent); | |||
window.addEventListener('keyup') | |||
{| border="0" align="left" | {| border="0" align="left" | ||
! Order !! mozbrowser-embedder iframe !! mozbrowser-embedded iframe | ! width="80px" | Order !! width="200px" | mozbrowser-embedder iframe !! width="200px" | mozbrowser-embedded iframe !! Output | ||
|- | |- | ||
| 1 || mozbrowserbeforekeydown || || Receive event 'mozbrowserbeforekeydown'. | |||
|- | |- | ||
| 2 || || keydown | | 2 || || keydown || Receive event 'keydown'. | ||
|- | |- | ||
| 3 || | | 3 || mozbrowserkeydown || || | ||
|- | |- | ||
| 4 || || keyup | | 4 || mozbrowserbeforekeyup || || Receive event 'mozbrowserbeforekeyup'. | ||
|- | |||
| 5 || || keyup || Receive event 'keyup'. | |||
|- | |||
| 6 || mozbrowserkeyup || || | |||
|} | |} | ||
==== APP-ONLY ==== | ==== Scenario APP-ONLY ==== | ||
* mozbrowser-embedder iframe | * mozbrowser-embedder iframe | ||
window.addEventListener(' | window.addEventListener('mozbrowserbeforekeydown', function() { }); | ||
window.addEventListener('mozbrowserbeforekeyup', function() { }); | |||
window.addEventListener('mozbrowserkeydown', checkAttrAndHandleEvent); | |||
window.addEventListener(' | window.addEventListener('mozbrowserkeyup', checkAttrAndHandleEvent); | ||
* mozbrowser-embedded iframe | * mozbrowser-embedded iframe | ||
window.addEventListener('keydown') | window.addEventListener('keydown', handleEventAndPreventDefault); | ||
window.addEventListener('keyup', handleEventAndPreventDefault); | |||
window.addEventListener('keyup') | |||
{| border="0" align="left" | {| border="0" align="left" | ||
! Order !! mozbrowser-embedder iframe !! mozbrowser-embedded iframe | ! width="80px" | Order !! width="200px" | mozbrowser-embedder iframe !! width="200px" | mozbrowser-embedded iframe !! Output | ||
|- | |||
| 1 || mozbrowserbeforekeydown || || | |||
|- | |- | ||
| | | 2 || || keydown || Receive event 'keydown'. | ||
|- | |- | ||
| | | 3 || mozbrowserkeydown || || | ||
|- | |- | ||
| | | 4 || mozbrowserbeforekeyup || || | ||
|- | |- | ||
| | | 5 || || keyup || Receive event 'keyup'. | ||
|- | |||
| 6 || mozbrowserup || || | |||
|} | |} | ||
==== APP-FIRST ==== | |||
==== Scenario APP-FIRST ==== | |||
* mozbrowser-embedder iframe | * mozbrowser-embedder iframe | ||
window.addEventListener(' | window.addEventListener('mozbrowserbeforekeydown', function() { }); | ||
window.addEventListener('mozbrowserbeforekeyup', function() { }); | |||
window.addEventListener('mozbrowserkeydown', checkAttrAndHandleEvent); | |||
window.addEventListener(' | window.addEventListener('mozbrowserkeyup', checkAttrAndHandleEvent); | ||
* mozbrowser-embedded iframe | * mozbrowser-embedded iframe | ||
window.addEventListener('keydown') | window.addEventListener('keydown', handleEvent); | ||
window.addEventListener('keyup', handleEvent); | |||
window.addEventListener('keyup') | |||
{| border="0" align="left" | {| border="0" align="left" | ||
! Order !! mozbrowser-embedder iframe !! mozbrowser-embedded iframe | ! width="80px" | Order !! width="200px" | mozbrowser-embedder iframe !! width="200px" | mozbrowser-embedded iframe !! Output | ||
|- | |||
| 1 || mozbrowserbeforekeydown || || | |||
|- | |||
| 2 || || keydown || Receive event 'keydown'. | |||
|- | |- | ||
| | | 3 || mozbrowserkeydown || || Receive event 'mozbrowserkeydown'. | ||
|- | |- | ||
| | | 4 || mozbrowserbeforekeyup || || | ||
|- | |- | ||
| | | 5 || || keyup || Receive event 'keyup'. | ||
|- | |- | ||
| | | 6 || mozbrowserkeyup || || Receive event 'mozbrowserkeyup'. | ||
|} | |} | ||