Index: third_party/WebKit/LayoutTests/fast/events/eventlisteneroptions/passive_dispatch.html |
diff --git a/third_party/WebKit/LayoutTests/fast/events/eventlisteneroptions/passive_dispatch.html b/third_party/WebKit/LayoutTests/fast/events/eventlisteneroptions/passive_dispatch.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7fdeb2cd2c20d66b8ce0638c73b7548b19e8b337 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/events/eventlisteneroptions/passive_dispatch.html |
@@ -0,0 +1,45 @@ |
+<!DOCTYPE HTML> |
+<body/> |
+<script src="../../../resources/testharness.js"></script> |
+<script src="../../../resources/testharnessreport.js"></script> |
+ |
+<script> |
+ |
+function testPassiveValue(registerValue, expectedValue, test) { |
+ var handler = function handler(e) { |
+ e.preventDefault(); |
+ } |
+ document.addEventListener('test', handler, registerValue); |
+ assert_equals(expectedValue, document.body.dispatchEvent(new Event('test', {'bubbles': true, 'cancelable': true}))); |
+ document.removeEventListener('test', handler, registerValue); |
+ assert_equals(true, document.body.dispatchEvent(new Event('test', {'bubbles': true, 'cancelable': true}))); |
+ test.done(); |
+} |
+ |
+function testTwoHandlers() { |
+ if (!internals.runtimeFlags.eventListenerOptionsEnabled) |
+ return; |
+ |
+ var passive_called = undefined; |
+ var blocking_called = undefined; |
+ var passive_handler = function handler(e) { |
+ passive_called = true; |
+ } |
+ var blocking_handler = function handler(e) { |
+ blocking_called = true; |
+ } |
+ document.addEventListener('test', passive_handler, {"passive" : true}); |
+ document.addEventListener('test', blocking_handler, {"passive" : false}); |
+ document.body.dispatchEvent(new Event('test', {'bubbles': true, 'cancelable': true})); |
Rick Byers
2016/01/08 19:32:56
perhaps you should also verify that the blocking h
dtapuska
2016/01/11 18:56:28
Done.
|
+ assert_equals(passive_called, true); |
+ assert_equals(blocking_called, true); |
+ document.removeEventListener('test', passive_handler, {"passive" : true}); |
+ document.removeEventListener('test', blocking_handler, {"passive" : false}); |
+} |
+ |
+test(function(t) { testPassiveValue({}, false, t); }, "Prevent default with empty object"); |
Rick Byers
2016/01/08 19:32:56
Unless you're getting coverage elsewhere, you shou
dtapuska
2016/01/11 18:56:28
Done.
|
+test(function(t) { testPassiveValue({passive: false}, false, t); }, "Prevent default with passive false"); |
+test(function(t) { testPassiveValue({passive: true}, internals.runtimeFlags.eventListenerOptionsEnabled ? true : false, t); }, "Prevent default with passive true "); |
Rick Byers
2016/01/08 19:32:56
nit: Unless you're planning on explicitly running
dtapuska
2016/01/11 18:56:28
The feature is manually run with it disabled via t
|
+test(testTwoHandlers, "Passive and Blocking Registered Handlers"); |
+ |
+</script> |