Title: [285010] trunk/LayoutTests
Revision
285010
Author
cdu...@apple.com
Date
2021-10-28 17:21:52 -0700 (Thu, 28 Oct 2021)

Log Message

Resync web-platform-tests/dom from upstream
https://bugs.webkit.org/show_bug.cgi?id=232441

Reviewed by Darin Adler.

Resync web-platform-tests/dom from upstream 038de3e0ddeaf9e.

* web-platform-tests/dom/*: Updated.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-10-29 00:21:52 UTC (rev 285010)
@@ -1,5 +1,16 @@
 2021-10-28  Chris Dumez  <cdu...@apple.com>
 
+        Resync web-platform-tests/dom from upstream
+        https://bugs.webkit.org/show_bug.cgi?id=232441
+
+        Reviewed by Darin Adler.
+
+        Resync web-platform-tests/dom from upstream 038de3e0ddeaf9e.
+
+        * web-platform-tests/dom/*: Updated.
+
+2021-10-28  Chris Dumez  <cdu...@apple.com>
+
         Import web-platform-tests/web-locks API tests from upstream
         https://bugs.webkit.org/show_bug.cgi?id=232406
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/HTMLCollection-iterator.html (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/HTMLCollection-iterator.html	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/collections/HTMLCollection-iterator.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -1,7 +1,7 @@
 <!doctype html>
 <meta charset="utf-8">
 <link rel="help" href=""
-<link rel="help" href=""
+<link rel="help" href=""
 <title>HTMLCollection @@iterator Test</title>
 <script src=""
 <script src=""

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,6 @@
+
+PASS Once listener should be invoked only once
+PASS Once listener should be invoked only once even if the event is nested
+PASS Once listener should be added / removed like normal listeners
+PASS Multiple once listeners should be invoked even if the stopImmediatePropagation is set
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.js (from rev 285009, trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.html) (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.js	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.js	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,96 @@
+// META: title=AddEventListenerOptions.once
+
+"use strict";
+
+test(function() {
+  var invoked_once = false;
+  var invoked_normal = false;
+  function handler_once() {
+    invoked_once = true;
+  }
+  function handler_normal() {
+    invoked_normal = true;
+  }
+
+  const et = new EventTarget();
+  et.addEventListener('test', handler_once, {once: true});
+  et.addEventListener('test', handler_normal);
+  et.dispatchEvent(new Event('test'));
+  assert_equals(invoked_once, true, "Once handler should be invoked");
+  assert_equals(invoked_normal, true, "Normal handler should be invoked");
+
+  invoked_once = false;
+  invoked_normal = false;
+  et.dispatchEvent(new Event('test'));
+  assert_equals(invoked_once, false, "Once handler shouldn't be invoked again");
+  assert_equals(invoked_normal, true, "Normal handler should be invoked again");
+  et.removeEventListener('test', handler_normal);
+}, "Once listener should be invoked only once");
+
+test(function() {
+  const et = new EventTarget();
+  var invoked_count = 0;
+  function handler() {
+    invoked_count++;
+    if (invoked_count == 1)
+    et.dispatchEvent(new Event('test'));
+  }
+  et.addEventListener('test', handler, {once: true});
+  et.dispatchEvent(new Event('test'));
+  assert_equals(invoked_count, 1, "Once handler should only be invoked once");
+
+  invoked_count = 0;
+  function handler2() {
+    invoked_count++;
+    if (invoked_count == 1)
+      et.addEventListener('test', handler2, {once: true});
+    if (invoked_count <= 2)
+      et.dispatchEvent(new Event('test'));
+  }
+  et.addEventListener('test', handler2, {once: true});
+  et.dispatchEvent(new Event('test'));
+  assert_equals(invoked_count, 2, "Once handler should only be invoked once after each adding");
+}, "Once listener should be invoked only once even if the event is nested");
+
+test(function() {
+  var invoked_count = 0;
+  function handler() {
+    invoked_count++;
+  }
+
+  const et = new EventTarget();
+
+  et.addEventListener('test', handler, {once: true});
+  et.addEventListener('test', handler);
+  et.dispatchEvent(new Event('test'));
+  assert_equals(invoked_count, 1, "The handler should only be added once");
+
+  invoked_count = 0;
+  et.dispatchEvent(new Event('test'));
+  assert_equals(invoked_count, 0, "The handler was added as a once listener");
+
+  invoked_count = 0;
+  et.addEventListener('test', handler, {once: true});
+  et.removeEventListener('test', handler);
+  et.dispatchEvent(new Event('test'));
+  assert_equals(invoked_count, 0, "The handler should have been removed");
+}, "Once listener should be added / removed like normal listeners");
+
+test(function() {
+  const et = new EventTarget();
+
+  var invoked_count = 0;
+
+  for (let n = 4; n > 0; n--) {
+    et.addEventListener('test', (e) => {
+      invoked_count++;
+      e.stopImmediatePropagation();
+    }, {once: true});
+  }
+
+  for (let n = 4; n > 0; n--) {
+    et.dispatchEvent(new Event('test'));
+  }
+
+  assert_equals(invoked_count, 4, "The listeners should be invoked");
+}, "Multiple once listeners should be invoked even if the stopImmediatePropagation is set");

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.worker-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.worker-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.worker-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,6 @@
+
+PASS Once listener should be invoked only once
+PASS Once listener should be invoked only once even if the event is nested
+PASS Once listener should be added / removed like normal listeners
+PASS Multiple once listeners should be invoked even if the stopImmediatePropagation is set
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.worker.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.worker.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.worker.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.html (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.html	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -1,98 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>AddEventListenerOptions.once</title>
-<link rel="author" title="Xidorn Quan" href=""
-<link rel="help" href=""
-<script src=""
-<script src=""
-<div id="log"></div>
-<script>
-
-test(function() {
-  var invoked_once = false;
-  var invoked_normal = false;
-  function handler_once() {
-    invoked_once = true;
-  }
-  function handler_normal() {
-    invoked_normal = true;
-  }
-
-  document.addEventListener('test', handler_once, {once: true});
-  document.addEventListener('test', handler_normal);
-  document.dispatchEvent(new Event('test'));
-  assert_equals(invoked_once, true, "Once handler should be invoked");
-  assert_equals(invoked_normal, true, "Normal handler should be invoked");
-
-  invoked_once = false;
-  invoked_normal = false;
-  document.dispatchEvent(new Event('test'));
-  assert_equals(invoked_once, false, "Once handler shouldn't be invoked again");
-  assert_equals(invoked_normal, true, "Normal handler should be invoked again");
-  document.removeEventListener('test', handler_normal);
-}, "Once listener should be invoked only once");
-
-test(function() {
-  var invoked_count = 0;
-  function handler() {
-    invoked_count++;
-    if (invoked_count == 1)
-      document.dispatchEvent(new Event('test'));
-  }
-  document.addEventListener('test', handler, {once: true});
-  document.dispatchEvent(new Event('test'));
-  assert_equals(invoked_count, 1, "Once handler should only be invoked once");
-
-  invoked_count = 0;
-  function handler2() {
-    invoked_count++;
-    if (invoked_count == 1)
-      document.addEventListener('test', handler2, {once: true});
-    if (invoked_count <= 2)
-      document.dispatchEvent(new Event('test'));
-  }
-  document.addEventListener('test', handler2, {once: true});
-  document.dispatchEvent(new Event('test'));
-  assert_equals(invoked_count, 2, "Once handler should only be invoked once after each adding");
-}, "Once listener should be invoked only once even if the event is nested");
-
-test(function() {
-  var invoked_count = 0;
-  function handler() {
-    invoked_count++;
-  }
-
-  document.addEventListener('test', handler, {once: true});
-  document.addEventListener('test', handler);
-  document.dispatchEvent(new Event('test'));
-  assert_equals(invoked_count, 1, "The handler should only be added once");
-
-  invoked_count = 0;
-  document.dispatchEvent(new Event('test'));
-  assert_equals(invoked_count, 0, "The handler was added as a once listener");
-
-  invoked_count = 0;
-  document.addEventListener('test', handler, {once: true});
-  document.removeEventListener('test', handler);
-  document.dispatchEvent(new Event('test'));
-  assert_equals(invoked_count, 0, "The handler should have been removed");
-}, "Once listener should be added / removed like normal listeners");
-
-test(function() {
-  var invoked_count = 0;
-
-  for (let n = 4; n > 0; n--) {
-    document.addEventListener('test', (e) => {
-      invoked_count++;
-      e.stopImmediatePropagation();
-    }, {once: true});
-  }
-
-  for (let n = 4; n > 0; n--) {
-    document.dispatchEvent(new Event('test'));
-  }
-
-  assert_equals(invoked_count, 4, "The listeners should be invoked");
-}, "Multiple once listeners should be invoked even if the stopImmediatePropagation is set");
-
-</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,7 @@
+
+PASS Supports passive option on addEventListener only
+FAIL preventDefault should be ignored if-and-only-if the passive option is true assert_equals: Incorrect defaultPrevented for options: undefined expected (boolean) true but got (undefined) undefined
+PASS returnValue should be ignored if-and-only-if the passive option is true
+FAIL passive behavior of one listener should be unaffected by the presence of other listeners assert_equals: Incorrect defaultPrevented for options: {} expected (boolean) true but got (undefined) undefined
+PASS Equivalence of option values
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.js (from rev 285009, trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.html) (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.js	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.js	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,134 @@
+// META: title=AddEventListenerOptions.passive
+
+test(function() {
+  var supportsPassive = false;
+  var query_options = {
+    get passive() {
+      supportsPassive = true;
+      return false;
+    },
+    get dummy() {
+      assert_unreached("dummy value getter invoked");
+      return false;
+    }
+  };
+
+  const et = new EventTarget();
+  et.addEventListener('test_event', null, query_options);
+  assert_true(supportsPassive, "addEventListener doesn't support the passive option");
+
+  supportsPassive = false;
+  et.removeEventListener('test_event', null, query_options);
+  assert_false(supportsPassive, "removeEventListener supports the passive option when it should not");
+}, "Supports passive option on addEventListener only");
+
+function testPassiveValue(optionsValue, expectedDefaultPrevented) {
+  var defaultPrevented = undefined;
+  var handler = function handler(e) {
+    assert_false(e.defaultPrevented, "Event prematurely marked defaultPrevented");
+    e.preventDefault();
+    defaultPrevented = e.defaultPrevented;
+  }
+  const et = new EventTarget();
+  et.addEventListener('test', handler, optionsValue);
+  var uncanceled = document.body.dispatchEvent(new Event('test', {bubbles: true, cancelable: true}));
+
+  assert_equals(defaultPrevented, expectedDefaultPrevented, "Incorrect defaultPrevented for options: " + JSON.stringify(optionsValue));
+  assert_equals(uncanceled, !expectedDefaultPrevented, "Incorrect return value from dispatchEvent");
+
+  et.removeEventListener('test', handler, optionsValue);
+}
+
+test(function() {
+  testPassiveValue(undefined, true);
+  testPassiveValue({}, true);
+  testPassiveValue({passive: false}, true);
+  testPassiveValue({passive: true}, false);
+  testPassiveValue({passive: 0}, true);
+  testPassiveValue({passive: 1}, false);
+}, "preventDefault should be ignored if-and-only-if the passive option is true");
+
+function testPassiveValueOnReturnValue(test, optionsValue, expectedDefaultPrevented) {
+  var defaultPrevented = undefined;
+  var handler = test.step_func(e => {
+    assert_false(e.defaultPrevented, "Event prematurely marked defaultPrevented");
+    e.returnValue = false;
+    defaultPrevented = e.defaultPrevented;
+  });
+  const et = new EventTarget();
+  et.addEventListener('test', handler, optionsValue);
+  var uncanceled = et.dispatchEvent(new Event('test', {bubbles: true, cancelable: true}));
+
+  assert_equals(defaultPrevented, expectedDefaultPrevented, "Incorrect defaultPrevented for options: " + JSON.stringify(optionsValue));
+  assert_equals(uncanceled, !expectedDefaultPrevented, "Incorrect return value from dispatchEvent");
+
+  et.removeEventListener('test', handler, optionsValue);
+}
+
+async_test(t => {
+  testPassiveValueOnReturnValue(t, undefined, true);
+  testPassiveValueOnReturnValue(t, {}, true);
+  testPassiveValueOnReturnValue(t, {passive: false}, true);
+  testPassiveValueOnReturnValue(t, {passive: true}, false);
+  testPassiveValueOnReturnValue(t, {passive: 0}, true);
+  testPassiveValueOnReturnValue(t, {passive: 1}, false);
+  t.done();
+}, "returnValue should be ignored if-and-only-if the passive option is true");
+
+function testPassiveWithOtherHandlers(optionsValue, expectedDefaultPrevented) {
+  var handlerInvoked1 = false;
+  var dummyHandler1 = function() {
+    handlerInvoked1 = true;
+  };
+  var handlerInvoked2 = false;
+  var dummyHandler2 = function() {
+    handlerInvoked2 = true;
+  };
+
+  const et = new EventTarget();
+  et.addEventListener('test', dummyHandler1, {passive:true});
+  et.addEventListener('test', dummyHandler2);
+
+  testPassiveValue(optionsValue, expectedDefaultPrevented);
+
+  assert_true(handlerInvoked1, "Extra passive handler not invoked");
+  assert_true(handlerInvoked2, "Extra non-passive handler not invoked");
+
+  et.removeEventListener('test', dummyHandler1);
+  et.removeEventListener('test', dummyHandler2);
+}
+
+test(function() {
+  testPassiveWithOtherHandlers({}, true);
+  testPassiveWithOtherHandlers({passive: false}, true);
+  testPassiveWithOtherHandlers({passive: true}, false);
+}, "passive behavior of one listener should be unaffected by the presence of other listeners");
+
+function testOptionEquivalence(optionValue1, optionValue2, expectedEquality) {
+  var invocationCount = 0;
+  var handler = function handler(e) {
+    invocationCount++;
+  }
+  const et = new EventTarget();
+  et.addEventListener('test', handler, optionValue1);
+  et.addEventListener('test', handler, optionValue2);
+  et.dispatchEvent(new Event('test', {bubbles: true}));
+  assert_equals(invocationCount, expectedEquality ? 1 : 2, "equivalence of options " +
+    JSON.stringify(optionValue1) + " and " + JSON.stringify(optionValue2));
+  et.removeEventListener('test', handler, optionValue1);
+  et.removeEventListener('test', handler, optionValue2);
+}
+
+test(function() {
+  // Sanity check options that should be treated as distinct handlers
+  testOptionEquivalence({capture:true}, {capture:false, passive:false}, false);
+  testOptionEquivalence({capture:true}, {passive:true}, false);
+
+  // Option values that should be treated as equivalent
+  testOptionEquivalence({}, {passive:false}, true);
+  testOptionEquivalence({passive:true}, {passive:false}, true);
+  testOptionEquivalence(undefined, {passive:true}, true);
+  testOptionEquivalence({capture: true, passive: false}, {capture: true, passive: true}, true);
+
+}, "Equivalence of option values");
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.worker-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.worker-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.worker-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,7 @@
+
+PASS Supports passive option on addEventListener only
+FAIL preventDefault should be ignored if-and-only-if the passive option is true Can't find variable: document
+PASS returnValue should be ignored if-and-only-if the passive option is true
+FAIL passive behavior of one listener should be unaffected by the presence of other listeners Can't find variable: document
+PASS Equivalence of option values
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.worker.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.worker.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.worker.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.html (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.html	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -1,139 +0,0 @@
-<!DOCTYPE HTML>
-<meta charset="utf-8">
-<title>EventListenerOptions.passive</title>
-<link rel="author" title="Rick Byers" href=""
-<link rel="help" href=""
-<script src=""
-<script src=""
-<div id="log"></div>
-
-<script>
-
-test(function() {
-  var supportsPassive = false;
-  var query_options = {
-    get passive() {
-      supportsPassive = true;
-      return false;
-    },
-    get dummy() {
-      assert_unreached("dummy value getter invoked");
-      return false;
-    }
-  };
-
-  document.addEventListener('test_event', null, query_options);
-  assert_true(supportsPassive, "addEventListener doesn't support the passive option");
-
-  supportsPassive = false;
-  document.removeEventListener('test_event', null, query_options);
-  assert_false(supportsPassive, "removeEventListener supports the passive option when it should not");
-}, "Supports passive option on addEventListener only");
-
-function testPassiveValue(optionsValue, expectedDefaultPrevented) {
-  var defaultPrevented = undefined;
-  var handler = function handler(e) {
-    assert_false(e.defaultPrevented, "Event prematurely marked defaultPrevented");
-    e.preventDefault();
-    defaultPrevented = e.defaultPrevented;
-  }
-  document.addEventListener('test', handler, optionsValue);
-  var uncanceled = document.body.dispatchEvent(new Event('test', {bubbles: true, cancelable: true}));
-
-  assert_equals(defaultPrevented, expectedDefaultPrevented, "Incorrect defaultPrevented for options: " + JSON.stringify(optionsValue));
-  assert_equals(uncanceled, !expectedDefaultPrevented, "Incorrect return value from dispatchEvent");
-
-  document.removeEventListener('test', handler, optionsValue);
-}
-
-test(function() {
-  testPassiveValue(undefined, true);
-  testPassiveValue({}, true);
-  testPassiveValue({passive: false}, true);
-  testPassiveValue({passive: true}, false);
-  testPassiveValue({passive: 0}, true);
-  testPassiveValue({passive: 1}, false);
-}, "preventDefault should be ignored if-and-only-if the passive option is true");
-
-function testPassiveValueOnReturnValue(test, optionsValue, expectedDefaultPrevented) {
-  var defaultPrevented = undefined;
-  var handler = test.step_func(e => {
-    assert_false(e.defaultPrevented, "Event prematurely marked defaultPrevented");
-    e.returnValue = false;
-    defaultPrevented = e.defaultPrevented;
-  });
-  document.addEventListener('test', handler, optionsValue);
-  var uncanceled = document.body.dispatchEvent(new Event('test', {bubbles: true, cancelable: true}));
-
-  assert_equals(defaultPrevented, expectedDefaultPrevented, "Incorrect defaultPrevented for options: " + JSON.stringify(optionsValue));
-  assert_equals(uncanceled, !expectedDefaultPrevented, "Incorrect return value from dispatchEvent");
-
-  document.removeEventListener('test', handler, optionsValue);
-}
-
-async_test(t => {
-  testPassiveValueOnReturnValue(t, undefined, true);
-  testPassiveValueOnReturnValue(t, {}, true);
-  testPassiveValueOnReturnValue(t, {passive: false}, true);
-  testPassiveValueOnReturnValue(t, {passive: true}, false);
-  testPassiveValueOnReturnValue(t, {passive: 0}, true);
-  testPassiveValueOnReturnValue(t, {passive: 1}, false);
-  t.done();
-}, "returnValue should be ignored if-and-only-if the passive option is true");
-
-function testPassiveWithOtherHandlers(optionsValue, expectedDefaultPrevented) {
-  var handlerInvoked1 = false;
-  var dummyHandler1 = function() {
-    handlerInvoked1 = true;
-  };
-  var handlerInvoked2 = false;
-  var dummyHandler2 = function() {
-    handlerInvoked2 = true;
-  };
-
-  document.addEventListener('test', dummyHandler1, {passive:true});
-  document.addEventListener('test', dummyHandler2);
-
-  testPassiveValue(optionsValue, expectedDefaultPrevented);
-
-  assert_true(handlerInvoked1, "Extra passive handler not invoked");
-  assert_true(handlerInvoked2, "Extra non-passive handler not invoked");
-
-  document.removeEventListener('test', dummyHandler1);
-  document.removeEventListener('test', dummyHandler2);
-}
-
-test(function() {
-  testPassiveWithOtherHandlers({}, true);
-  testPassiveWithOtherHandlers({passive: false}, true);
-  testPassiveWithOtherHandlers({passive: true}, false);
-}, "passive behavior of one listener should be unaffected by the presence of other listeners");
-
-function testOptionEquivalence(optionValue1, optionValue2, expectedEquality) {
-  var invocationCount = 0;
-  var handler = function handler(e) {
-    invocationCount++;
-  }
-  document.addEventListener('test', handler, optionValue1);
-  document.addEventListener('test', handler, optionValue2);
-  document.body.dispatchEvent(new Event('test', {bubbles: true}));
-  assert_equals(invocationCount, expectedEquality ? 1 : 2, "equivalence of options " +
-    JSON.stringify(optionValue1) + " and " + JSON.stringify(optionValue2));
-  document.removeEventListener('test', handler, optionValue1);
-  document.removeEventListener('test', handler, optionValue2);
-}
-
-test(function() {
-  // Sanity check options that should be treated as distinct handlers
-  testOptionEquivalence({capture:true}, {capture:false, passive:false}, false);
-  testOptionEquivalence({capture:true}, {passive:true}, false);
-
-  // Option values that should be treated as equivalent
-  testOptionEquivalence({}, {passive:false}, true);
-  testOptionEquivalence({passive:true}, {passive:false}, true);
-  testOptionEquivalence(undefined, {passive:true}, true);
-  testOptionEquivalence({capture: true, passive: false}, {capture: true, passive: true}, true);
-
-}, "Equivalence of option values");
-
-</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,3 @@
+
+PASS Removing an event listener without explicit capture arg should succeed
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.js (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.js	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.js	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,21 @@
+// META: title=EventTarget's addEventListener + removeEventListener
+
+"use strict";
+
+function listener(evt) {
+  evt.preventDefault();
+  return false;
+}
+
+test(() => {
+  const et = new EventTarget();
+  et.addEventListener("x", listener, false);
+  let event = new Event("x", { cancelable: true });
+  let ret = et.dispatchEvent(event);
+  assert_false(ret);
+
+  et.removeEventListener("x", listener);
+  event = new Event("x", { cancelable: true });
+  ret = et.dispatchEvent(event);
+  assert_true(ret);
+}, "Removing an event listener without explicit capture arg should succeed");

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.worker-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.worker-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.worker-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,3 @@
+
+PASS Removing an event listener without explicit capture arg should succeed
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.worker.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.worker.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.worker.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.html (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.html	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>EventTarget's addEventListener + removeEventListener</title>
-<link rel="author" title="Sebastian Mayr" href=""
-<link rel="help" href=""
-<link rel="help" href=""
-<script src=""
-<script src=""
-<div id="log"></div>
-<script>
-"use strict";
-
-function listener(evt) {
-  evt.preventDefault();
-  return false;
-}
-
-test(() => {
-  document.addEventListener("x", listener, false);
-  let event = new Event("x", { cancelable: true });
-  let ret = document.dispatchEvent(event);
-  assert_false(ret);
-
-  document.removeEventListener("x", listener);
-  event = new Event("x", { cancelable: true });
-  ret = document.dispatchEvent(event);
-  assert_true(ret);
-}, "Removing an event listener without explicit capture arg should succeed");
-</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,3 @@
+
+PASS Adding a null event listener should succeed
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.js (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.js	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.js	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,9 @@
+// META: title=EventTarget.addEventListener
+
+// Step 1.
+test(function() {
+  const et = new EventTarget();
+  assert_equals(et.addEventListener("x", null, false), undefined);
+  assert_equals(et.addEventListener("x", null, true), undefined);
+  assert_equals(et.addEventListener("x", null), undefined);
+}, "Adding a null event listener should succeed");

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.worker-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.worker-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.worker-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,3 @@
+
+PASS Adding a null event listener should succeed
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.worker.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.worker.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.worker.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.html (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.html	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -1,16 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>EventTarget.addEventListener</title>
-<link rel="author" title="Ms2ger" href=""
-<link rel="help" href=""
-<script src=""
-<script src=""
-<div id="log"></div>
-<script>
-// Step 1.
-test(function() {
-  assert_equals(document.addEventListener("x", null, false), undefined);
-  assert_equals(document.addEventListener("x", null, true), undefined);
-  assert_equals(document.addEventListener("x", null), undefined);
-}, "Adding a null event listener should succeed");
-</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,3 @@
+
+PASS removing a null event listener should succeed
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.js (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.js	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.js	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,8 @@
+// META: title=EventTarget.removeEventListener
+
+// Step 1.
+test(function() {
+  assert_equals(document.removeEventListener("x", null, false), undefined);
+  assert_equals(document.removeEventListener("x", null, true), undefined);
+  assert_equals(document.removeEventListener("x", null), undefined);
+}, "removing a null event listener should succeed");

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.worker-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.worker-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.worker-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,3 @@
+
+FAIL removing a null event listener should succeed Can't find variable: document
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.worker.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.worker.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.worker.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.html (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.html	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -1,16 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>EventTarget.removeEventListener</title>
-<link rel="author" title="Ms2ger" href=""
-<link rel="help" href=""
-<script src=""
-<script src=""
-<div id="log"></div>
-<script>
-// Step 1.
-test(function() {
-  assert_equals(document.removeEventListener("x", null, false), undefined);
-  assert_equals(document.removeEventListener("x", null, true), undefined);
-  assert_equals(document.removeEventListener("x", null), undefined);
-}, "removing a null event listener should succeed");
-</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/KeyEvent-initKeyEvent-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/KeyEvent-initKeyEvent-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/KeyEvent-initKeyEvent-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,5 @@
+
+PASS KeyboardEvent.initKeyEvent shouldn't be defined (created by createEvent("KeyboardEvent")
+PASS KeyboardEvent.initKeyEvent shouldn't be defined (created by constructor)
+PASS KeyboardEvent.prototype.initKeyEvent shouldn't be defined
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/KeyEvent-initKeyEvent.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/KeyEvent-initKeyEvent.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/KeyEvent-initKeyEvent.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>KeyEvent.initKeyEvent</title>
+<script src=""
+<script src=""
+<div id="log"></div>
+<script>
+// The legacy KeyEvent.initKeyEvent shouldn't be defined in the wild anymore.
+// https://www.w3.org/TR/1999/WD-DOM-Level-2-19990923/events.html#Events-Event-initKeyEvent
+test(function() {
+  const event = document.createEvent("KeyboardEvent");
+  assert_true(event?.initKeyEvent === undefined);
+}, "KeyboardEvent.initKeyEvent shouldn't be defined (created by createEvent(\"KeyboardEvent\")");
+
+test(function() {
+  const event = new KeyboardEvent("keypress");
+  assert_true(event?.initKeyEvent === undefined);
+}, "KeyboardEvent.initKeyEvent shouldn't be defined (created by constructor)");
+
+test(function() {
+  assert_true(KeyboardEvent.prototype.initKeyEvent === undefined);
+}, "KeyboardEvent.prototype.initKeyEvent shouldn't be defined");
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/iframe-chains.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/iframe-chains.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/iframe-chains.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script src=""
+<script src=""
+<script src=""
+<script src=""
+<style>
+
+body { margin: 0; padding: 10px; }
+.space { height: 2000px; }
+
+#scroller {
+  border: 3px solid green;
+  position: absolute;
+  z-index: 0;
+  overflow: auto;
+  padding: 10px;
+  width: 250px;
+  height: 150px;
+}
+
+.ifr {
+  border: 3px solid blue;
+  width: 200px;
+  height: 100px;
+}
+
+</style>
+</head>
+<body>
+<div id=scroller>
+  <iframe srcdoc="SCROLL ME" class=ifr></iframe>
+  <div class=space></div>
+</div>
+<div class=space></div>
+<script>
+
+promise_test(async t => {
+  await new test_driver.Actions().scroll(50, 50, 0, 50).send();
+  assert_equals(scroller.scrollTop, 50);
+}, "Wheel scroll in iframe chains to containing element.");
+
+</script>
+</body>
+</html>

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/w3c-import.log (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/w3c-import.log	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/w3c-import.log	2021-10-29 00:21:52 UTC (rev 285010)
@@ -14,6 +14,7 @@
 None
 ------------------------------------------------------------------------
 List of files:
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/iframe-chains.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/input-text-scroll-event-when-using-arrow-keys.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/overscroll-deltas.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-document.html

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/w3c-import.log (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/w3c-import.log	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/w3c-import.log	2021-10-29 00:21:52 UTC (rev 285010)
@@ -14,8 +14,8 @@
 None
 ------------------------------------------------------------------------
 List of files:
-/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.html
-/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-once.any.js
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-passive.any.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/AddEventListenerOptions-signal.any.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/CustomEvent.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-cancelBubble.html
@@ -68,13 +68,14 @@
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListener-invoke-legacy.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListenerOptions-capture.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-listener-platform-object.html
-/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.html
-/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-add-remove-listener.any.js
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.any.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-returnvalue.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html
-/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.any.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-this-of-listener.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/KeyEvent-initKeyEvent.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/document-level-touchmove-event-listener-passive-by-default.tentative.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/document-level-wheel-event-listener-passive-by-default.tentative.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/event-disabled-dynamic.html

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/historical-expected.txt (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/historical-expected.txt	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/historical-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -75,4 +75,5 @@
 PASS Event should not have this constant: SELECT
 PASS Event should not have this constant: CHANGE
 PASS Event.prototype should not have this property: getPreventDefault
+PASS Event.prototype should not have this property: path
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/historical.html (285009 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/historical.html	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/historical.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -190,6 +190,7 @@
 
 var EventPrototypeRemoved = [
   "getPreventDefault",
+  "path"
 ]
 EventPrototypeRemoved.forEach(name => {
   test(() => {

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness.any.serviceworker-expected.txt (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness.any.serviceworker-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness.any.serviceworker-expected.txt	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1,208 @@
+
+PASS idl_test setup
+PASS idl_test validation
+PASS Partial interface Window: original interface defined
+PASS Partial interface Window: member names are unique
+PASS Partial interface Document: member names are unique
+PASS Partial interface Document[2]: member names are unique
+PASS Partial interface Window[2]: member names are unique
+PASS Document includes NonElementParentNode: member names are unique
+PASS DocumentFragment includes NonElementParentNode: member names are unique
+PASS Document includes ParentNode: member names are unique
+PASS DocumentFragment includes ParentNode: member names are unique
+PASS Element includes ParentNode: member names are unique
+PASS Element includes NonDocumentTypeChildNode: member names are unique
+PASS CharacterData includes NonDocumentTypeChildNode: member names are unique
+PASS DocumentType includes ChildNode: member names are unique
+PASS Element includes ChildNode: member names are unique
+PASS CharacterData includes ChildNode: member names are unique
+PASS Element includes Slottable: member names are unique
+PASS Text includes Slottable: member names are unique
+PASS Document includes XPathEvaluatorBase: member names are unique
+PASS XPathEvaluator includes XPathEvaluatorBase: member names are unique
+PASS Document includes GlobalEventHandlers: member names are unique
+PASS Document includes DocumentAndElementEventHandlers: member names are unique
+PASS HTMLElement includes GlobalEventHandlers: member names are unique
+PASS HTMLElement includes DocumentAndElementEventHandlers: member names are unique
+PASS HTMLElement includes ElementContentEditable: member names are unique
+PASS HTMLElement includes HTMLOrSVGElement: member names are unique
+PASS Window includes GlobalEventHandlers: member names are unique
+PASS Window includes WindowEventHandlers: member names are unique
+PASS Window includes WindowOrWorkerGlobalScope: member names are unique
+PASS Window includes AnimationFrameProvider: member names are unique
+PASS Window includes WindowSessionStorage: member names are unique
+PASS Window includes WindowLocalStorage: member names are unique
+PASS Event interface: existence and properties of interface object
+PASS Event interface object length
+PASS Event interface object name
+PASS Event interface: existence and properties of interface prototype object
+PASS Event interface: existence and properties of interface prototype object's "constructor" property
+PASS Event interface: existence and properties of interface prototype object's @@unscopables property
+PASS Event interface: attribute type
+PASS Event interface: attribute target
+PASS Event interface: attribute srcElement
+PASS Event interface: attribute currentTarget
+PASS Event interface: operation composedPath()
+PASS Event interface: constant NONE on interface object
+PASS Event interface: constant NONE on interface prototype object
+PASS Event interface: constant CAPTURING_PHASE on interface object
+PASS Event interface: constant CAPTURING_PHASE on interface prototype object
+PASS Event interface: constant AT_TARGET on interface object
+PASS Event interface: constant AT_TARGET on interface prototype object
+PASS Event interface: constant BUBBLING_PHASE on interface object
+PASS Event interface: constant BUBBLING_PHASE on interface prototype object
+PASS Event interface: attribute eventPhase
+PASS Event interface: operation stopPropagation()
+PASS Event interface: attribute cancelBubble
+PASS Event interface: operation stopImmediatePropagation()
+PASS Event interface: attribute bubbles
+PASS Event interface: attribute cancelable
+PASS Event interface: attribute returnValue
+PASS Event interface: operation preventDefault()
+PASS Event interface: attribute defaultPrevented
+PASS Event interface: attribute composed
+PASS Event interface: attribute timeStamp
+PASS Event interface: operation initEvent(DOMString, optional boolean, optional boolean)
+PASS Event must be primary interface of new Event("foo")
+PASS Stringification of new Event("foo")
+PASS Event interface: new Event("foo") must inherit property "type" with the proper type
+PASS Event interface: new Event("foo") must inherit property "target" with the proper type
+PASS Event interface: new Event("foo") must inherit property "srcElement" with the proper type
+PASS Event interface: new Event("foo") must inherit property "currentTarget" with the proper type
+PASS Event interface: new Event("foo") must inherit property "composedPath()" with the proper type
+PASS Event interface: new Event("foo") must inherit property "NONE" with the proper type
+PASS Event interface: new Event("foo") must inherit property "CAPTURING_PHASE" with the proper type
+PASS Event interface: new Event("foo") must inherit property "AT_TARGET" with the proper type
+PASS Event interface: new Event("foo") must inherit property "BUBBLING_PHASE" with the proper type
+PASS Event interface: new Event("foo") must inherit property "eventPhase" with the proper type
+PASS Event interface: new Event("foo") must inherit property "stopPropagation()" with the proper type
+PASS Event interface: new Event("foo") must inherit property "cancelBubble" with the proper type
+PASS Event interface: new Event("foo") must inherit property "stopImmediatePropagation()" with the proper type
+PASS Event interface: new Event("foo") must inherit property "bubbles" with the proper type
+PASS Event interface: new Event("foo") must inherit property "cancelable" with the proper type
+PASS Event interface: new Event("foo") must inherit property "returnValue" with the proper type
+PASS Event interface: new Event("foo") must inherit property "preventDefault()" with the proper type
+PASS Event interface: new Event("foo") must inherit property "defaultPrevented" with the proper type
+PASS Event interface: new Event("foo") must inherit property "composed" with the proper type
+PASS Event interface: new Event("foo") must have own property "isTrusted"
+PASS Event interface: new Event("foo") must inherit property "timeStamp" with the proper type
+PASS Event interface: new Event("foo") must inherit property "initEvent(DOMString, optional boolean, optional boolean)" with the proper type
+PASS Event interface: calling initEvent(DOMString, optional boolean, optional boolean) on new Event("foo") with too few arguments must throw TypeError
+PASS CustomEvent interface: existence and properties of interface object
+PASS CustomEvent interface object length
+PASS CustomEvent interface object name
+PASS CustomEvent interface: existence and properties of interface prototype object
+PASS CustomEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS CustomEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS CustomEvent interface: attribute detail
+PASS CustomEvent interface: operation initCustomEvent(DOMString, optional boolean, optional boolean, optional any)
+PASS CustomEvent must be primary interface of new CustomEvent("foo")
+PASS Stringification of new CustomEvent("foo")
+PASS CustomEvent interface: new CustomEvent("foo") must inherit property "detail" with the proper type
+PASS CustomEvent interface: new CustomEvent("foo") must inherit property "initCustomEvent(DOMString, optional boolean, optional boolean, optional any)" with the proper type
+PASS CustomEvent interface: calling initCustomEvent(DOMString, optional boolean, optional boolean, optional any) on new CustomEvent("foo") with too few arguments must throw TypeError
+PASS Event interface: new CustomEvent("foo") must inherit property "type" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "target" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "srcElement" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "currentTarget" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "composedPath()" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "NONE" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "CAPTURING_PHASE" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "AT_TARGET" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "BUBBLING_PHASE" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "eventPhase" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "stopPropagation()" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "cancelBubble" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "stopImmediatePropagation()" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "bubbles" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "cancelable" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "returnValue" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "preventDefault()" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "defaultPrevented" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type
+PASS Event interface: new CustomEvent("foo") must have own property "isTrusted"
+PASS Event interface: new CustomEvent("foo") must inherit property "timeStamp" with the proper type
+PASS Event interface: new CustomEvent("foo") must inherit property "initEvent(DOMString, optional boolean, optional boolean)" with the proper type
+PASS Event interface: calling initEvent(DOMString, optional boolean, optional boolean) on new CustomEvent("foo") with too few arguments must throw TypeError
+PASS EventTarget interface: existence and properties of interface object
+PASS EventTarget interface object length
+PASS EventTarget interface object name
+PASS EventTarget interface: existence and properties of interface prototype object
+PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property
+PASS EventTarget interface: existence and properties of interface prototype object's @@unscopables property
+PASS EventTarget interface: operation addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean))
+PASS EventTarget interface: operation removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean))
+PASS EventTarget interface: operation dispatchEvent(Event)
+PASS EventTarget must be primary interface of new EventTarget()
+PASS Stringification of new EventTarget()
+PASS EventTarget interface: new EventTarget() must inherit property "addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean))" with the proper type
+PASS EventTarget interface: calling addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean)) on new EventTarget() with too few arguments must throw TypeError
+PASS EventTarget interface: new EventTarget() must inherit property "removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean))" with the proper type
+PASS EventTarget interface: calling removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean)) on new EventTarget() with too few arguments must throw TypeError
+PASS EventTarget interface: new EventTarget() must inherit property "dispatchEvent(Event)" with the proper type
+PASS EventTarget interface: calling dispatchEvent(Event) on new EventTarget() with too few arguments must throw TypeError
+PASS EventListener interface: existence and properties of interface object
+PASS AbortController interface: existence and properties of interface object
+PASS AbortController interface object length
+PASS AbortController interface object name
+PASS AbortController interface: existence and properties of interface prototype object
+PASS AbortController interface: existence and properties of interface prototype object's "constructor" property
+PASS AbortController interface: existence and properties of interface prototype object's @@unscopables property
+PASS AbortController interface: attribute signal
+PASS AbortController interface: operation abort()
+PASS AbortController must be primary interface of new AbortController()
+PASS Stringification of new AbortController()
+PASS AbortController interface: new AbortController() must inherit property "signal" with the proper type
+PASS AbortController interface: new AbortController() must inherit property "abort()" with the proper type
+PASS AbortSignal interface: existence and properties of interface object
+PASS AbortSignal interface object length
+PASS AbortSignal interface object name
+PASS AbortSignal interface: existence and properties of interface prototype object
+PASS AbortSignal interface: existence and properties of interface prototype object's "constructor" property
+PASS AbortSignal interface: existence and properties of interface prototype object's @@unscopables property
+PASS AbortSignal interface: operation abort()
+PASS AbortSignal interface: attribute aborted
+PASS AbortSignal interface: attribute onabort
+PASS AbortSignal must be primary interface of new AbortController().signal
+PASS Stringification of new AbortController().signal
+PASS AbortSignal interface: new AbortController().signal must inherit property "abort()" with the proper type
+PASS AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type
+PASS AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type
+PASS EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean))" with the proper type
+PASS EventTarget interface: calling addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError
+PASS EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean))" with the proper type
+PASS EventTarget interface: calling removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean)) on new AbortController().signal with too few arguments must throw TypeError
+PASS EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type
+PASS EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError
+PASS NodeList interface: existence and properties of interface object
+PASS HTMLCollection interface: existence and properties of interface object
+PASS MutationObserver interface: existence and properties of interface object
+PASS MutationRecord interface: existence and properties of interface object
+PASS Node interface: existence and properties of interface object
+PASS Document interface: existence and properties of interface object
+PASS XMLDocument interface: existence and properties of interface object
+PASS DOMImplementation interface: existence and properties of interface object
+PASS DocumentType interface: existence and properties of interface object
+PASS DocumentFragment interface: existence and properties of interface object
+PASS ShadowRoot interface: existence and properties of interface object
+PASS Element interface: existence and properties of interface object
+PASS NamedNodeMap interface: existence and properties of interface object
+PASS Attr interface: existence and properties of interface object
+PASS CharacterData interface: existence and properties of interface object
+PASS Text interface: existence and properties of interface object
+PASS CDATASection interface: existence and properties of interface object
+PASS ProcessingInstruction interface: existence and properties of interface object
+PASS Comment interface: existence and properties of interface object
+PASS AbstractRange interface: existence and properties of interface object
+PASS StaticRange interface: existence and properties of interface object
+PASS Range interface: existence and properties of interface object
+PASS NodeIterator interface: existence and properties of interface object
+PASS TreeWalker interface: existence and properties of interface object
+PASS NodeFilter interface: existence and properties of interface object
+PASS DOMTokenList interface: existence and properties of interface object
+PASS XPathResult interface: existence and properties of interface object
+PASS XPathExpression interface: existence and properties of interface object
+PASS XPathNSResolver interface: existence and properties of interface object
+PASS XPathEvaluator interface: existence and properties of interface object
+PASS XSLTProcessor interface: existence and properties of interface object
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness.any.serviceworker.html (0 => 285010)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness.any.serviceworker.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness.any.serviceworker.html	2021-10-29 00:21:52 UTC (rev 285010)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (285009 => 285010)


--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2021-10-29 00:21:52 UTC (rev 285010)
@@ -353,6 +353,7 @@
 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-worker-src-default-fallback.https.sub.html [ Skip ]
 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-worker-src-script-fallback.https.sub.html [ Skip ]
 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-worker-src-self-fallback.https.sub.html [ Skip ]
+imported/w3c/web-platform-tests/dom/idlharness.any.serviceworker.html [ Skip ]
 imported/w3c/web-platform-tests/fetch/api/request/destination [ Skip ]
 imported/w3c/web-platform-tests/fetch/cross-origin-resource-policy [ Skip ]
 imported/w3c/web-platform-tests/fetch/range/sw.https.window.html [ Skip ]

Modified: trunk/LayoutTests/platform/win/TestExpectations (285009 => 285010)


--- trunk/LayoutTests/platform/win/TestExpectations	2021-10-29 00:21:04 UTC (rev 285009)
+++ trunk/LayoutTests/platform/win/TestExpectations	2021-10-29 00:21:52 UTC (rev 285010)
@@ -3725,6 +3725,7 @@
 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-worker-src-default-fallback.https.sub.html [ Skip ]
 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-worker-src-script-fallback.https.sub.html [ Skip ]
 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-worker-src-self-fallback.https.sub.html [ Skip ]
+imported/w3c/web-platform-tests/dom/idlharness.any.serviceworker.html [ Skip ]
 imported/w3c/web-platform-tests/fetch/api/policies/referrer-no-referrer-service-worker.https.html [ Skip ]
 imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https.html [ Skip ]
 imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https.html [ Skip ]
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to