<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="resources/replaced-element-styles.css">
</head>
<body>
<div id="container">
    <progress id="host" min="0" max="100" value="50"></progress>
</div>

<script>
if (window.internals)
    internals.settings.setAuthorShadowDOMForAnyElementEnabled(true);

if (window.testRunner)
    testRunner.waitUntilDone();

var shadowRoot = host.createShadowRoot();
shadowRoot.innerHTML = "<shadow></shadow><span>(after)</span>";

setTimeout(function() {
    host.setAttribute('value', 30);
    if (window.testRunner)
        testRunner.notifyDone();
}, 0);
</script>

</body>
</html>
