| <style> |
| div { padding: 10px; margin: 8px; } |
| embed { width: 50px; height: 50px; } |
| iframe { width: 50px; height: 50px; } |
| </style> |
| <script> |
| var callCount = 0; |
| |
| function hideFirst() |
| { |
| if (++callCount != 2) |
| return; |
| |
| var target = document.getElementById("target"); |
| if (!target) |
| return; |
| |
| target.parentNode.removeChild(target); |
| document.body.offsetTop; |
| } |
| </script> |
| <p> |
| Test that plug-ins cannot cause the NSView hierarchy to change beneath <tt>-[NSView _invalidateGStatesForTree]</tt>. |
| </p> |
| <p> |
| To test, resize the browser window. Reload and repeat a few times. Each time you resize, the orange rectangle and |
| its contents should vanish, and the browser should not crash. |
| </p> |
| <div id="target" style="border: solid orange;"> |
| <embed type="application/x-webkit-test-netscape"></embed> |
| <iframe src=""></iframe> |
| <iframe src=""></iframe> |
| <iframe src=""></iframe> |
| </div> |
| <div style="border: solid blue;"> |
| <embed type="application/x-webkit-test-netscape" onsetwindow="hideFirst()"></embed> |
| </div> |