| Index: cc/layer.cc
|
| diff --git a/cc/layer.cc b/cc/layer.cc
|
| index 2f53b092519857ff5d3249bae6161c871832348f..bf4cfd9c1f2e1cc3d79bab03587560d22e0850f4 100644
|
| --- a/cc/layer.cc
|
| +++ b/cc/layer.cc
|
| @@ -12,6 +12,7 @@
|
| #include "CCLayerImpl.h"
|
| #include "CCLayerTreeHost.h"
|
| #include "CCSettings.h"
|
| +#include "SkImageFilter.h"
|
| #include <public/WebAnimationDelegate.h>
|
| #include <public/WebLayerScrollClient.h>
|
| #include <public/WebSize.h>
|
| @@ -44,6 +45,7 @@ LayerChromium::LayerChromium()
|
| , m_debugBorderColor(0)
|
| , m_debugBorderWidth(0)
|
| , m_opacity(1.0)
|
| + , m_filter(0)
|
| , m_anchorPointZ(0)
|
| , m_isContainerForFixedPositionLayers(false)
|
| , m_fixedToContainerLayer(false)
|
| @@ -323,6 +325,16 @@ void LayerChromium::setFilters(const WebKit::WebFilterOperations& filters)
|
| CCLayerTreeHost::setNeedsFilterContext(true);
|
| }
|
|
|
| +void LayerChromium::setFilter(SkImageFilter* filter)
|
| +{
|
| + if (m_filter == filter)
|
| + return;
|
| + SkRefCnt_SafeAssign(m_filter, filter);
|
| + setNeedsCommit();
|
| + if (filter)
|
| + CCLayerTreeHost::setNeedsFilterContext(true);
|
| +}
|
| +
|
| void LayerChromium::setBackgroundFilters(const WebKit::WebFilterOperations& backgroundFilters)
|
| {
|
| if (m_backgroundFilters == backgroundFilters)
|
| @@ -544,6 +556,7 @@ void LayerChromium::pushPropertiesTo(CCLayerImpl* layer)
|
| layer->setForceRenderSurface(m_forceRenderSurface);
|
| layer->setDrawsContent(drawsContent());
|
| layer->setFilters(filters());
|
| + layer->setFilter(filter());
|
| layer->setBackgroundFilters(backgroundFilters());
|
| layer->setUseLCDText(m_useLCDText);
|
| layer->setMasksToBounds(m_masksToBounds);
|
|
|