Title: [113494] trunk/Source/WebCore
- Revision
- 113494
- Author
- [email protected]
- Date
- 2012-04-06 14:17:55 -0700 (Fri, 06 Apr 2012)
Log Message
Avoid trying to set filters on transform layers
https://bugs.webkit.org/show_bug.cgi?id=83344
Reviewed by Dean Jackson.
Return early from GraphicsLayerCA::setFilters() when the filters
haven't changed. This avoids trying to clear filters on CALayers
which never had them, which should both help performance, and avoids
console spew related to setting shadow properties on transform layers.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setFilters):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (113493 => 113494)
--- trunk/Source/WebCore/ChangeLog 2012-04-06 21:15:55 UTC (rev 113493)
+++ trunk/Source/WebCore/ChangeLog 2012-04-06 21:17:55 UTC (rev 113494)
@@ -1,3 +1,18 @@
+2012-04-05 Simon Fraser <[email protected]>
+
+ Avoid trying to set filters on transform layers
+ https://bugs.webkit.org/show_bug.cgi?id=83344
+
+ Reviewed by Dean Jackson.
+
+ Return early from GraphicsLayerCA::setFilters() when the filters
+ haven't changed. This avoids trying to clear filters on CALayers
+ which never had them, which should both help performance, and avoids
+ console spew related to setting shadow properties on transform layers.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::setFilters):
+
2012-04-06 James Robinson <[email protected]>
WebGL content swapped at wrong time in threaded compositing mode
Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (113493 => 113494)
--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2012-04-06 21:15:55 UTC (rev 113493)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2012-04-06 21:17:55 UTC (rev 113494)
@@ -604,6 +604,13 @@
bool GraphicsLayerCA::setFilters(const FilterOperations& filterOperations)
{
bool canCompositeFilters = PlatformCALayer::filtersCanBeComposited(filterOperations);
+
+ if (m_filters == filterOperations)
+ return canCompositeFilters;
+
+ // Filters cause flattening, so we should never have filters on a layer with preserves3D().
+ ASSERT(!filterOperations.size() || !preserves3D());
+
if (canCompositeFilters) {
GraphicsLayer::setFilters(filterOperations);
noteLayerPropertyChanged(FiltersChanged);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes