Skip to content
  • commit-queue@webkit.org's avatar
    Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer. · 5febb230
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=101424
    
    Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-08
    Reviewed by Noam Rosenthal.
    
    Source/WebCore:
    
    This patch adds ASSERT to TextureMapperLayer while fixing this bug in
    WebKit2.
    
    * platform/graphics/texmap/TextureMapperLayer.cpp:
    (WebCore::TextureMapperLayer::paintSelf):
    
    Source/WebKit2:
    
    We must remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
    Currently, CoordinatedGraphicsLayer only removes a TiledBackingStore if
    !drawsContent() while TextureMapperLayer::updateBackingStore() removes a backing
    store if (!m_state.drawsContent || !m_state.contentsVisible || m_size.isEmpty()).
    CoordinatedGraphicsLayer must have the same behavior.
    
    In addition, this patch makes LayerTreeRenderer remove a backing store from
    GraphicsLayerTextureMapper when CoordinatedBackingStore does not have any tiles.
    
    Test: compositing/nested-direct-image-compositing.html
    
    * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
    (WebKit::CoordinatedBackingStore::removeTile):
    (WebKit::CoordinatedBackingStore::isEmpty):
    (WebKit):
    (WebKit::CoordinatedBackingStore::commitTileOperations):
    * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
    (CoordinatedBackingStore):
    * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
    (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
    (WebKit):
    (WebKit::LayerTreeRenderer::removeTile):
    * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
    (LayerTreeRenderer):
    * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
    (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
    
    LayoutTests:
    
    Coordinated Graphics had a bug when a compositing div has a compositing
    img with an absolute position property. This test is added to prevent from
    a regression.
    
    * compositing/nested-direct-image-compositing-expected.png: Added.
    * compositing/nested-direct-image-compositing-expected.txt: Added.
    * compositing/nested-direct-image-compositing.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    5febb230