| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| description("Tests support for 'passive' member in AddEventListenerOptions."); |
| |
| var listenerCallCount = 0; |
| function passiveListenerFunction(ev) |
| { |
| ++listenerCallCount; |
| ev.preventDefault(); |
| } |
| |
| function activeListenerFunction(ev) |
| { |
| ++listenerCallCount; |
| ev.preventDefault(); |
| } |
| |
| evalAndLog("document.body.addEventListener('test', passiveListenerFunction, { 'passive': true })"); |
| var testEvent1 = new Event('test', { 'cancelable': true }); |
| evalAndLog("document.body.dispatchEvent(testEvent1)"); |
| shouldBe("listenerCallCount", "1"); |
| shouldBeFalse("testEvent1.defaultPrevented"); |
| |
| debug(""); |
| listenerCallCount = 0; |
| // 'passive should be false by default. |
| evalAndLog("document.body.addEventListener('test', activeListenerFunction, { })"); |
| var testEvent2 = new Event('test', { 'cancelable': true }); |
| evalAndLog("document.body.dispatchEvent(testEvent2)"); |
| shouldBe("listenerCallCount", "2"); |
| shouldBeTrue("testEvent2.defaultPrevented"); |
| document.body.removeEventListener('test', activeListenerFunction); |
| |
| debug(""); |
| listenerCallCount = 0; |
| evalAndLog("document.body.addEventListener('test', activeListenerFunction, { 'passive': false })"); |
| var testEvent2 = new Event('test', { 'cancelable': true }); |
| evalAndLog("document.body.dispatchEvent(testEvent2)"); |
| shouldBe("listenerCallCount", "2"); |
| shouldBeTrue("testEvent2.defaultPrevented"); |
| |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |