Title: [112278] trunk/Source
Revision
112278
Author
[email protected]
Date
2012-03-27 10:02:51 -0700 (Tue, 27 Mar 2012)

Log Message

Source/WebCore: [chromium] Fix filter context creation to be more conservative.
https://bugs.webkit.org/show_bug.cgi?id=82349

Reviewed by James Robinson.

Covered by webkit_unit_tests, and css3/filters layout tests.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setFilters):
Only request a filter context if the filter lists is non-empty.
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::setNeedsFilterContext):
Add a bool param, so tests can cancel a request for filter contexts.

Source/WebKit/chromium: [chromium] Fix filter context usage in webkit_unit_tests.
https://bugs.webkit.org/show_bug.cgi?id=82349

Reviewed by James Robinson.

* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
Cancel request for filter context after test run.
(WTF::TEST_F):
* tests/CCOcclusionTrackerTest.cpp:
Re-enable CCLayerTreeHostTestSetSingleLostContext.runMultiThread.
(WebCore::CCOcclusionTrackerTest::TearDown):
Cancel request for filter context after test run.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (112277 => 112278)


--- trunk/Source/WebCore/ChangeLog	2012-03-27 15:58:03 UTC (rev 112277)
+++ trunk/Source/WebCore/ChangeLog	2012-03-27 17:02:51 UTC (rev 112278)
@@ -1,3 +1,19 @@
+2012-03-27  Stephen White  <[email protected]>
+
+        [chromium] Fix filter context creation to be more conservative.
+        https://bugs.webkit.org/show_bug.cgi?id=82349
+
+        Reviewed by James Robinson.
+
+        Covered by webkit_unit_tests, and css3/filters layout tests.
+
+        * platform/graphics/chromium/LayerChromium.cpp:
+        (WebCore::LayerChromium::setFilters):
+        Only request a filter context if the filter lists is non-empty.
+        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+        (WebCore::CCLayerTreeHost::setNeedsFilterContext):
+        Add a bool param, so tests can cancel a request for filter contexts.
+
 2012-03-27  Stephen Chenney  <[email protected]>
 
         <svg:use> elements in the parser can create elements not marked as created by the parser

Modified: trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp (112277 => 112278)


--- trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-03-27 15:58:03 UTC (rev 112277)
+++ trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-03-27 17:02:51 UTC (rev 112278)
@@ -318,7 +318,8 @@
         return;
     m_filters = filters;
     setNeedsCommit();
-    CCLayerTreeHost::setNeedsFilterContext();
+    if (!filters.isEmpty())
+        CCLayerTreeHost::setNeedsFilterContext(true);
 }
 
 void LayerChromium::setOpacity(float opacity)

Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h (112277 => 112278)


--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h	2012-03-27 15:58:03 UTC (rev 112277)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h	2012-03-27 17:02:51 UTC (rev 112278)
@@ -131,7 +131,7 @@
     static bool anyLayerTreeHostInstanceExists();
 
     static bool needsFilterContext() { return s_needsFilterContext; }
-    static void setNeedsFilterContext() { s_needsFilterContext = true; }
+    static void setNeedsFilterContext(bool needsFilterContext) { s_needsFilterContext = needsFilterContext; }
 
     // CCLayerTreeHost interface to CCProxy.
     void willBeginFrame() { m_client->willBeginFrame(); }

Modified: trunk/Source/WebKit/chromium/ChangeLog (112277 => 112278)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-03-27 15:58:03 UTC (rev 112277)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-03-27 17:02:51 UTC (rev 112278)
@@ -1,3 +1,19 @@
+2012-03-27  Stephen White  <[email protected]>
+
+        [chromium] Fix filter context usage in webkit_unit_tests.
+        https://bugs.webkit.org/show_bug.cgi?id=82349
+
+        Reviewed by James Robinson.
+
+        * tests/CCLayerTreeHostTest.cpp:
+        (WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
+        Cancel request for filter context after test run.
+        (WTF::TEST_F):
+        * tests/CCOcclusionTrackerTest.cpp:
+        Re-enable CCLayerTreeHostTestSetSingleLostContext.runMultiThread.
+        (WebCore::CCOcclusionTrackerTest::TearDown):
+        Cancel request for filter context after test run.
+
 2012-03-26  Stephen White  <[email protected]>
 
         Disable CCLayerTreeHostTestSetSingleLostContext.runMultiThread.

Modified: trunk/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp (112277 => 112278)


--- trunk/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp	2012-03-27 15:58:03 UTC (rev 112277)
+++ trunk/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp	2012-03-27 17:02:51 UTC (rev 112278)
@@ -2106,6 +2106,7 @@
         m_layerTreeHost->setRootLayer(0);
         m_layerTreeHost.clear();
 
+        CCLayerTreeHost::setNeedsFilterContext(false);
         endTest();
     }
 
@@ -2201,7 +2202,7 @@
     }
 };
 
-TEST_F(CCLayerTreeHostTestSetSingleLostContext, DISABLED_runMultiThread)
+TEST_F(CCLayerTreeHostTestSetSingleLostContext, runMultiThread)
 {
     runTestThreaded();
 }

Modified: trunk/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp (112277 => 112278)


--- trunk/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp	2012-03-27 15:58:03 UTC (rev 112277)
+++ trunk/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp	2012-03-27 17:02:51 UTC (rev 112278)
@@ -139,6 +139,7 @@
         m_root.clear();
         m_renderSurfaceLayerListChromium.clear();
         m_renderSurfaceLayerListImpl.clear();
+        CCLayerTreeHost::setNeedsFilterContext(false);
     }
 
     typename Types::ContentLayerType* createRoot(const TransformationMatrix& transform, const FloatPoint& position, const IntSize& bounds)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to