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

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: 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 7b701554ce9d97f0c95366109d4c406916d87363..56259363cffdba0d1660aa21149cc09c51362ea2 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()
@@ -364,8 +367,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)
@@ -375,8 +378,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)
@@ -385,8 +388,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)
« no previous file with comments | « cc/gl_renderer.cc ('k') | cc/layer_tree_host.h » ('j') | cc/resource_provider.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698