Bug 119146

Summary: [BlackBerry] LayerTiler fails to render layer after waking up
Product: WebKit Reporter: Arvid Nilsson <anilsson>
Component: WebKit BlackBerryAssignee: Arvid Nilsson <anilsson>
Status: RESOLVED FIXED    
Severity: Normal CC: anilsson, commit-queue, jpetsovits, rwlbuis, staikos, tonikitoo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Arvid Nilsson
Reported 2013-07-26 06:05:57 PDT
JIRA 452460 So what happens here is that when the screen goes dark, all tiles are freed up to release memory back to the system. We also mark the contents as dirty. However, we still remember that we've rendered e.g. tiles 0,0 and 0,1 in the past because those were visible at one time. This is part of an optimization to avoid re-rendering tiles repeatedly until the UI thread catches up with the fact that we have indeed rendered those tiles (which will happen when the UI thread next composites a frame). When contents are dirty, we're not supposed to perform this optimization (skip rendering) because the appearance of the layer has changed, so we do need to render those tiles. Unfortunately, the code that's supposed to forget the list of tiles rendered is in a conditional, "if (frontVisibility)", which happens to be false when the screen comes on again. So we end up perpetually skipping those render jobs at 0,0 and 0,1, and the UI thread keeps yelling at us to render them.
Attachments
Patch (4.61 KB, patch)
2013-07-26 06:15 PDT, Arvid Nilsson
no flags
Arvid Nilsson
Comment 1 2013-07-26 06:15:00 PDT
WebKit Commit Bot
Comment 2 2013-07-26 08:18:45 PDT
Comment on attachment 207526 [details] Patch Clearing flags on attachment: 207526 Committed r153372: <http://trac.webkit.org/changeset/153372>
WebKit Commit Bot
Comment 3 2013-07-26 08:18:46 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.