[Webkit-unassigned] [Bug 108951] New: Fix flicker on page load transitions
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Feb 5 09:29:33 PST 2013
https://bugs.webkit.org/show_bug.cgi?id=108951
Summary: Fix flicker on page load transitions
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
URL: http://mobile.theverge.com
OS/Version: Unspecified
Status: ASSIGNED
Severity: Normal
Priority: P2
Component: WebKit BlackBerry
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: jpetsovits at rim.com
CC: staikos at kde.org, manyoso at yahoo.com,
tonikitoo at webkit.org, anilsson at rim.com
The main idea for this patch is that whenever we adopt a new backingstore geometry that doesn't contain any rendered tiles, or VisibleZoom render jobs that need more tiles to be rendered to be considered complete, we'll then suspend blitting until there is valid content to show.
This main idea is codified as checks for empty buffers in adoptAsFrontState(), and checks for the current state of the render queue after rendering content in render(). However, as BackingStore objects with disabled surface pools or pure use of accelerated compositing also swap geometries in some circumstances, the use of suspend counters grows increasingly fragile.
To make this patch more resilient against regressions, the current suspend counter is complemented with several explicit conditions for suspending screen updates, and both subsequently combined into a single cached boolean value telling the UI thread whether or not to suspend. In the future, other suspend calls can be migrated to this "state machine" design as well, potentially phasing out the suspend counter altogether.
The immediate result is that there will be no flashing of background color between page loads or after discarding tiles on scale changes until the content has been rendered.
See patch below, with its commit message reused for the bug description above.
--
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