diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-05 22:08:21 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-05 22:08:21 +0000 |
commit | 8db2213c07f4d0bf8bc31ec6a3c68ea95b2d5177 (patch) | |
tree | f984b0e45461f8de5156be1ff6492a989f6369de /webkit | |
parent | 24302549a7ab93baed7dd4e9af470b3255c6cdbf (diff) | |
download | chromium_src-8db2213c07f4d0bf8bc31ec6a3c68ea95b2d5177.zip chromium_src-8db2213c07f4d0bf8bc31ec6a3c68ea95b2d5177.tar.gz chromium_src-8db2213c07f4d0bf8bc31ec6a3c68ea95b2d5177.tar.bz2 |
Roll cc snapshot up to 127605
TBR=nduca@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10907075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155034 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/compositor_bindings/WebLayerImpl.cpp | 15 | ||||
-rw-r--r-- | webkit/compositor_bindings/WebLayerImpl.h | 3 | ||||
-rw-r--r-- | webkit/compositor_bindings/WebLayerTest.cpp | 25 |
3 files changed, 43 insertions, 0 deletions
diff --git a/webkit/compositor_bindings/WebLayerImpl.cpp b/webkit/compositor_bindings/WebLayerImpl.cpp index 4b25479..84f5e5a 100644 --- a/webkit/compositor_bindings/WebLayerImpl.cpp +++ b/webkit/compositor_bindings/WebLayerImpl.cpp @@ -334,6 +334,16 @@ void WebLayerImpl::setScrollPosition(WebPoint position) m_layer->setScrollPosition(position); } +WebPoint WebLayerImpl::scrollPosition() const +{ + return m_layer->scrollPosition(); +} + +void WebLayerImpl::setMaxScrollPosition(WebSize maxScrollPosition) +{ + m_layer->setMaxScrollPosition(maxScrollPosition); +} + void WebLayerImpl::setScrollable(bool scrollable) { m_layer->setScrollable(scrollable); @@ -370,6 +380,11 @@ void WebLayerImpl::setFixedToContainerLayer(bool enable) m_layer->setFixedToContainerLayer(enable); } +void WebLayerImpl::setScrollClient(WebLayerScrollClient* scrollClient) +{ + m_layer->setLayerScrollClient(scrollClient); +} + LayerChromium* WebLayerImpl::layer() const { return m_layer.get(); diff --git a/webkit/compositor_bindings/WebLayerImpl.h b/webkit/compositor_bindings/WebLayerImpl.h index 71f83db..b34d43b 100644 --- a/webkit/compositor_bindings/WebLayerImpl.h +++ b/webkit/compositor_bindings/WebLayerImpl.h @@ -73,12 +73,15 @@ public: virtual void transferAnimationsTo(WebLayer*) OVERRIDE; virtual void setForceRenderSurface(bool) OVERRIDE; virtual void setScrollPosition(WebPoint) OVERRIDE; + virtual WebPoint scrollPosition() const OVERRIDE; + virtual void setMaxScrollPosition(WebSize) OVERRIDE; virtual void setScrollable(bool) OVERRIDE; virtual void setHaveWheelEventHandlers(bool) OVERRIDE; virtual void setShouldScrollOnMainThread(bool) OVERRIDE; virtual void setNonFastScrollableRegion(const WebVector<WebRect>&) OVERRIDE; virtual void setIsContainerForFixedPositionLayers(bool) OVERRIDE; virtual void setFixedToContainerLayer(bool) OVERRIDE; + virtual void setScrollClient(WebLayerScrollClient*) OVERRIDE; WebCore::LayerChromium* layer() const; diff --git a/webkit/compositor_bindings/WebLayerTest.cpp b/webkit/compositor_bindings/WebLayerTest.cpp index 18dc044..09b26f47 100644 --- a/webkit/compositor_bindings/WebLayerTest.cpp +++ b/webkit/compositor_bindings/WebLayerTest.cpp @@ -14,6 +14,7 @@ #include <public/WebExternalTextureLayer.h> #include <public/WebFloatPoint.h> #include <public/WebFloatRect.h> +#include <public/WebLayerScrollClient.h> #include <public/WebLayerTreeView.h> #include <public/WebLayerTreeViewClient.h> #include <public/WebRect.h> @@ -152,4 +153,28 @@ TEST_F(WebLayerTest, Client) EXPECT_FALSE(contentLayer->layer()->drawsContent()); } +class MockScrollClient : public WebLayerScrollClient { +public: + MOCK_METHOD0(didScroll, void()); +}; + +TEST_F(WebLayerTest, notifyScrollClient) +{ + MockScrollClient scrollClient; + + EXPECT_CALL(scrollClient, didScroll()).Times(0); + m_rootLayer->setScrollClient(&scrollClient); + Mock::VerifyAndClearExpectations(&scrollClient); + + EXPECT_CALL(scrollClient, didScroll()).Times(1); + m_rootLayer->setScrollPosition(WebPoint(14, 19)); + Mock::VerifyAndClearExpectations(&scrollClient); + + EXPECT_CALL(scrollClient, didScroll()).Times(0); + m_rootLayer->setScrollPosition(WebPoint(14, 19)); + Mock::VerifyAndClearExpectations(&scrollClient); + + m_rootLayer->setScrollClient(0); +} + } |