| Index: cc/layer.cc
|
| diff --git a/cc/layer.cc b/cc/layer.cc
|
| index 1f22bad17eab4063e360f18790adeca6e1817a0c..d78afaf5c40cca878de7802a6510da73ac7dd1e3 100644
|
| --- a/cc/layer.cc
|
| +++ b/cc/layer.cc
|
| @@ -97,6 +97,9 @@ void Layer::setLayerTreeHost(LayerTreeHost* host)
|
|
|
| if (host && m_layerAnimationController->hasAnyAnimation())
|
| host->setNeedsCommit();
|
| + if (host && (!m_filters.isEmpty() || !m_backgroundFilters.isEmpty() || m_filter))
|
| + m_layerTreeHost->setNeedsFilterContext();
|
| +
|
| }
|
|
|
| void Layer::setNeedsCommit()
|
| @@ -365,8 +368,8 @@ void Layer::setFilters(const WebKit::WebFilterOperations& filters)
|
| DCHECK(!m_filter);
|
| m_filters = filters;
|
| setNeedsCommit();
|
| - if (!filters.isEmpty())
|
| - LayerTreeHost::setNeedsFilterContext(true);
|
| + if (!filters.isEmpty() && m_layerTreeHost)
|
| + m_layerTreeHost->setNeedsFilterContext();
|
| }
|
|
|
| void Layer::setFilter(const skia::RefPtr<SkImageFilter>& filter)
|
| @@ -376,8 +379,8 @@ void Layer::setFilter(const skia::RefPtr<SkImageFilter>& filter)
|
| DCHECK(m_filters.isEmpty());
|
| m_filter = filter;
|
| setNeedsCommit();
|
| - if (filter)
|
| - LayerTreeHost::setNeedsFilterContext(true);
|
| + if (filter && m_layerTreeHost)
|
| + m_layerTreeHost->setNeedsFilterContext();
|
| }
|
|
|
| void Layer::setBackgroundFilters(const WebKit::WebFilterOperations& backgroundFilters)
|
| @@ -386,8 +389,8 @@ void Layer::setBackgroundFilters(const WebKit::WebFilterOperations& backgroundFi
|
| return;
|
| m_backgroundFilters = backgroundFilters;
|
| setNeedsCommit();
|
| - if (!backgroundFilters.isEmpty())
|
| - LayerTreeHost::setNeedsFilterContext(true);
|
| + if (!backgroundFilters.isEmpty() && m_layerTreeHost)
|
| + m_layerTreeHost->setNeedsFilterContext();
|
| }
|
|
|
| void Layer::setOpacity(float opacity)
|
|
|