| <!DOCTYPE html> |
| |
| <html> |
| <body> |
| <script src="../../fast/dom/shadow/resources/polyfill.js"></script> |
| <script src="../../fast/dom/resources/event-sender-util.js"></script> |
| <script src="../../resources/js-test-pre.js"></script> |
| |
| <p>On the second time selecting <span>, it should not become non-contenteditable. |
| If it becomes non-contenteditable, the selection from <span> to <table> |
| will break editing boundaries and contain "a". |
| This test checks the <span> does not changed to non-contenteditable element.</p> |
| |
| <div id="host" contenteditable></div> |
| <pre id="console"></pre> |
| |
| <script> |
| var shadowRoot = host.webkitCreateShadowRoot(); |
| shadowRoot.innerHTML = '<table border="1">' + |
| '<tr><td id="dst">aaaaa</td><td id="another">aaaaa</td></tr>' + |
| '<tr><td>aaaaa</td><td>aaaaa</td></tr>' + |
| '</table><span id="src" contenteditable>bbbbb</span>'; |
| |
| var src = shadowRoot.getElementById('src'); |
| var dst = shadowRoot.getElementById('dst'); |
| var another = shadowRoot.getElementById('another'); |
| |
| // 1. Select from src to dst. |
| mouseMoveToElem(src); |
| eventSender.mouseDown(); |
| mouseMoveToElem(dst); |
| eventSender.mouseUp(); |
| |
| // 2. Click some element. |
| mouseMoveToElem(another); |
| eventSender.mouseDown(); |
| eventSender.mouseUp(); |
| |
| // 3. Select from src to dst again. |
| mouseMoveToElem(src); |
| eventSender.mouseDown(); |
| mouseMoveToElem(dst); |
| eventSender.mouseUp(); |
| |
| function contains(str, key) { |
| return str.indexOf(key) >= 0; |
| } |
| |
| var selectedString = shadowRoot.getSelection().toString(); |
| shouldBeFalse('contains(selectedString, "a")'); |
| |
| var successfullyParsed = true; |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |