| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="resources/polyfill.js"></script> |
| <script src="../../../resources/js-test-pre.js"></script> |
| </head> |
| |
| <body> |
| |
| <p>When an optgroup element became 'disabled' or not-'disabled', distribution should happen.</p> |
| <p>Since an optgroup element does not create a renderer, we cannot check this using reftest.</p> |
| |
| <div id="container"> |
| <div id="host1"> |
| <optgroup id="optgroup1">optgroup 1</optgroup> |
| <optgroup id="optgroup2">optgroup 2</optgroup> |
| </div> |
| |
| <div id="host2"> |
| <optgroup id="optgroup3" disabled>optgroup 3</optgroup> |
| <optgroup id="optgroup4" disabled>optgroup 4</optgroup> |
| </div> |
| </div> |
| |
| <pre id="console"></pre> |
| |
| <script> |
| jsTestIsAsync = true; |
| |
| var shadowRoot1 = host1.webkitCreateShadowRoot(); |
| var shadowRoot2 = host2.webkitCreateShadowRoot(); |
| |
| shadowRoot1.innerHTML = '<content select=":disabled">'; |
| shadowRoot2.innerHTML = '<content select=":disabled">'; |
| |
| var content1 = shadowRoot1.querySelector('content'); |
| var content2 = shadowRoot2.querySelector('content'); |
| |
| setTimeout(function() { |
| optgroup2.setAttribute('disabled', true); |
| optgroup4.removeAttribute('disabled'); |
| |
| nodes1 = content1.getDistributedNodes(); |
| shouldBe('nodes1.length', '1'); |
| shouldBe('nodes1.item(0).innerHTML', '"optgroup 2"'); |
| |
| nodes2 = content2.getDistributedNodes(); |
| shouldBe('nodes2.length', '1'); |
| shouldBe('nodes2.item(0).innerHTML', '"optgroup 3"'); |
| |
| container.innerHTML = ""; |
| finishJSTest(); |
| }, 0); |
| |
| </script> |
| <script src="../../../resources/js-test-post.js"></script> |
| </body> |
| </html> |