Index: third_party/WebKit/LayoutTests/imported/wpt/dom/events/Event-dispatch-multiple-cancelBubble.html |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/dom/events/Event-dispatch-multiple-cancelBubble.html b/third_party/WebKit/LayoutTests/imported/wpt/dom/events/Event-dispatch-multiple-cancelBubble.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2873fd7794b782c22735a4e414e63c1ceb161732 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/dom/events/Event-dispatch-multiple-cancelBubble.html |
@@ -0,0 +1,51 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<title>Multiple dispatchEvent() and cancelBubble</title> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+</head> |
+<body> |
+<div id=log></div> |
+ |
+<div id="parent" style="display: none"> |
+ <input id="target" type="hidden" value=""/> |
+</div> |
+ |
+<script> |
+test(function() { |
+ var event_type = "foo"; |
+ var target = document.getElementById("target"); |
+ var parent = document.getElementById("parent"); |
+ var actual_result; |
+ var test_event = function(evt) { |
+ actual_result.push(evt.currentTarget); |
+ |
+ if (parent == evt.currentTarget) { |
+ evt.cancelBubble = true; |
+ } |
+ }; |
+ |
+ var evt = document.createEvent("Event"); |
+ evt.initEvent(event_type, true, true); |
+ |
+ target.addEventListener(event_type, test_event, false); |
+ parent.addEventListener(event_type, test_event, false); |
+ document.addEventListener(event_type, test_event, false); |
+ window.addEventListener(event_type, test_event, false); |
+ |
+ actual_result = []; |
+ target.dispatchEvent(evt); |
+ assert_array_equals(actual_result, [target, parent]); |
+ |
+ actual_result = []; |
+ parent.dispatchEvent(evt); |
+ assert_array_equals(actual_result, [parent]); |
+ |
+ actual_result = []; |
+ document.dispatchEvent(evt); |
+ assert_array_equals(actual_result, [document, window]); |
+}); |
+</script> |
+</body> |
+</html> |