Diff
Modified: trunk/LayoutTests/ChangeLog (167779 => 167780)
--- trunk/LayoutTests/ChangeLog 2014-04-24 22:29:16 UTC (rev 167779)
+++ trunk/LayoutTests/ChangeLog 2014-04-24 22:48:32 UTC (rev 167780)
@@ -1,3 +1,17 @@
+2014-04-24 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r167441.
+ https://bugs.webkit.org/show_bug.cgi?id=132152
+
+ Caused full screen regressions on vimeo, youtube, and others.
+ (Requested by jernoble on #webkit).
+
+ Reverted changeset:
+
+ "Fullscreen media controls are unusable in pagination mode"
+ https://bugs.webkit.org/show_bug.cgi?id=131705
+ http://trac.webkit.org/changeset/167441
+
2014-04-24 Zalan Bujtas <za...@apple.com>
Subpixel rendering: Clipping on text areas when shifted by one device pixel.
Modified: trunk/LayoutTests/fullscreen/full-screen-no-style-sharing-expected.txt (167779 => 167780)
--- trunk/LayoutTests/fullscreen/full-screen-no-style-sharing-expected.txt 2014-04-24 22:29:16 UTC (rev 167779)
+++ trunk/LayoutTests/fullscreen/full-screen-no-style-sharing-expected.txt 2014-04-24 22:48:32 UTC (rev 167780)
@@ -1,4 +1,4 @@
-
+
EVENT(webkitfullscreenchange) TEST(video2.clientWidth==document.body.clientWidth) OK
END OF TEST
Modified: trunk/LayoutTests/fullscreen/video-cursor-auto-hide.html (167779 => 167780)
--- trunk/LayoutTests/fullscreen/video-cursor-auto-hide.html 2014-04-24 22:29:16 UTC (rev 167779)
+++ trunk/LayoutTests/fullscreen/video-cursor-auto-hide.html 2014-04-24 22:48:32 UTC (rev 167780)
@@ -6,7 +6,6 @@
<script src=""
<script>
var wrapper = document.getElementById('wrapper');
- var video = document.getElementById('video');
function checkForHiddenMouse()
{
@@ -18,8 +17,8 @@
{
if (window.internals) {
internals.settings.setTimeWithoutMouseMovementBeforeHidingControls(0);
- videoBox = internals.boundingBox(video);
- eventSender.mouseMoveTo(videoBox.left + videoBox.width / 2, videoBox.top + videoBox.height / 2);
+ wrapperBox = internals.boundingBox(wrapper);
+ eventSender.mouseMoveTo(wrapperBox.left + wrapperBox.width / 2, wrapperBox.top + wrapperBox.height / 2);
testExpected('window.internals.getCurrentCursorInfo()', 'type=Pointer hotSpot=0,0');
setTimeout(checkForHiddenMouse, 0);
}
Modified: trunk/Source/WebCore/ChangeLog (167779 => 167780)
--- trunk/Source/WebCore/ChangeLog 2014-04-24 22:29:16 UTC (rev 167779)
+++ trunk/Source/WebCore/ChangeLog 2014-04-24 22:48:32 UTC (rev 167780)
@@ -1,3 +1,17 @@
+2014-04-24 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r167441.
+ https://bugs.webkit.org/show_bug.cgi?id=132152
+
+ Caused full screen regressions on vimeo, youtube, and others.
+ (Requested by jernoble on #webkit).
+
+ Reverted changeset:
+
+ "Fullscreen media controls are unusable in pagination mode"
+ https://bugs.webkit.org/show_bug.cgi?id=131705
+ http://trac.webkit.org/changeset/167441
+
2014-04-24 Adenilson Cavalcanti <cavalcan...@gmail.com>
Unused class forward declarations in Page
Modified: trunk/Source/WebCore/dom/Document.cpp (167779 => 167780)
--- trunk/Source/WebCore/dom/Document.cpp 2014-04-24 22:29:16 UTC (rev 167779)
+++ trunk/Source/WebCore/dom/Document.cpp 2014-04-24 22:48:32 UTC (rev 167780)
@@ -5363,6 +5363,9 @@
m_savedPlaceholderRenderStyle = RenderStyle::clone(&renderer->style());
}
+ if (m_fullScreenElement != documentElement())
+ RenderFullScreen::wrapRenderer(renderer, renderer ? renderer->parent() : nullptr, *this);
+
m_fullScreenElement->setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries(true);
recalcStyle(Style::Force);
@@ -5427,10 +5430,10 @@
return;
if (renderer && m_savedPlaceholderRenderStyle)
- renderer->setPlaceholderStyle(m_savedPlaceholderRenderStyle.releaseNonNull(), m_savedPlaceholderFrameRect);
+ renderer->createPlaceholder(m_savedPlaceholderRenderStyle.releaseNonNull(), m_savedPlaceholderFrameRect);
else if (renderer && m_fullScreenRenderer && m_fullScreenRenderer->placeholder()) {
RenderBlock* placeholder = m_fullScreenRenderer->placeholder();
- renderer->setPlaceholderStyle(RenderStyle::clone(&placeholder->style()), placeholder->frameRect());
+ renderer->createPlaceholder(RenderStyle::clone(&placeholder->style()), placeholder->frameRect());
}
if (m_fullScreenRenderer)
Modified: trunk/Source/WebCore/rendering/RenderFullScreen.cpp (167779 => 167780)
--- trunk/Source/WebCore/rendering/RenderFullScreen.cpp 2014-04-24 22:29:16 UTC (rev 167779)
+++ trunk/Source/WebCore/rendering/RenderFullScreen.cpp 2014-04-24 22:48:32 UTC (rev 167780)
@@ -31,7 +31,6 @@
#include "RenderBlockFlow.h"
#include "RenderLayer.h"
#include "RenderLayerCompositor.h"
-#include "RenderView.h"
namespace WebCore {
@@ -51,7 +50,7 @@
void RenderFullScreenPlaceholder::willBeDestroyed()
{
- m_owner.clearPlaceholder();
+ m_owner.setPlaceholder(0);
RenderBlockFlow::willBeDestroyed();
}
@@ -105,7 +104,7 @@
return fullscreenStyle;
}
-RenderElement* RenderFullScreen::wrapRenderer(RenderObject* object, RenderElement* parent, Document& document)
+RenderFullScreen* RenderFullScreen::wrapRenderer(RenderObject* object, RenderElement* parent, Document& document)
{
RenderFullScreen* fullscreenRenderer = new RenderFullScreen(document, createFullScreenStyle());
fullscreenRenderer->initializeStyle();
@@ -119,12 +118,11 @@
if (RenderElement* parent = object->parent()) {
RenderBlock* containingBlock = object->containingBlock();
ASSERT(containingBlock);
-
// Since we are moving the |object| to a new parent |fullscreenRenderer|,
// the line box tree underneath our |containingBlock| is not longer valid.
containingBlock->deleteLines();
- parent->addChild(fullscreenRenderer->ensurePlaceholder(), object);
+ parent->addChild(fullscreenRenderer, object);
object->removeFromParent();
// Always just do a full layout to ensure that line boxes get deleted properly.
@@ -133,17 +131,16 @@
parent->setNeedsLayoutAndPrefWidthsRecalc();
containingBlock->setNeedsLayoutAndPrefWidthsRecalc();
}
-
- object->view().addChild(fullscreenRenderer);
fullscreenRenderer->addChild(object);
+ fullscreenRenderer->setNeedsLayoutAndPrefWidthsRecalc();
}
document.setFullScreenRenderer(fullscreenRenderer);
- return fullscreenRenderer->ensurePlaceholder();
+ return fullscreenRenderer;
}
void RenderFullScreen::unwrapRenderer()
{
- if (placeholder() && placeholder()->parent()) {
+ if (parent()) {
RenderObject* child;
while ((child = firstChild())) {
// We have to clear the override size, because as a flexbox, we
@@ -152,38 +149,39 @@
if (child->isBox())
toRenderBox(child)->clearOverrideSize();
child->removeFromParent();
- placeholder()->parent()->addChild(child, m_placeholder);
+ parent()->addChild(child, this);
+ parent()->setNeedsLayoutAndPrefWidthsRecalc();
}
-
- placeholder()->removeFromParent();
}
+ if (placeholder())
+ placeholder()->removeFromParent();
removeFromParent();
document().setFullScreenRenderer(0);
}
-void RenderFullScreen::clearPlaceholder()
+void RenderFullScreen::setPlaceholder(RenderBlock* placeholder)
{
- m_placeholder = nullptr;
+ m_placeholder = placeholder;
}
-RenderBlock* RenderFullScreen::ensurePlaceholder()
+void RenderFullScreen::createPlaceholder(PassRef<RenderStyle> style, const LayoutRect& frameRect)
{
- if (m_placeholder)
- return m_placeholder;
-
- m_placeholder = new RenderFullScreenPlaceholder(*this, RenderStyle::create());
- m_placeholder->initializeStyle();
- return m_placeholder;
-}
-
-void RenderFullScreen::setPlaceholderStyle(PassRef<RenderStyle> style, const LayoutRect& frameRect)
-{
if (style.get().width().isAuto())
style.get().setWidth(Length(frameRect.width(), Fixed));
if (style.get().height().isAuto())
style.get().setHeight(Length(frameRect.height(), Fixed));
- ensurePlaceholder()->setStyle(std::move(style));
+ if (m_placeholder) {
+ m_placeholder->setStyle(std::move(style));
+ return;
+ }
+
+ m_placeholder = new RenderFullScreenPlaceholder(*this, std::move(style));
+ m_placeholder->initializeStyle();
+ if (parent()) {
+ parent()->addChild(m_placeholder, this);
+ parent()->setNeedsLayoutAndPrefWidthsRecalc();
+ }
}
}
Modified: trunk/Source/WebCore/rendering/RenderFullScreen.h (167779 => 167780)
--- trunk/Source/WebCore/rendering/RenderFullScreen.h 2014-04-24 22:29:16 UTC (rev 167779)
+++ trunk/Source/WebCore/rendering/RenderFullScreen.h 2014-04-24 22:48:32 UTC (rev 167780)
@@ -39,12 +39,11 @@
virtual bool isRenderFullScreen() const override { return true; }
virtual const char* renderName() const override { return "RenderFullScreen"; }
- void clearPlaceholder();
- RenderBlock* ensurePlaceholder();
+ void setPlaceholder(RenderBlock*);
RenderBlock* placeholder() { return m_placeholder; }
- void setPlaceholderStyle(PassRef<RenderStyle>, const LayoutRect& frameRect);
+ void createPlaceholder(PassRef<RenderStyle>, const LayoutRect& frameRect);
- static RenderElement* wrapRenderer(RenderObject*, RenderElement*, Document&);
+ static RenderFullScreen* wrapRenderer(RenderObject*, RenderElement*, Document&);
void unwrapRenderer();
private: