Chromium Code Reviews| Index: Source/core/rendering/RenderLayer.cpp |
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
| index 9f6939f1046f1f00c4a7356acce22fcdd430e778..9edce46c1f801f0d30d09d4705147c306a268eec 100644 |
| --- a/Source/core/rendering/RenderLayer.cpp |
| +++ b/Source/core/rendering/RenderLayer.cpp |
| @@ -1322,6 +1322,9 @@ bool RenderLayer::userInputScrollable(ScrollbarOrientation orientation) const |
| RenderBox* box = renderBox(); |
| ASSERT(box); |
| + if (box->isTextField()) |
| + return orientation == HorizontalScrollbar; |
|
esprehn
2013/08/12 23:38:06
This doesn't seem writing mode aware.
bokan
2013/08/13 01:13:48
I've changed this to defer the decision to the con
|
| + |
| EOverflow overflowStyle = (orientation == HorizontalScrollbar) ? |
| renderer()->style()->overflowX() : renderer()->style()->overflowY(); |
| return (overflowStyle == OSCROLL || overflowStyle == OAUTO || overflowStyle == OOVERLAY); |
| @@ -1950,6 +1953,10 @@ void RenderLayer::convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutR |
| bool RenderLayer::usesCompositedScrolling() const |
| { |
| + // Scroll textfields on the main thread so we get appropriate touch gesture propagation. |
| + if (renderBox() && renderBox()->isTextField()) |
| + return false; |
| + |
| return isComposited() && backing()->scrollingLayer(); |
| } |