summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorskaslev@chromium.org <skaslev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-14 21:21:54 +0000
committerskaslev@chromium.org <skaslev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-14 21:21:54 +0000
commit632bd76644c0bdce0a7223f15fa3be75648e66fd (patch)
tree312d2502484aa0225caa9963d6d88d60bf26f100 /cc
parentd339e3cbbe150f7090f1a6463efb84e9462c210c (diff)
downloadchromium_src-632bd76644c0bdce0a7223f15fa3be75648e66fd.zip
chromium_src-632bd76644c0bdce0a7223f15fa3be75648e66fd.tar.gz
chromium_src-632bd76644c0bdce0a7223f15fa3be75648e66fd.tar.bz2
Added support for CSS filters to the software compositor.
BUG=160302 Review URL: https://chromiumcodereview.appspot.com/11362235 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167747 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r--cc/software_renderer.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/cc/software_renderer.cc b/cc/software_renderer.cc
index 5c31d7b..ed37af6 100644
--- a/cc/software_renderer.cc
+++ b/cc/software_renderer.cc
@@ -268,6 +268,11 @@ void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende
if (!contentTexture || !contentTexture->id())
return;
+ const RenderPass* renderPass = frame.renderPassesById->get(quad->renderPassId());
+ DCHECK(renderPass);
+ if (!renderPass)
+ return;
+
DCHECK(isSoftwareResource(contentTexture->id()));
ResourceProvider::ScopedReadLockSoftware lock(m_resourceProvider, contentTexture->id());
@@ -287,6 +292,10 @@ void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende
shader->setLocalMatrix(contentMat);
m_skCurrentPaint.setShader(shader);
+ SkImageFilter* filter = renderPass->filter();
+ if (filter)
+ m_skCurrentPaint.setImageFilter(filter);
+
if (quad->maskResourceId()) {
ResourceProvider::ScopedReadLockSoftware maskLock(m_resourceProvider, quad->maskResourceId());