| Index: Source/core/frame/FrameView.cpp
|
| diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp
|
| index 060b1587d439f485b2557b0e3d6b4e93227b9769..884f4a828b16ad0db50479be94e6bc016dedda21 100644
|
| --- a/Source/core/frame/FrameView.cpp
|
| +++ b/Source/core/frame/FrameView.cpp
|
| @@ -638,8 +638,25 @@ void FrameView::recalcOverflowAfterStyleChange()
|
|
|
| renderView->recalcOverflowAfterStyleChange();
|
|
|
| - // FIXME: We should adjust frame scrollbar here, but that will make many
|
| - // tests flake in debug build.
|
| + if (needsLayout())
|
| + return;
|
| +
|
| + InUpdateScrollbarsScope inUpdateScrollbarsScope(this);
|
| +
|
| + bool shouldHaveHorizontalScrollbar = false;
|
| + bool shouldHaveVerticalScrollbar = false;
|
| + computeScrollbarExistence(shouldHaveHorizontalScrollbar, shouldHaveVerticalScrollbar);
|
| +
|
| + bool hasHorizontalScrollbar = horizontalScrollbar();
|
| + bool hasVerticalScrollbar = verticalScrollbar();
|
| + if (hasHorizontalScrollbar != shouldHaveHorizontalScrollbar
|
| + || hasVerticalScrollbar != shouldHaveVerticalScrollbar) {
|
| + setNeedsLayout();
|
| + return;
|
| + }
|
| +
|
| + adjustViewSize();
|
| + updateScrollbarGeometry();
|
| }
|
|
|
| bool FrameView::usesCompositedScrolling() const
|
|
|