WebKit2 View Gestures (Zoom): Can show unpainted regions when zoom-pinching-out
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Jun 2014 01:27:00 +0000 (01:27 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Jun 2014 01:27:00 +0000 (01:27 +0000)
commit0d58e8cbb766aa208f4eff50b5f8ace80ab1b856
treeda06186b8c851992bc0a90ab88fe87ee71b08a77
parentc49d7e8a323bea951828f703dba402a7fb7063ad
WebKit2 View Gestures (Zoom): Can show unpainted regions when zoom-pinching-out
https://bugs.webkit.org/show_bug.cgi?id=133472
<rdar://problem/15686848>

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToLayers):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Use prepopulateRect() when zooming out to ensure that we have tiles for the current exposed area.

Factor applyTransientZoomToLayers out of adjustTransientZoom, so that
flushLayers can call applyTransientZoomToLayers without ending up calling prepopulateRect()
during layer flushing, which causes trouble.

It is OK to populate layers at the current scale even when zooming out, because the overdraw
already covers most of the zoomed out area, and we're only adding a few more tiles at worst.

* WebCore.exp.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h
Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm