Commit b081236a authored by jer.noble@apple.com's avatar jer.noble@apple.com

2011-03-11 Jer Noble <jer.noble@apple.com>

        Reviewed by Anders Carlsson.

        WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
        https://bugs.webkit.org/show_bug.cgi?id=56226

        * dom/Document.cpp:
        (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
        (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
        (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.

git-svn-id: svn://svn.chromium.org/blink/trunk@80926 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 169ed869
2011-03-11 Jer Noble <jer.noble@apple.com>
Reviewed by Anders Carlsson.
WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
https://bugs.webkit.org/show_bug.cgi?id=56226
* dom/Document.cpp:
(WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
(WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
(WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
(WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
(WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.
2011-03-11 Jer Noble <jer.noble@apple.com>
Reviewed by Anders Carlsson.
......
......@@ -119,6 +119,7 @@
#include "RegisteredEventListener.h"
#include "RenderArena.h"
#include "RenderLayer.h"
#include "RenderLayerBacking.h"
#include "RenderTextControl.h"
#include "RenderView.h"
#include "RenderWidget.h"
......@@ -4884,23 +4885,34 @@ void Document::webkitWillEnterFullScreenForElement(Element* element)
recalcStyle(Force);
if (m_fullScreenRenderer)
if (m_fullScreenRenderer) {
m_fullScreenRenderer->setAnimating(true);
view()->updateCompositingLayers();
ASSERT(m_fullScreenRenderer->layer()->backing());
page()->chrome()->client()->setRootFullScreenLayer(m_fullScreenRenderer->layer()->backing()->graphicsLayer());
}
}
void Document::webkitDidEnterFullScreenForElement(Element*)
{
if (m_fullScreenRenderer)
if (m_fullScreenRenderer) {
m_fullScreenRenderer->setAnimating(false);
view()->updateCompositingLayers();
ASSERT(!m_fullScreenRenderer->layer()->backing());
page()->chrome()->client()->setRootFullScreenLayer(0);
}
m_fullScreenChangeDelayTimer.startOneShot(0);
}
void Document::webkitWillExitFullScreenForElement(Element*)
{
if (m_fullScreenRenderer)
if (m_fullScreenRenderer) {
m_fullScreenRenderer->setAnimating(true);
recalcStyle(Force);
m_fullScreenRenderer->setAnimating(true);
view()->updateCompositingLayers();
ASSERT(m_fullScreenRenderer->layer()->backing());
page()->chrome()->client()->setRootFullScreenLayer(m_fullScreenRenderer->layer()->backing()->graphicsLayer());
}
}
void Document::webkitDidExitFullScreenForElement(Element*)
......@@ -4915,6 +4927,7 @@ void Document::webkitDidExitFullScreenForElement(Element*)
m_fullScreenElement->detach();
setFullScreenRenderer(0);
page()->chrome()->client()->setRootFullScreenLayer(0);
recalcStyle(Force);
m_fullScreenChangeDelayTimer.startOneShot(0);
......@@ -4942,6 +4955,7 @@ void Document::setFullScreenRendererSize(const IntSize& size)
newStyle->setTop(Length(0, WebCore::Fixed));
newStyle->setLeft(Length(0, WebCore::Fixed));
m_fullScreenRenderer->setStyle(newStyle);
updateLayout();
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment