[chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available
Created attachment 137802 [details] Patch
This is the first part of the fixes for http://code.google.com/p/chromium/issues/detail?id=123356
Comment on attachment 137802 [details] Patch Neat. LGTM.
Comment on attachment 137802 [details] Patch How does canBeginFrame differ from canDraw? Is there ever a point where we want to begin a frame but can't draw?
(In reply to comment #4) > (From update of attachment 137802 [details]) > How does canBeginFrame differ from canDraw? Is there ever a point where we want to begin a frame but can't draw? canDraw doesn't block commit, this does. The reason is that if the surface isn't ready yet, then the first makeContextCurrent() will fail so we can't even start the commit. There are situations where we don't want to swap an actual frame but we can usefully do other things (do a commit, enqueue texture uploads, etc).
Comment on attachment 137802 [details] Patch Ok, thanks for the explanation. R=me.
Here's the rest with a longer explanation in the WebKit/chromium/ChangeLog: https://bugs.webkit.org/show_bug.cgi?id=84305
Committed r114599: <http://trac.webkit.org/changeset/114599>