didRenderContent() has a mechanism to avoid double blits;when scrolling or zooming is enabled then we don't issue blitContents() as the client would (continually) do thatalready.However, since r138024, didRenderContents() also deals with one-shot drawing synchronization and commits. When these are required, we can't just skip out or the backingstore and overlaying composited layers are likely to get out of sync. The condition also doesn't make much sense for direct rendering as no blit calls are issued at all when it is enabled.Fix the issue by limiting the impact of the scroll/zoom early return to only regular blit operations.
Patch below. Based on a patch and analysis by Chris Guan. Bug also known as RIM PR 274948.
Created attachment 181515 [details]
Comment on attachment 181515 [details]
Clearing flags on attachment: 181515
Committed r138956: <http://trac.webkit.org/changeset/138956>
All reviewed patches have been landed. Closing bug.