<!DOCTYPE html>
<html>
<head>
<script src="resources/polyfill.js"></script>
<script src="../../../resources/js-test-pre.js"></script>
</head>

<body>

<p>When an option element became 'disabled' or not-'disabled', distribution should happen.</p>
<p>Since an option element does not create a renderer, we cannot check this using reftest.</p>

<div id="container">
    <div id="host1">
        <option id="option1">option 1</option>
        <option id="option2">option 2</option>
    </div>

    <div id="host2">
        <option id="option3" disabled>option 3</option>
        <option id="option4" disabled>option 4</option>
    </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() {
    option2.setAttribute('disabled', true);
    option4.removeAttribute('disabled');

    nodes1 = content1.getDistributedNodes();
    shouldBe('nodes1.length', '1');
    shouldBe('nodes1.item(0).innerHTML', '"option 2"');

    nodes2 = content2.getDistributedNodes();
    shouldBe('nodes2.length', '1');
    shouldBe('nodes2.item(0).innerHTML', '"option 3"');

    container.innerHTML = "";
    finishJSTest();
}, 0);

</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
