Diff
Modified: trunk/LayoutTests/ChangeLog (97087 => 97088)
--- trunk/LayoutTests/ChangeLog 2011-10-10 21:28:53 UTC (rev 97087)
+++ trunk/LayoutTests/ChangeLog 2011-10-10 21:31:14 UTC (rev 97088)
@@ -1,3 +1,23 @@
+2011-10-10 Jeremy Apthorp <jere...@chromium.org>
+
+ Exiting fullscreen shouldn't crash if the element that was fullscreened
+ had associated anonymous blocks.
+ https://bugs.webkit.org/show_bug.cgi?id=68503
+
+ When exiting fullscreen, if the child of the RenderFullScreen is a
+ block and the parent has inline flow elements, the parent's children
+ should be made non-inline before adding the fullscreened element back
+ to the parent.
+
+ Reviewed by Simon Fraser.
+
+ * fullscreen/full-screen-render-inline.html: Added.
+ * fullscreen/full-screen-render-inline-expected.png: Added.
+ * fullscreen/full-screen-render-inline-expected.txt: Added.
+ * fullscreen/parent-flow-inline-with-block-child.html: Added.
+ * fullscreen/parent-flow-inline-with-block-child-expected.png: Added.
+ * fullscreen/parent-flow-inline-with-block-child-expected.txt: Added.
+
2011-10-10 Sergey Glazunov <serg.glazu...@gmail.com>
ScriptController::executeIfJavaScriptURL gets confused by synchronous frame loads
Added: trunk/LayoutTests/fullscreen/full-screen-render-inline-expected.png (0 => 97088)
--- trunk/LayoutTests/fullscreen/full-screen-render-inline-expected.png (rev 0)
+++ trunk/LayoutTests/fullscreen/full-screen-render-inline-expected.png 2011-10-10 21:31:14 UTC (rev 97088)
@@ -0,0 +1,4 @@
+\x89PNG
+
+
+IHDR X \x9Av\x82p )tEXtchecksum b18b65cdba862a3c73de2fb5e5a1ec37\xA0A1 \x95IDATx\x9C\xED\xDD1\xC2@ A\xDD\xFF\xBFl^\x80R@6\x82\xCC\xD4\xD9\xED\xCAE\xD6\xCC\xCC \xF0\xBCz \xE0> \x90 @F\x80 d \x90 @f=Xk{\xBC\xE57% \xF0?\@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8\xEC\xB3\xCC\xCC\xD9# \x80\xE1 d \x90 @F\x80 d \x90 @F\x80 d \x90 @F\x80 d \x90 @f\x9F=`\xAD\xF5\xD1\xF73\xF3\xA5M \x80\xAB\xB9\x80 d \x90 @F\x80 d \x90 @F\x80 d \x90 @F\x80 d \x90\xD9Gf\xA6\xD8 \xB8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2/\x8F\xC0\xAE\xB8\xFB\xA0\xAB IEND\xAEB`\x82
\ No newline at end of file
Added: trunk/LayoutTests/fullscreen/full-screen-render-inline-expected.txt (0 => 97088)
--- trunk/LayoutTests/fullscreen/full-screen-render-inline-expected.txt (rev 0)
+++ trunk/LayoutTests/fullscreen/full-screen-render-inline-expected.txt 2011-10-10 21:31:14 UTC (rev 97088)
@@ -0,0 +1,24 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderSummary {SUMMARY} at (0,0) size 784x48
+ RenderBlock (anonymous) at (0,0) size 784x0
+ RenderBlock (anonymous) at (0,0) size 784x0
+ RenderBlock (anonymous) at (0,0) size 784x16
+ RenderText {#text} at (0,0) size 16x16
+ text run at (0,0) width 16: "a"
+ RenderInline {SPAN} at (0,0) size 16x16
+ RenderText {#text} at (16,0) size 16x16
+ text run at (16,0) width 16: "b"
+ RenderBlock (anonymous) at (0,16) size 784x16
+ RenderBlock {DIV} at (0,0) size 784x16
+ RenderText {#text} at (0,0) size 16x16
+ text run at (0,0) width 16: "c"
+ RenderBlock (anonymous) at (0,32) size 784x16
+ RenderInline {SPAN} at (0,0) size 16x16
+ RenderText {#text} at (0,0) size 16x16
+ text run at (0,0) width 16: "d"
+ RenderText {#text} at (16,0) size 16x16
+ text run at (16,0) width 16: "e"
Added: trunk/LayoutTests/fullscreen/full-screen-render-inline.html (0 => 97088)
--- trunk/LayoutTests/fullscreen/full-screen-render-inline.html (rev 0)
+++ trunk/LayoutTests/fullscreen/full-screen-render-inline.html 2011-10-10 21:31:14 UTC (rev 97088)
@@ -0,0 +1,34 @@
+<style>
+body {
+ font-family: ahem;
+ -webkit-font-smoothing: none;
+}
+</style>
+<summary>a<span>b<div>c</div>d</span>e</summary>
+<script>
+ if ("webkitRequestFullScreen" in Element.prototype) {
+ if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+ document.body.offsetTop;
+ var span = document.getElementsByTagName('span')[0];
+
+ var fullscreenChangeEvent = function(event) {
+ if (document.webkitIsFullScreen) {
+ setTimeout(function () {
+ document.webkitCancelFullScreen();
+ }, 0)
+ } else {
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ }
+ };
+
+ document.addEventListener('webkitfullscreenchange', fullscreenChangeEvent);
+
+ document.addEventListener('keydown', function () {
+ span.webkitRequestFullScreen();
+ });
+ if (window.eventSender)
+ eventSender.keyDown('a');
+ }
+</script>
Added: trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.png (0 => 97088)
--- trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.png (rev 0)
+++ trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.png 2011-10-10 21:31:14 UTC (rev 97088)
@@ -0,0 +1,4 @@
+\x89PNG
+
+
+IHDR X \x9Av\x82p )tEXtchecksum 0b447b9d2fdb5f9edaa759e12eebe9c6\x8F\xB3\xDD= \x81IDATx\x9C\xED\xDD!\x80@ A\x8E\xF0\xFF/\x85>A\xB2ft\x93\xAB\xDDTܚ\x999 \xE7\xD7 \xFF!@ \x80\x8C 2 \xC8 #@ \x80\x8C 2\xD7n`\xAD\xF5\xEAߌ #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2\xD7n`f\x8A= \x80p 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 #@ \x80\x8C 2 \xC8 s?H\xAD\xF7> IEND\xAEB`\x82
\ No newline at end of file
Added: trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.txt (0 => 97088)
--- trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.txt (rev 0)
+++ trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.txt 2011-10-10 21:31:14 UTC (rev 97088)
@@ -0,0 +1,21 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock {DIV} at (0,0) size 784x32
+ RenderBlock (anonymous) at (0,0) size 784x16
+ RenderInline {SPAN} at (0,0) size 16x16
+ RenderText {#text} at (0,0) size 16x16
+ text run at (0,0) width 16: "1"
+ RenderText {#text} at (0,0) size 0x0
+ RenderBlock (anonymous) at (0,16) size 784x16
+ RenderInline {SPAN} at (0,0) size 16x16
+ RenderText {#text} at (0,0) size 16x16
+ text run at (0,0) width 16: "2"
+ RenderBlock (anonymous) at (0,32) size 784x0
+ RenderBlock {DIV} at (0,0) size 784x0
+ RenderBlock (anonymous) at (0,32) size 784x0
+ RenderInline {SPAN} at (0,0) size 0x0
+ RenderBlock (anonymous) at (0,32) size 784x0
+ RenderText {#text} at (0,0) size 0x0
Added: trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child.html (0 => 97088)
--- trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child.html (rev 0)
+++ trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child.html 2011-10-10 21:31:14 UTC (rev 97088)
@@ -0,0 +1,38 @@
+<style>
+body {
+ font-family: ahem;
+ -webkit-font-smoothing: none;
+}
+</style>
+
+<div>
+ <span>1</span>
+ <span id='c2'>2</span>
+</div>
+
+<script>
+ if ("webkitRequestFullScreen" in Element.prototype) {
+ if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+ document.body.offsetTop;
+ var span = document.getElementById('c2');
+ var div = span.parentNode;
+
+ var spanEnteredFullScreen = function(event) {
+ setTimeout(function () {
+ span.appendChild(document.createElement('div'));
+ document.webkitCancelFullScreen();
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ }, 0);
+ };
+
+ document.addEventListener('webkitfullscreenchange', spanEnteredFullScreen);
+
+ document.addEventListener('keydown', function () {
+ span.webkitRequestFullScreen();
+ });
+ if (window.eventSender)
+ eventSender.keyDown('a');
+ }
+</script>
Modified: trunk/Source/WebCore/ChangeLog (97087 => 97088)
--- trunk/Source/WebCore/ChangeLog 2011-10-10 21:28:53 UTC (rev 97087)
+++ trunk/Source/WebCore/ChangeLog 2011-10-10 21:31:14 UTC (rev 97088)
@@ -1,3 +1,25 @@
+2011-10-10 Jeremy Apthorp <jere...@chromium.org>
+
+ Exiting fullscreen shouldn't crash if the element that was fullscreened
+ had associated anonymous blocks.
+ https://bugs.webkit.org/show_bug.cgi?id=68503
+
+ Reviewed by Simon Fraser.
+
+ Test: fullscreen/full-screen-render-inline.html
+ Test: fullscreen/parent-flow-inline-with-block-child.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveChildrenTo):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::moveChildTo):
+ (WebCore::RenderBlock::moveAllChildrenTo):
+ (WebCore::RenderBlock::moveChildrenTo):
+ * rendering/RenderFullScreen.cpp:
+ (RenderFullScreen::unwrapRenderer):
+ Move all children back to the parent, not just the firstChild.
+
2011-10-10 Sergey Glazunov <serg.glazu...@gmail.com>
ScriptController::executeIfJavaScriptURL gets confused by synchronous frame loads
Modified: trunk/Source/WebCore/rendering/RenderFullScreen.cpp (97087 => 97088)
--- trunk/Source/WebCore/rendering/RenderFullScreen.cpp 2011-10-10 21:28:53 UTC (rev 97087)
+++ trunk/Source/WebCore/rendering/RenderFullScreen.cpp 2011-10-10 21:31:14 UTC (rev 97088)
@@ -124,13 +124,16 @@
void RenderFullScreen::unwrapRenderer()
{
- RenderObject* wrappedRenderer = firstChild();
- if (wrappedRenderer) {
- wrappedRenderer->remove();
- RenderObject* holder = placeholder() ? placeholder() : this;
- RenderObject* parent = holder->parent();
- if (parent)
- parent->addChild(wrappedRenderer, holder);
+ RenderObject* holder = placeholder() ? placeholder() : this;
+ RenderObject* parent = holder->parent();
+ if (parent) {
+ RenderObject* child = firstChild();
+ while (child) {
+ RenderObject* nextChild = child->nextSibling();
+ child->remove();
+ parent->addChild(child, holder);
+ child = nextChild;
+ }
}
remove();
document()->setFullScreenRenderer(0);