summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-10-01 17:10:19 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-01 19:37:11 +0200
commit1e4dd5844be47323a4869f4b51bb583a09d1a351 (patch)
tree40a48cd760a98f9934afe2d4bede3334f9fc9052
parent2c4ff38a22a2d6d13ab4a833082cc76f65af3b4f (diff)
downloadqtwebkit-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.cpp4
-rw-r--r--Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp1
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