<!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>

