| <!DOCTYPE html> |
| <html> |
| <head> |
| <style type="text/css"> |
| div { border: solid 1px; padding: 5px; margin: 5px; width: 20ex; } |
| .red { color: red; font-size: x-large; } |
| blockquote { margin: 0px; padding: 0px 0px 0px 2ex; border-left: solid 2px #06f; } |
| #copy em { font-style: normal; font-weight: bold; color: yellow; } |
| #container p { padding: 0px; margin: 1em 0px 1em 0px; background-color: blue;} |
| </style> |
| </head> |
| <body> |
| <p>This test ensures WebKit does not duplicate styles from matched rules in inline style declarations when copying and pasting contents. |
| To manually test, copy "hello world WebKit" and paste it in the box blow. |
| Each element should have exact properties stated in its title attribute</p> |
| <section id="container"> |
| <div id="copy" contenteditable><blockquote title="none">hello</blockquote> |
| <p title="none"><span class="red" style="font-size: 1em; font-weight: bold;" title="font-size: 1em; font-weight: bold;">world</span> |
| <em style="color: blue;" title="font-weight: bold; color: blue;">WebKit</em></p></div> |
| <div id="paste" contenteditable></div> |
| </section> |
| <script src="../../resources/dump-as-markup.js"></script> |
| <script> |
| |
| Markup.description(document.getElementsByTagName('p')[0].textContent); |
| Markup.dump('copy', 'Original'); |
| |
| document.getElementById('copy').focus(); |
| document.execCommand('SelectAll', false, null); |
| |
| function dump() { Markup.dump('paste', 'Pasted'); } |
| |
| if (window.testRunner) { |
| document.execCommand('Copy', false, null); |
| document.getElementById('paste').focus(); |
| document.execCommand('Paste', false, null); |
| dump(); |
| document.getElementById('container').style.display = 'none'; |
| } else |
| document.getElementById('paste').addEventListener('paste', function () { setTimeout(dump, 0); }, false); |
| |
| </script> |
| </body> |
| </html> |