| Index: LayoutTests/editing/inserting/insert-with-javascript-protocol-crash.html
|
| diff --git a/LayoutTests/editing/inserting/insert-with-javascript-protocol-crash.html b/LayoutTests/editing/inserting/insert-with-javascript-protocol-crash.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6e256a6461a0af7f643987f0f2fa1c28409c9dbf
|
| --- /dev/null
|
| +++ b/LayoutTests/editing/inserting/insert-with-javascript-protocol-crash.html
|
| @@ -0,0 +1,37 @@
|
| +<script>
|
| +onload = function() {
|
| + document.execCommand('selectall');
|
| + var iframe = document.createElement('iframe');
|
| + iframe.onload = startIframe;
|
| + document.documentElement.appendChild(iframe);
|
| + document.body.textContent = 'PASS; NOT CRASHED';
|
| + if (window.testRunner)
|
| + testRunner.dumpAsText();
|
| +};
|
| +
|
| +function startIframe()
|
| +{
|
| + document.designMode = 'on';
|
| + document.execCommand('justifyfull');
|
| + document.execCommand('insertimage', false, 'x.gif');
|
| + document.execCommand('indent');
|
| + document.execCommand('inserthtml', false, '<iframe></iframe>')
|
| + document.execCommand('inserthtml', false, '<iframe src="javascript:window.top.startIFrame2()"></iframe>');
|
| +}
|
| +
|
| +var counter = 0;
|
| +function startIFrame2()
|
| +{
|
| + try {
|
| + ++counter;
|
| + if (counter >= 22)
|
| + return;
|
| + document.execCommand('justifyleft');
|
| + document.execCommand('indent');
|
| + document.execCommand('forwardDelete');
|
| + } catch (e) {
|
| + // Catch "Uncaught RangeError: Maximum call stack size exceeded."
|
| + }
|
| +}
|
| +</script>
|
| +<body></body>
|
|
|