[chromium] Improvements for page scale delta during commit
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Nov 2011 22:37:55 +0000 (22:37 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Nov 2011 22:37:55 +0000 (22:37 +0000)
commit6388dcf877e8d8a848299c2326e6c5becb3b93fe
treec0c4d79264e9dfbd44659c42fabc71661af86ea4
parent4ac60e817a9444e7708003816e7cc0c094b2d83b
[chromium] Improvements for page scale delta during commit
https://bugs.webkit.org/show_bug.cgi?id=72471

Patch by Alexandre Elias <aelias@google.com> on 2011-11-16
Reviewed by James Robinson.

Page scale now follows the same commit flow as scroll position:
the delta is folded into m_pageScale at BFAC time, and a "sent" value
is preserved for temporary use until the commit finishes.

I also merged setPageScaleFactor and setPageScaleFactorLimits into one
function on the impl side.  The reason is that setPageFactor must
be applied after the limits are updated, but on the other hand setting
the limits first may cause an unnecessary clamp of the scale delta.
Merging the methods avoids this bind.

No new tests. (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)

Source/WebCore:

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::applyScrollAndScale):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
(WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
(WebCore::CCLayerTreeHostImpl::setScaleDelta):
(WebCore::CCLayerTreeHostImpl::applyScaleDeltaToScrollLayer):
(WebCore::CCLayerTreeHostImpl::scrollRootLayer):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::applyScrollAndScale):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@100508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/LayerChromium.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.h
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/WebViewImpl.cpp
Source/WebKit/chromium/tests/CCLayerImplTest.cpp