blob: 368f5452fb80586ea8b08aced8c25b6ca6809c6c [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<script src="../../fast/dom/shadow/resources/polyfill.js"></script>
<script src="../../fast/dom/resources/event-sender-util.js"></script>
<p>Applying document.execCommand('Bold') to elements having insertion points (&lt;shadow&gt; or &lt;content&gt;) shoud not cause a crash.</p>
<p>To test manually, make a selection from somewhere in "nested before" to somehwere in "nested after", then press Ctrl+B twice. It should not cause a crash.</p>
<div id="container" contenteditable>
before host
<div id="host"> <span contenteditable="false">not editable<span></div>
after host
</div>
<pre id="console"></pre>
<script>
if (window.testRunner)
testRunner.dumpAsText();
var shadowRoot = host.webkitCreateShadowRoot();
shadowRoot.innerHTML = '<div id="shadow-host"><span contenteditable>shadow before</span><shadow></shadow>shadow (after)</div>';
var nestedShadowHost = shadowRoot.getElementById('shadow-host');
var nestedShadowRoot = nestedShadowHost.webkitCreateShadowRoot();
nestedShadowRoot.innerHTML = '<div id="inner" contenteditable>nested before<shadow></shadow>nested after</div>';
if (window.eventSender) {
var div = nestedShadowRoot.getElementById('inner');
eventSender.mouseMoveTo(div.offsetLeft + 5, div.offsetTop + div.offsetHeight / 2);
eventSender.mouseDown();
eventSender.mouseMoveTo(div.offsetLeft + div.offsetWidth - 5, div.offsetTop + div.offsetHeight / 2);
eventSender.mouseUp();
document.execCommand('Bold');
document.execCommand('Bold');
container.innerHTML = "PASS";
}
</script>
</body>
</html>