<!doctype html>
<title>&lt;link disabled&gt;'s "explicitly enabled" state works when set explicitly back and forth</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="author" title="Mozilla" href="https://mozilla.org">
<link rel="help" href="https://html.spec.whatwg.org/#attr-link-disabled">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
function assert_applies(applies) {
  (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
}

async_test(function(t) {
  const link = document.createElement("link");
  link.setAttribute("rel", "alternate stylesheet");
  link.setAttribute("title", "alt");
  link.href = "data:text/css,html { background: green }";
  link.disabled = true;
  link.disabled = false; // This should make it "explicitly enabled".
  link.onload = t.step_func_done(function() {
    assert_applies(true); // Should apply, since it's explicitly enabled.
    assert_false(link.disabled);
  });
  document.head.appendChild(link);
}, "HTMLLinkElement.disabled setter sets the explicitly enabled state if toggled back and forth.");
</script>
