summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/the-fieldset-element/disabled-003.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/the-fieldset-element/disabled-003.html')
-rw-r--r--testing/web-platform/tests/html/semantics/forms/the-fieldset-element/disabled-003.html39
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/the-fieldset-element/disabled-003.html b/testing/web-platform/tests/html/semantics/forms/the-fieldset-element/disabled-003.html
new file mode 100644
index 0000000000..de01eb57fc
--- /dev/null
+++ b/testing/web-platform/tests/html/semantics/forms/the-fieldset-element/disabled-003.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Disable nested fieldsets with focused element</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-fieldset-element">
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1427047">
+<link rel="author" href="mailto:xiaochengh@chromium.org">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<div id=container1>
+ <fieldset id=target1>
+ <legend>foo</legend>
+ <fieldset>
+ <legend>bar</legend>
+ <input id=input1>
+ </fieldset>
+ </fieldset>
+</div>
+<script>
+test(() => {
+ input1.focus();
+ target1.disabled = true;
+ assert_not_equals(document.activeElement, input1);
+}, 'Disable light-nested fieldsets should not crash');
+</script>
+
+<div id=container2></div>
+<script>
+test(() => {
+ let n = 100;
+ let markup = '<fieldset><legend>foo</legend>'.repeat(n) +
+ '<input id=input2>' + '</fieldset>'.repeat(n);
+ container2.innerHTML = markup;
+ input2.focus();
+ container2.firstChild.disabled = true;
+ assert_not_equals(document.activeElement, input2);
+}, 'Disable deep-nested fieldsets should not hang');
+</script>
+