Changeset 82956 in webkit


Ignore:
Timestamp:
Apr 5, 2011 10:40:30 AM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-04-05 David Dorwin <ddorwin@chromium.org>

Reviewed by David Levin.

Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING)
https://bugs.webkit.org/show_bug.cgi?id=57400

Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid.
Accelerated compositing may be compiled in but disabled at runtime or for some elements.

Tests: Fullscreen layout tests on Chromium.

  • dom/Document.cpp: (WebCore::Document::webkitWillEnterFullScreenForElement): (WebCore::Document::webkitDidEnterFullScreenForElement): (WebCore::Document::webkitWillExitFullScreenForElement):
Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r82953 r82956  
     12011-04-05  David Dorwin  <ddorwin@chromium.org>
     2
     3        Reviewed by David Levin.
     4
     5        Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING)
     6        https://bugs.webkit.org/show_bug.cgi?id=57400
     7
     8        Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid.
     9        Accelerated compositing may be compiled in but disabled at runtime or for some elements.
     10
     11        Tests: Fullscreen layout tests on Chromium.
     12
     13        * dom/Document.cpp:
     14        (WebCore::Document::webkitWillEnterFullScreenForElement):
     15        (WebCore::Document::webkitDidEnterFullScreenForElement):
     16        (WebCore::Document::webkitWillExitFullScreenForElement):
     17
    1182011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
    219
  • trunk/Source/WebCore/dom/Document.cpp

    r82882 r82956  
    48244824#if USE(ACCELERATED_COMPOSITING)
    48254825        view()->updateCompositingLayers();
    4826         ASSERT(m_fullScreenRenderer->layer()->backing());
    4827         page()->chrome()->client()->setRootFullScreenLayer(m_fullScreenRenderer->layer()->backing()->graphicsLayer());
     4826        if (m_fullScreenRenderer->layer()->isComposited())
     4827            page()->chrome()->client()->setRootFullScreenLayer(m_fullScreenRenderer->layer()->backing()->graphicsLayer());
    48284828#endif
    48294829    }
     
    48364836#if USE(ACCELERATED_COMPOSITING)
    48374837        view()->updateCompositingLayers();
    4838         ASSERT(!m_fullScreenRenderer->layer()->backing());
    48394838        page()->chrome()->client()->setRootFullScreenLayer(0);
    48404839#endif
     
    48504849#if USE(ACCELERATED_COMPOSITING)
    48514850        view()->updateCompositingLayers();
    4852         ASSERT(m_fullScreenRenderer->layer()->backing());
    4853         page()->chrome()->client()->setRootFullScreenLayer(m_fullScreenRenderer->layer()->backing()->graphicsLayer());
     4851        if (m_fullScreenRenderer->layer()->isComposited())
     4852            page()->chrome()->client()->setRootFullScreenLayer(m_fullScreenRenderer->layer()->backing()->graphicsLayer());
    48544853#endif
    48554854    }
Note: See TracChangeset for help on using the changeset viewer.