Title: [97092] branches/chromium/874

Diff

Copied: branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline-expected.png (from rev 97088, trunk/LayoutTests/fullscreen/full-screen-render-inline-expected.png) (0 => 97092)


--- branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline-expected.png	                        (rev 0)
+++ branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline-expected.png	2011-10-10 21:46:22 UTC (rev 97092)
@@ -0,0 +1,4 @@
+\x89PNG
+
+
+IHDR X\x9Av\x82p)tEXtchecksumb18b65cdba862a3c73de2fb5e5a1ec37\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\x80d\x90 @f=Xk{\xBC\xE57%\xF0?\@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8\xEC\xB3\xCC\xCC\xD9#\x80\xE1d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90 @f\x9F=`\xAD\xF5\xD1\xF73\xF3\xA5M\x80\xAB\xB9\x80d\x90 @F\x80d\x90 @F\x80d\x90 @F\x80d\x90\xD9Gf\xA6\xD8\xB8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2/\x8F\xC0\xAE\xB8\xFB\xA0\xABIEND\xAEB`\x82
\ No newline at end of file

Copied: branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline-expected.txt (from rev 97088, trunk/LayoutTests/fullscreen/full-screen-render-inline-expected.txt) (0 => 97092)


--- branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline-expected.txt	                        (rev 0)
+++ branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline-expected.txt	2011-10-10 21:46:22 UTC (rev 97092)
@@ -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"

Copied: branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline.html (from rev 97088, trunk/LayoutTests/fullscreen/full-screen-render-inline.html) (0 => 97092)


--- branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline.html	                        (rev 0)
+++ branches/chromium/874/LayoutTests/fullscreen/full-screen-render-inline.html	2011-10-10 21:46:22 UTC (rev 97092)
@@ -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>

Copied: branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.png (from rev 97088, trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.png) (0 => 97092)


--- branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.png	                        (rev 0)
+++ branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.png	2011-10-10 21:46:22 UTC (rev 97092)
@@ -0,0 +1,4 @@
+\x89PNG
+
+
+IHDR X\x9Av\x82p)tEXtchecksum0b447b9d2fdb5f9edaa759e12eebe9c6\x8F\xB3\xDD=\x81IDATx\x9C\xED\xDD!\x80@A\x8E\xF0\xFF/\x85>A\xB2ft\x93\xAB\xDDTܚ\x999\xE7\xD7\xFF!@\x80\x8C2\xC8 #@\x80\x8C2\xD7n`\xAD\xF5\xEAߌ #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xD7n`f\x8A=\x80p2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 #@\x80\x8C2\xC8 s?H\xAD\xF7>IEND\xAEB`\x82
\ No newline at end of file

Copied: branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.txt (from rev 97088, trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.txt) (0 => 97092)


--- branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.txt	                        (rev 0)
+++ branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child-expected.txt	2011-10-10 21:46:22 UTC (rev 97092)
@@ -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

Copied: branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child.html (from rev 97088, trunk/LayoutTests/fullscreen/parent-flow-inline-with-block-child.html) (0 => 97092)


--- branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child.html	                        (rev 0)
+++ branches/chromium/874/LayoutTests/fullscreen/parent-flow-inline-with-block-child.html	2011-10-10 21:46:22 UTC (rev 97092)
@@ -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: branches/chromium/874/Source/WebCore/rendering/RenderFullScreen.cpp (97091 => 97092)


--- branches/chromium/874/Source/WebCore/rendering/RenderFullScreen.cpp	2011-10-10 21:43:56 UTC (rev 97091)
+++ branches/chromium/874/Source/WebCore/rendering/RenderFullScreen.cpp	2011-10-10 21:46:22 UTC (rev 97092)
@@ -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);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to