[chromium] Add WebLayer API for scrolling
https://bugs.webkit.org/show_bug.cgi?id=89913
Reviewed by Adrienne Walker.
Source/Platform:
Adds WebScrollableLayer type to represent a layer that can be scrolled by the user. Currently WebContentLayers
are scrollable and no other layer types are, although this might change in the future.
* chromium/public/WebContentLayer.h:
(WebKit::WebContentLayer::WebContentLayer):
* chromium/public/WebLayer.h:
(WebLayer):
* chromium/public/WebScrollableLayer.h:
(WebKit):
(WebScrollableLayer):
(WebKit::WebScrollableLayer::WebScrollableLayer):
(WebKit::WebScrollableLayer::~WebScrollableLayer):
(WebKit::WebScrollableLayer::operator=):
Source/WebCore:
Use new WebScrollableLayer type in ScrollingCoordinatorChromium. This file peeks "under the hood" a fair amount
since we don't have WebLayer API for scrollbar layers yet.
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(ScrollingCoordinatorPrivate):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
Source/WebKit/chromium:
Use WebScrollableLayer type in NonCompositedContentHost.
* WebKit.gyp:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::reserveScrollbarLayers):
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::haveScrollLayer):
(WebKit):
(WebKit::NonCompositedContentHost::scrollLayer):
* src/NonCompositedContentHost.h:
(WebCore):
* src/WebContentLayer.cpp:
(WebKit::WebContentLayer::WebContentLayer):
* src/WebLayer.cpp:
(WebKit::WebLayer::numberOfChildren):
(WebKit):
(WebKit::WebLayer::childAt):
(WebKit::WebLayer::setAlwaysReserveTextures):
* src/WebScrollableLayer.cpp:
(WebKit):
(WebKit::WebScrollableLayer::setScrollPosition):
(WebKit::WebScrollableLayer::setScrollable):
(WebKit::WebScrollableLayer::setHaveWheelEventHandlers):
(WebKit::WebScrollableLayer::setShouldScrollOnMainThread):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121284
268f45cc-cd09-0410-ab3c-
d52691b4dbfc