Changeset 142141 in webkit


Ignore:
Timestamp:
Feb 7, 2013 9:32:07 AM (11 years ago)
Author:
gavinp@chromium.org
Message:

Unreviewed, rolling out r142112.
http://trac.webkit.org/changeset/142112
https://bugs.webkit.org/show_bug.cgi?id=108990

The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.

See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html

.:

  • ManualTests/remove-fixed-position-but-keep-compositing.html: Removed.

Source/WebCore:

  • CMakeLists.txt:
  • Target.pri:
  • WebCore.pri:
  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::create):

  • page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
  • page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::flushCompositingState):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayerClient):
(WebCore::CoordinatedGraphicsLayer::setFixedToViewport):

Source/WebKit2:

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::updateOffsetFromViewportForSelf):
(WebKit):
(WebKit::updateOffsetFromViewportForLayer):
(WebKit::CoordinatedLayerTreeHost::syncFixedLayers):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::DrawingAreaImpl):

Location:
trunk
Files:
3 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r142131 r142141  
     12013-02-07  Gavin Peters  <gavinp@chromium.org>
     2
     3        Unreviewed, rolling out r142112.
     4        http://trac.webkit.org/changeset/142112
     5        https://bugs.webkit.org/show_bug.cgi?id=108990
     6
     7        The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
     8
     9        See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
     10
     11        * ManualTests/remove-fixed-position-but-keep-compositing.html: Removed.
     12
    1132013-02-07  Zan Dobersek  <zdobersek@igalia.com>
    214
  • trunk/Source/WebCore/CMakeLists.txt

    r142112 r142141  
    4545    "${WEBCORE_DIR}/page/animation"
    4646    "${WEBCORE_DIR}/page/scrolling"
    47     "${WEBCORE_DIR}/page/scrolling/coordinatedgraphics"
    4847    "${WEBCORE_DIR}/platform"
    4948    "${WEBCORE_DIR}/platform/animation"
     
    18221821    page/scrolling/ScrollingConstraints.cpp
    18231822    page/scrolling/ScrollingCoordinator.cpp
    1824     page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp
    18251823
    18261824    platform/Arena.cpp
  • trunk/Source/WebCore/ChangeLog

    r142140 r142141  
     12013-02-07  Gavin Peters  <gavinp@chromium.org>
     2
     3        Unreviewed, rolling out r142112.
     4        http://trac.webkit.org/changeset/142112
     5        https://bugs.webkit.org/show_bug.cgi?id=108990
     6
     7        The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
     8
     9        See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
     10
     11        * CMakeLists.txt:
     12        * Target.pri:
     13        * WebCore.pri:
     14        * page/scrolling/ScrollingCoordinator.cpp:
     15        (WebCore::ScrollingCoordinator::create):
     16        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
     17        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
     18        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
     19        (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
     20        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
     21        (CoordinatedGraphicsLayerClient):
     22        (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
     23
    1242013-02-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
    225
  • trunk/Source/WebCore/Target.pri

    r142112 r142141  
    40674067use?(3D_GRAPHICS) {
    40684068    HEADERS += \
    4069         page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h \
    40704069        platform/graphics/cpu/arm/GraphicsContext3DNEON.h \
    40714070        platform/graphics/ANGLEWebKitBridge.h \
     
    40924091
    40934092    SOURCES += \
    4094         page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp \
    40954093        platform/graphics/ANGLEWebKitBridge.cpp \
    40964094        platform/graphics/GraphicsContext3D.cpp \
  • trunk/Source/WebCore/WebCore.pri

    r142112 r142141  
    5151    $$SOURCE_DIR/page/qt \
    5252    $$SOURCE_DIR/page/scrolling \
    53     $$SOURCE_DIR/page/scrolling/coordinatedgraphics \
    5453    $$SOURCE_DIR/platform \
    5554    $$SOURCE_DIR/platform/animation \
     
    6564    $$SOURCE_DIR/platform/graphics/surfaces \
    6665    $$SOURCE_DIR/platform/graphics/texmap \
    67     $$SOURCE_DIR/platform/graphics/texmap/coordinated \
    6866    $$SOURCE_DIR/platform/graphics/transforms \
    6967    $$SOURCE_DIR/platform/image-decoders \
  • trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp

    r142112 r142141  
    5353#endif
    5454
    55 #if USE(COORDINATED_GRAPHICS)
    56 #include "ScrollingCoordinatorCoordinatedGraphics.h"
    57 #endif
    58 
    5955namespace WebCore {
    6056
     
    6763#if PLATFORM(CHROMIUM)
    6864    return adoptRef(new ScrollingCoordinatorChromium(page));
    69 #endif
    70 
    71 #if USE(COORDINATED_GRAPHICS)
    72     return adoptRef(new ScrollingCoordinatorCoordinatedGraphics(page));
    7365#endif
    7466
  • trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp

    r142112 r142141  
    465465}
    466466
    467 void CoordinatedGraphicsLayer::setFixedToViewport(bool isFixed)
    468 {
    469     if (m_fixedToViewport == isFixed)
    470         return;
    471 
    472     m_fixedToViewport = isFixed;
    473     didChangeLayerState();
    474 }
    475 
    476467void CoordinatedGraphicsLayer::flushCompositingState(const FloatRect& rect)
    477468{
     
    487478    if (CoordinatedGraphicsLayer* replica = toCoordinatedGraphicsLayer(replicaLayer()))
    488479        replica->flushCompositingStateForThisLayerOnly();
     480
     481    m_coordinator->syncFixedLayers();
    489482
    490483    flushCompositingStateForThisLayerOnly();
  • trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h

    r142112 r142141  
    7373
    7474    virtual void detachLayer(CoordinatedGraphicsLayer*) = 0;
     75    virtual void syncFixedLayers() = 0;
    7576    virtual PassOwnPtr<GraphicsContext> beginContentUpdate(const IntSize&, CoordinatedSurface::Flags, uint32_t& atlasID, IntPoint&) = 0;
    7677};
     
    137138    CoordinatedLayerID id() const;
    138139
    139     void setFixedToViewport(bool isFixed);
     140    void setFixedToViewport(bool isFixed) { m_fixedToViewport = isFixed; }
    140141
    141142    IntRect coverRect() const { return m_mainBackingStore ? m_mainBackingStore->mapToContents(m_mainBackingStore->coverRect()) : IntRect(); }
  • trunk/Source/WebKit2/ChangeLog

    r142112 r142141  
     12013-02-07  Gavin Peters  <gavinp@chromium.org>
     2
     3        Unreviewed, rolling out r142112.
     4        http://trac.webkit.org/changeset/142112
     5        https://bugs.webkit.org/show_bug.cgi?id=108990
     6
     7        The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
     8
     9        See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
     10
     11        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
     12        (WebKit::updateOffsetFromViewportForSelf):
     13        (WebKit):
     14        (WebKit::updateOffsetFromViewportForLayer):
     15        (WebKit::CoordinatedLayerTreeHost::syncFixedLayers):
     16        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
     17        * WebProcess/WebPage/DrawingAreaImpl.cpp:
     18        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
     19
    1202013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
    221
  • trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp

    r142112 r142141  
    470470}
    471471
     472static void updateOffsetFromViewportForSelf(RenderLayer* renderLayer)
     473{
     474    // These conditions must match the conditions in RenderLayerCompositor::requiresCompositingForPosition.
     475    RenderLayerBacking* backing = renderLayer->backing();
     476    if (!backing)
     477        return;
     478
     479    RenderStyle* style = renderLayer->renderer()->style();
     480    if (!style)
     481        return;
     482
     483    if (!renderLayer->renderer()->isOutOfFlowPositioned() || renderLayer->renderer()->style()->position() != FixedPosition)
     484        return;
     485
     486    if (!renderLayer->renderer()->container()->isRenderView())
     487        return;
     488
     489    if (!renderLayer->isStackingContainer())
     490        return;
     491
     492    CoordinatedGraphicsLayer* graphicsLayer = toCoordinatedGraphicsLayer(backing->graphicsLayer());
     493    graphicsLayer->setFixedToViewport(true);
     494}
     495
     496static void updateOffsetFromViewportForLayer(RenderLayer* renderLayer)
     497{
     498    updateOffsetFromViewportForSelf(renderLayer);
     499
     500    if (renderLayer->firstChild())
     501        updateOffsetFromViewportForLayer(renderLayer->firstChild());
     502    if (renderLayer->nextSibling())
     503        updateOffsetFromViewportForLayer(renderLayer->nextSibling());
     504}
     505
     506void CoordinatedLayerTreeHost::syncFixedLayers()
     507{
     508    if (!m_webPage->corePage()->settings() || !m_webPage->corePage()->settings()->acceleratedCompositingForFixedPositionEnabled())
     509        return;
     510
     511    if (!m_webPage->mainFrame()->view()->hasViewportConstrainedObjects())
     512        return;
     513
     514    RenderLayer* rootRenderLayer = m_webPage->mainFrame()->contentRenderer()->compositor()->rootRenderLayer();
     515    ASSERT(rootRenderLayer);
     516    if (rootRenderLayer->firstChild())
     517        updateOffsetFromViewportForLayer(rootRenderLayer->firstChild());
     518}
     519
    472520void CoordinatedLayerTreeHost::lockAnimations()
    473521{
  • trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h

    r142112 r142141  
    106106    virtual void setLayerRepaintCount(WebCore::CoordinatedLayerID, int) OVERRIDE;
    107107    virtual void detachLayer(WebCore::CoordinatedGraphicsLayer*);
     108    virtual void syncFixedLayers();
    108109
    109110    virtual PassOwnPtr<WebCore::GraphicsContext> beginContentUpdate(const WebCore::IntSize&, WebCore::CoordinatedSurface::Flags, uint32_t& atlasID, WebCore::IntPoint&);
  • trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp

    r142112 r142141  
    7474#if USE(COORDINATED_GRAPHICS)
    7575    m_alwaysUseCompositing = true;
    76     webPage->corePage()->settings()->setScrollingCoordinatorEnabled(true);
    7776#endif
    7877
Note: See TracChangeset for help on using the changeset viewer.