diff options
| author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-10-01 17:10:19 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-01 19:37:11 +0200 |
| commit | 1e4dd5844be47323a4869f4b51bb583a09d1a351 (patch) | |
| tree | 40a48cd760a98f9934afe2d4bede3334f9fc9052 | |
| parent | 2c4ff38a22a2d6d13ab4a833082cc76f65af3b4f (diff) | |
| download | qtwebkit-1e4dd5844be47323a4869f4b51bb583a09d1a351.tar.gz | |
[Texmap] CSS filter not working on software composited layers
https://bugs.webkit.org/show_bug.cgi?id=122159
Reviewed by Noam Rosenthal.
Tell the rendering layer we do not support CSS filters when we do not. This
will make RenderLayer fall back to using its own software implementation.
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setFilters):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::applyFilters):
Change-Id: I89b033c30ea507a79861443afc96d56374c6fea5
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
| -rw-r--r-- | Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp | 4 | ||||
| -rw-r--r-- | Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp b/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp index bfca0bf17..0daf2f890 100644 --- a/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp +++ b/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp @@ -675,6 +675,10 @@ void GraphicsLayerTextureMapper::removeAnimation(const String& animationName) #if ENABLE(CSS_FILTERS) bool GraphicsLayerTextureMapper::setFilters(const FilterOperations& filters) { + TextureMapper* textureMapper = m_layer->textureMapper(); + // TextureMapperImageBuffer does not support CSS filters. + if (!textureMapper || textureMapper->accelerationMode() == TextureMapper::SoftwareMode) + return false; notifyChange(FilterChange); return GraphicsLayer::setFilters(filters); } diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp index 03273ba0f..a59b33f4a 100644 --- a/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp +++ b/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp @@ -165,6 +165,7 @@ void TextureMapperImageBuffer::drawNumber(int /* number */, const Color&, const #if ENABLE(CSS_FILTERS) PassRefPtr<BitmapTexture> BitmapTextureImageBuffer::applyFilters(TextureMapper*, const FilterOperations&) { + ASSERT_NOT_REACHED(); return this; } #endif |
