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

Issue 10377150: Merge 116587 - [chromium] Don't draw when canDraw() is false (Closed)

Created:
8 years, 7 months ago by danakj
Modified:
8 years, 7 months ago
Reviewers:
danakj
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/1132/
Visibility:
Public.

Description

Merge 116587 - [chromium] Don't draw when canDraw() is false https://bugs.webkit.org/show_bug.cgi?id=85829 Reviewed by Adrienne Walker. Source/WebCore: This is based on the work of Daniel Sievers in bug https://bugs.webkit.org/show_bug.cgi?id=82680. When canDraw() is false, we should not call drawLayers() or prepareToDraw() in both Single- and Multi-Threaded mode. drawLayers() is crashing in single threaded mode, and this attempts to prevent it from being called with invalid state. While making it behave properly in single-threaded mode, it seems appropriate to unrevert the parts of 82680 that made threaded mode behave similarly appropriately. A single-threaded test is not included since LTHTests is unable to run in single-threaded mode at this time (pending work from Ian Vollick). So we test in threaded mode only with a note to include a single thread version. Tests: CCLayerTreeHostTestCanDrawBlocksDrawing.runMultiThread * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: (WebCore::CCLayerTreeHostImpl::prepareToDraw): (WebCore::CCLayerTreeHostImpl::drawLayers): * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: (WebCore::CCSingleThreadProxy::doComposite): * platform/graphics/chromium/cc/CCThreadProxy.cpp: (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal): Source/WebKit/chromium: * tests/CCLayerTreeHostImplTest.cpp: (WebKitTests::CCLayerTreeHostImplTest::CCLayerTreeHostImplTest): (WebKitTests::TEST_F): * tests/CCLayerTreeHostTest.cpp: (WTF): (CCLayerTreeHostTestCanDrawBlocksDrawing): (WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::CCLayerTreeHostTestCanDrawBlocksDrawing): (WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::beginTest): (WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::commitCompleteOnCCThread): (WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::drawLayersOnCCThread): (WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::didCommitAndDrawFrame): (WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::afterTest): (WTF::TEST_F): TBR=danakj@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=117087

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+158 lines, -53 lines) Patch
M Source/WebCore/ChangeLog View 1 chunk +32 lines, -0 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp View 2 chunks +2 lines, -7 lines 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp View 1 chunk +7 lines, -1 line 0 comments Download
M Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp View 4 chunks +16 lines, -6 lines 0 comments Download
M Source/WebKit/chromium/ChangeLog View 1 chunk +21 lines, -0 lines 0 comments Download
M Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp View 10 chunks +24 lines, -39 lines 0 comments Download
M Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp View 1 chunk +56 lines, -0 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
danakj
8 years, 7 months ago (2012-05-15 17:08:37 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698