[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 00:07:04 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=94903


Christopher Cameron <ccameron at chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |enne at google.com,
                   |                            |piman at chromium.org




--- Comment #2 from Christopher Cameron <ccameron at chromium.org>  2012-08-24 00:07:02 PST ---
Belated description, CCing people related to this area.

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.

The fix in the patch makes beginFrameAbortedOnImplThread() trigger a commit if there is an outstanding purge, so that drawing will be re-enabled in scheduledActionCommit().

The patch also re-arranges some things in preparation for a change I'm working on to allow purging only some of the textures at a time -- at first I thought that this issue (which manifests in a newly-switched-to-tab's contents just not appearing) was a bug in that patch.  LMK if you'd prefer a smaller diff (as, for instance, the ability to ACK a deletion in abort may not make sense in the smaller context).

I tested the patch with CCLayerTreeHostTestEvictTextures.runMultiThread.

-- 
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