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 )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
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 )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
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);