Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1957)

Unified Diff: cc/layer.cc

Issue 12212007: cc: Route offscreen context creation for compositor to the browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix typo Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698