| Index: Source/core/rendering/RenderLayer.cpp
|
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp
|
| index e99cc003238e6ad5cc6687ce24825c945c53824e..41988bd68eb1c956d3ad43e737b26b1a416825db 100644
|
| --- a/Source/core/rendering/RenderLayer.cpp
|
| +++ b/Source/core/rendering/RenderLayer.cpp
|
| @@ -1320,6 +1320,9 @@ bool RenderLayer::userInputScrollable(ScrollbarOrientation orientation) const
|
| RenderBox* box = renderBox();
|
| ASSERT(box);
|
|
|
| + if (box->isIntristicallyScrollable(orientation))
|
| + return true;
|
| +
|
| EOverflow overflowStyle = (orientation == HorizontalScrollbar) ?
|
| renderer()->style()->overflowX() : renderer()->style()->overflowY();
|
| return (overflowStyle == OSCROLL || overflowStyle == OAUTO || overflowStyle == OOVERLAY);
|
| @@ -1948,6 +1951,12 @@ void RenderLayer::convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutR
|
|
|
| bool RenderLayer::usesCompositedScrolling() const
|
| {
|
| + RenderBox* box = renderBox();
|
| +
|
| + // Scroll form controls on the main thread so they exhibit correct touch scroll event bubbling
|
| + if (box && (box->isIntristicallyScrollable(VerticalScrollbar) || box->isIntristicallyScrollable(HorizontalScrollbar)))
|
| + return false;
|
| +
|
| return isComposited() && backing()->scrollingLayer();
|
| }
|
|
|
|
|