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

<p>This test checks that content-editable is not propagated from shadow host to a shadow subtree.</p>

<p>This p is required to produce the issue.</p>
<div contenteditable>
  <div>This div and parent div are required to produce the issue.</div>
  <div id="host1" contenteditable>shadow host 1</div>
</div>
<pre id="console"></pre>
<script>
if (window.testRunner)
    testRunner.dumpAsText();

function prepareNodeInShadowRoot(host) {
    var shadowRoot = host.attachShadow({mode: 'open'});
    var nodeInShadow = document.createElement('div');
    nodeInShadow.setAttribute('id', 'node-in-shadow-root');
    nodeInShadow.appendChild(document.createTextNode('In Shadow'));
    shadowRoot.appendChild(nodeInShadow);
    return nodeInShadow;
}

document.body.offsetLeft;

var nodeInShadowRoot1 = prepareNodeInShadowRoot(document.getElementById('host1'));
shouldBeEqualToString('getComputedStyle(nodeInShadowRoot1).webkitUserModify', 'read-only');

var successfullyParsed = true;
</script>

</body>
</html>
