⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 167780 in webkit


Ignore:
Timestamp:
Apr 24, 2014, 3:48:32 PM (12 years ago)
Author:
jer.noble@apple.com
Message:

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

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r167771 r167780  
     12014-04-24  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r167441.
     4        https://bugs.webkit.org/show_bug.cgi?id=132152
     5
     6        Caused full screen regressions on vimeo, youtube, and others.
     7        (Requested by jernoble on #webkit).
     8
     9        Reverted changeset:
     10
     11        "Fullscreen media controls are unusable in pagination mode"
     12        https://bugs.webkit.org/show_bug.cgi?id=131705
     13        http://trac.webkit.org/changeset/167441
     14
    1152014-04-24  Zalan Bujtas  <zalan@apple.com>
    216
  • trunk/LayoutTests/fullscreen/full-screen-no-style-sharing-expected.txt

    r167441 r167780  
    1   
     1 
    22EVENT(webkitfullscreenchange) TEST(video2.clientWidth==document.body.clientWidth) OK
    33END OF TEST
  • trunk/LayoutTests/fullscreen/video-cursor-auto-hide.html

    r167441 r167780  
    77    <script>
    88        var wrapper = document.getElementById('wrapper');
    9         var video = document.getElementById('video');
    109
    1110        function checkForHiddenMouse()
     
    1918            if (window.internals) {
    2019                internals.settings.setTimeWithoutMouseMovementBeforeHidingControls(0);
    21                 videoBox = internals.boundingBox(video);
    22                 eventSender.mouseMoveTo(videoBox.left + videoBox.width / 2, videoBox.top + videoBox.height / 2);
     20                wrapperBox = internals.boundingBox(wrapper);
     21                eventSender.mouseMoveTo(wrapperBox.left + wrapperBox.width / 2, wrapperBox.top + wrapperBox.height / 2);
    2322                testExpected('window.internals.getCurrentCursorInfo()', 'type=Pointer hotSpot=0,0');
    2423                setTimeout(checkForHiddenMouse, 0);
  • trunk/Source/WebCore/ChangeLog

    r167777 r167780  
     12014-04-24  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r167441.
     4        https://bugs.webkit.org/show_bug.cgi?id=132152
     5
     6        Caused full screen regressions on vimeo, youtube, and others.
     7        (Requested by jernoble on #webkit).
     8
     9        Reverted changeset:
     10
     11        "Fullscreen media controls are unusable in pagination mode"
     12        https://bugs.webkit.org/show_bug.cgi?id=131705
     13        http://trac.webkit.org/changeset/167441
     14
    1152014-04-24  Adenilson Cavalcanti  <cavalcantii@gmail.com>
    216
  • trunk/Source/WebCore/dom/Document.cpp

    r167743 r167780  
    53645364    }
    53655365
     5366    if (m_fullScreenElement != documentElement())
     5367        RenderFullScreen::wrapRenderer(renderer, renderer ? renderer->parent() : nullptr, *this);
     5368
    53665369    m_fullScreenElement->setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries(true);
    53675370   
     
    54285431
    54295432    if (renderer && m_savedPlaceholderRenderStyle)
    5430         renderer->setPlaceholderStyle(m_savedPlaceholderRenderStyle.releaseNonNull(), m_savedPlaceholderFrameRect);
     5433        renderer->createPlaceholder(m_savedPlaceholderRenderStyle.releaseNonNull(), m_savedPlaceholderFrameRect);
    54315434    else if (renderer && m_fullScreenRenderer && m_fullScreenRenderer->placeholder()) {
    54325435        RenderBlock* placeholder = m_fullScreenRenderer->placeholder();
    5433         renderer->setPlaceholderStyle(RenderStyle::clone(&placeholder->style()), placeholder->frameRect());
     5436        renderer->createPlaceholder(RenderStyle::clone(&placeholder->style()), placeholder->frameRect());
    54345437    }
    54355438
  • trunk/Source/WebCore/rendering/RenderFullScreen.cpp

    r167441 r167780  
    3232#include "RenderLayer.h"
    3333#include "RenderLayerCompositor.h"
    34 #include "RenderView.h"
    3534
    3635namespace WebCore {
     
    5251void RenderFullScreenPlaceholder::willBeDestroyed()
    5352{
    54     m_owner.clearPlaceholder();
     53    m_owner.setPlaceholder(0);
    5554    RenderBlockFlow::willBeDestroyed();
    5655}
     
    106105}
    107106
    108 RenderElement* RenderFullScreen::wrapRenderer(RenderObject* object, RenderElement* parent, Document& document)
     107RenderFullScreen* RenderFullScreen::wrapRenderer(RenderObject* object, RenderElement* parent, Document& document)
    109108{
    110109    RenderFullScreen* fullscreenRenderer = new RenderFullScreen(document, createFullScreenStyle());
     
    120119            RenderBlock* containingBlock = object->containingBlock();
    121120            ASSERT(containingBlock);
    122 
    123121            // Since we are moving the |object| to a new parent |fullscreenRenderer|,
    124122            // the line box tree underneath our |containingBlock| is not longer valid.
    125123            containingBlock->deleteLines();
    126124
    127             parent->addChild(fullscreenRenderer->ensurePlaceholder(), object);
     125            parent->addChild(fullscreenRenderer, object);
    128126            object->removeFromParent();
    129127           
     
    134132            containingBlock->setNeedsLayoutAndPrefWidthsRecalc();
    135133        }
    136 
    137         object->view().addChild(fullscreenRenderer);
    138134        fullscreenRenderer->addChild(object);
     135        fullscreenRenderer->setNeedsLayoutAndPrefWidthsRecalc();
    139136    }
    140137    document.setFullScreenRenderer(fullscreenRenderer);
    141     return fullscreenRenderer->ensurePlaceholder();
     138    return fullscreenRenderer;
    142139}
    143140
    144141void RenderFullScreen::unwrapRenderer()
    145142{
    146     if (placeholder() && placeholder()->parent()) {
     143    if (parent()) {
    147144        RenderObject* child;
    148145        while ((child = firstChild())) {
     
    153150                toRenderBox(child)->clearOverrideSize();
    154151            child->removeFromParent();
    155             placeholder()->parent()->addChild(child, m_placeholder);
     152            parent()->addChild(child, this);
     153            parent()->setNeedsLayoutAndPrefWidthsRecalc();
    156154        }
    157 
     155    }
     156    if (placeholder())
    158157        placeholder()->removeFromParent();
    159     }
    160158    removeFromParent();
    161159    document().setFullScreenRenderer(0);
    162160}
    163161
    164 void RenderFullScreen::clearPlaceholder()
     162void RenderFullScreen::setPlaceholder(RenderBlock* placeholder)
    165163{
    166     m_placeholder = nullptr;
     164    m_placeholder = placeholder;
    167165}
    168166
    169 RenderBlock* RenderFullScreen::ensurePlaceholder()
    170 {
    171     if (m_placeholder)
    172         return m_placeholder;
    173 
    174     m_placeholder = new RenderFullScreenPlaceholder(*this, RenderStyle::create());
    175     m_placeholder->initializeStyle();
    176     return m_placeholder;
    177 }
    178 
    179 void RenderFullScreen::setPlaceholderStyle(PassRef<RenderStyle> style, const LayoutRect& frameRect)
     167void RenderFullScreen::createPlaceholder(PassRef<RenderStyle> style, const LayoutRect& frameRect)
    180168{
    181169    if (style.get().width().isAuto())
     
    184172        style.get().setHeight(Length(frameRect.height(), Fixed));
    185173
    186     ensurePlaceholder()->setStyle(std::move(style));
     174    if (m_placeholder) {
     175        m_placeholder->setStyle(std::move(style));
     176        return;
     177    }
     178
     179    m_placeholder = new RenderFullScreenPlaceholder(*this, std::move(style));
     180    m_placeholder->initializeStyle();
     181    if (parent()) {
     182        parent()->addChild(m_placeholder, this);
     183        parent()->setNeedsLayoutAndPrefWidthsRecalc();
     184    }
    187185}
    188186
  • trunk/Source/WebCore/rendering/RenderFullScreen.h

    r167441 r167780  
    4040    virtual const char* renderName() const override { return "RenderFullScreen"; }
    4141
    42     void clearPlaceholder();
    43     RenderBlock* ensurePlaceholder();
     42    void setPlaceholder(RenderBlock*);
    4443    RenderBlock* placeholder() { return m_placeholder; }
    45     void setPlaceholderStyle(PassRef<RenderStyle>, const LayoutRect& frameRect);
     44    void createPlaceholder(PassRef<RenderStyle>, const LayoutRect& frameRect);
    4645
    47     static RenderElement* wrapRenderer(RenderObject*, RenderElement*, Document&);
     46    static RenderFullScreen* wrapRenderer(RenderObject*, RenderElement*, Document&);
    4847    void unwrapRenderer();
    4948
Note: See TracChangeset for help on using the changeset viewer.