diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering')
3 files changed, 6 insertions, 4 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/Surface.cpp b/Source/WebCore/platform/graphics/android/rendering/Surface.cpp index 94b7b6e..106b045 100644 --- a/Source/WebCore/platform/graphics/android/rendering/Surface.cpp +++ b/Source/WebCore/platform/graphics/android/rendering/Surface.cpp @@ -264,12 +264,12 @@ bool Surface::drawGL(bool layerTilesDisabled) return askRedraw; } -void Surface::swapTiles() +void Surface::swapTiles(bool calculateFrameworkInvals) { if (!m_surfaceBacking) return; - if (m_surfaceBacking->swapTiles()) + if (m_surfaceBacking->swapTiles() && calculateFrameworkInvals) addFrameworkInvals(); } diff --git a/Source/WebCore/platform/graphics/android/rendering/Surface.h b/Source/WebCore/platform/graphics/android/rendering/Surface.h index 535d2c1..f9f38e6 100644 --- a/Source/WebCore/platform/graphics/android/rendering/Surface.h +++ b/Source/WebCore/platform/graphics/android/rendering/Surface.h @@ -51,7 +51,7 @@ public: void addLayer(LayerAndroid* layer, const TransformationMatrix& transform); void prepareGL(bool layerTilesDisabled, bool updateWithBlit); bool drawGL(bool layerTilesDisabled); - void swapTiles(); + void swapTiles(bool calculateFrameworkInvals); void addFrameworkInvals(); bool isReady(); bool isMissingContent(); diff --git a/Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp b/Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp index 83b81a1..093c947 100644 --- a/Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp +++ b/Source/WebCore/platform/graphics/android/rendering/SurfaceCollection.cpp @@ -137,9 +137,11 @@ Color SurfaceCollection::getBackgroundColor() void SurfaceCollection::swapTiles() { + bool calculateFrameworkInvals = !m_compositedRoot->state()->inUnclippedDraw(); + TRACE_METHOD(); for (unsigned int i = 0; i < m_surfaces.size(); i++) - m_surfaces[i]->swapTiles(); + m_surfaces[i]->swapTiles(calculateFrameworkInvals); } void SurfaceCollection::addFrameworkInvals() |