diff -r 30342f40acbf -r e1bea15f9a39 webengine/osswebengine/WebCore/rendering/RenderFrame.cpp --- a/webengine/osswebengine/WebCore/rendering/RenderFrame.cpp Thu Jul 15 19:53:20 2010 +0300 +++ b/webengine/osswebengine/WebCore/rendering/RenderFrame.cpp Thu Aug 19 10:58:56 2010 +0300 @@ -74,8 +74,7 @@ if (!m_width || !m_height || !childRoot) { updateWidgetPosition(); if (childFrameView) - while (childFrameView->layoutPending()) - childFrameView->layout(); + childFrameView->layout(); setNeedsLayout(false); return; } @@ -96,9 +95,9 @@ // update again to pass the width to the child frame updateWidgetPosition(); - do - childFrameView->layout(); - while (childFrameView->layoutPending() || childRoot->needsLayout()); + + childFrameView->layout(); + if (scrolling || flexibleHeight || childFrameView->frame()->isFrameSet()) m_height = max(m_height, childFrameView->contentsHeight());