Index: cc/layer_impl.cc |
diff --git a/cc/layer_impl.cc b/cc/layer_impl.cc |
index d7f06e18fbdaaad8a2d21b5e820a3d39679e7fc3..cf8128abda3047a72132527f3819bb6b015606f3 100644 |
--- a/cc/layer_impl.cc |
+++ b/cc/layer_impl.cc |
@@ -15,6 +15,7 @@ |
#include "cc/quad_sink.h" |
#include "cc/scrollbar_animation_controller.h" |
#include "cc/settings.h" |
+#include "SkImageFilter.h" |
using WebKit::WebTransformationMatrix; |
@@ -52,6 +53,7 @@ CCLayerImpl::CCLayerImpl(int id) |
, m_drawOpacityIsAnimating(false) |
, m_debugBorderColor(0) |
, m_debugBorderWidth(0) |
+ , m_filter(0) |
, m_drawTransformIsAnimating(false) |
, m_screenSpaceTransformIsAnimating(false) |
#ifndef NDEBUG |
@@ -69,6 +71,7 @@ CCLayerImpl::~CCLayerImpl() |
#ifndef NDEBUG |
DCHECK(!m_betweenWillDrawAndDidDraw); |
#endif |
+ SkSafeUnref(m_filter); |
} |
void CCLayerImpl::addChild(scoped_ptr<CCLayerImpl> child) |
@@ -489,6 +492,15 @@ void CCLayerImpl::setBackgroundFilters(const WebKit::WebFilterOperations& backgr |
m_layerPropertyChanged = true; |
} |
+void CCLayerImpl::setFilter(SkImageFilter* filter) |
+{ |
+ if (m_filter == filter) |
+ return; |
+ |
+ SkRefCnt_SafeAssign(m_filter, filter); |
+ noteLayerPropertyChangedForSubtree(); |
+} |
+ |
void CCLayerImpl::setMasksToBounds(bool masksToBounds) |
{ |
if (m_masksToBounds == masksToBounds) |