| Index: Source/core/frame/FrameView.cpp
|
| diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp
|
| index 0adb12f75ca370219354552de1723e37ad3088ae..98f27f50d2cc3b7ac6a62d282a42e5f7bad0d548 100644
|
| --- a/Source/core/frame/FrameView.cpp
|
| +++ b/Source/core/frame/FrameView.cpp
|
| @@ -3492,7 +3492,20 @@ void FrameView::setLayoutSizeInternal(const IntSize& size)
|
| return;
|
|
|
| m_layoutSize = size;
|
| - contentsResized();
|
| +
|
| + // Update scrollbars. Not calling this->contentsResized() to avoid setNeedsLayout.
|
| + ScrollView::contentsResized();
|
| +
|
| + if (RenderView* renderView = this->renderView()) {
|
| + renderView->viewResized();
|
| + // If selfNeedsLayout, resize event will be sent if needed during the next layout;
|
| + // otherwise we need to send the resize event now if needed.
|
| + if (!renderView->selfNeedsLayout()) {
|
| + // Call scheduleOrPerformPostLayoutTasks() instead of synchronized sendResizeEventIfNeeded()
|
| + // to avoid hang with resize events in seamless frames.
|
| + scheduleOrPerformPostLayoutTasks();
|
| + }
|
| + }
|
| }
|
|
|
| void FrameView::didAddScrollbar(Scrollbar* scrollbar, ScrollbarOrientation orientation)
|
|
|