DescriptionMerge 114599 - [chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available
https://bugs.webkit.org/show_bug.cgi?id=84301
Reviewed by Adrienne Walker.
Source/WebCore:
If our composited surface isn't ready yet, then the compositor may initialize in a state where the first
makeContextCurrent() fails. This adds a new state to the scheduler that we can use to suppress initialization
until we get notified that the surface is ready. I'll add the plumbing for actually notifying in a follow-up.
Updated CCSchedulerTest / CCSchedulerStateMachineTest unit tests.
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::setCanBeginFrame):
(WebCore):
* platform/graphics/chromium/cc/CCScheduler.h:
(CCScheduler):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::nextAction):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
(WebCore::CCSchedulerStateMachine::setCanBeginFrame):
(CCSchedulerStateMachine):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::initializeImplOnImplThread):
Source/WebKit/chromium:
Update unit tests for new canBeginFrame bit.
* tests/CCSchedulerStateMachineTest.cpp:
(WebCore::TEST):
(WebCore):
* tests/CCSchedulerTest.cpp:
(WebKitTests::TEST):
TBR=jamesr@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=114977
Patch Set 1 #Messages
Total messages: 1 (0 generated)
|