Bug 1405087: Test that click events are properly dispatched to non-disabled form controls in presence of dynamic changes. r?bz
Co-authored-by: Andreas Farre <afarre@mozilla.com>
MozReview-Commit-ID: LsowwT2Hc5z
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -315433,16 +315433,22 @@
]
],
"dom/events/EventTarget-removeEventListener.html": [
[
"/dom/events/EventTarget-removeEventListener.html",
{}
]
],
+ "dom/events/event-disabled-dynamic.html": [
+ [
+ "/dom/events/event-disabled-dynamic.html",
+ {}
+ ]
+ ],
"dom/historical.html": [
[
"/dom/historical.html",
{}
]
],
"dom/interface-objects.html": [
[
@@ -537416,16 +537422,20 @@
"dom/events/EventTarget-dispatchEvent.html": [
"614ce0dd74b5f2c41096cb4eee829cce9a436bb2",
"testharness"
],
"dom/events/EventTarget-removeEventListener.html": [
"8d195a4490df833fdd71388d9e8cc6e38d50cbd8",
"testharness"
],
+ "dom/events/event-disabled-dynamic.html": [
+ "2a358fff53f3f6eb14ff87520a84e68f10533c9f",
+ "testharness"
+ ],
"dom/historical.html": [
"ccf3d9d2d8eb3e7353ecedd8a4d8ba232f9374ec",
"testharness"
],
"dom/interface-objects.html": [
"05963c8b0a839f3e07b5478d99fc034e4654b515",
"testharness"
],
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/dom/events/event-disabled-dynamic.html
@@ -0,0 +1,20 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>Test that disabled is honored immediately in presence of dynamic changes</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Andreas Farre" href="mailto:afarre@mozilla.com">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#enabling-and-disabling-form-controls:-the-disabled-attribute">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1405087">
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<input type="button" value="Click" disabled>
+<script>
+async_test(t => {
+ window.addEventListener('load', t.step_func(() => {
+ let e = document.querySelector('input');
+ e.disabled = false;
+ e.onclick = t.step_func_done(() => {});
+ e.click();
+ }));
+}, "disabled is honored properly in presence of dynamic changes");
+</script>