[Webkit-unassigned] [Bug 94903] [chromium] Fix a bug where CCThreadProxy::canDraw() gets stuck at false on tab switch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Aug 24 09:24:14 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=94903
--- Comment #5 from Dana Jansens <danakj at chromium.org> 2012-08-24 09:24:13 PST ---
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > Suppose the impl thread deletes all textures via releaseContentsTextures(). The impl thread will not be able to draw again until resetContentsTexturesPurged() is called in scheduledActionCommit(). When deleting the textures, the function releaseContentsTextures() calls setNeedsCommitOnImplThread() to ensure that a commit will come along to allow drawing again. If this commit is aborted, then the page will not draw until a commit is scheduled, which may be forever.
> >
> > What about setting needs-commit when the compositor becomes visible? beginFrameAbort only happens when not visible.
>
> Right, and that should already happen (or does it not under certain circumstances? That's probably what we want to fix).
> If you force a commit when we're invisible, then you'll reallocate all the textures, defeating the purpose.
The scheduler doesn't do commits while non-visible so that shouldn't be a problem. I think we schedule a commit when we go non-visible, but I'm having trouble finding the place where we do.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list