From: commit-queue@webkit.org Date: Tue, 17 Apr 2012 05:08:58 +0000 (+0000) Subject: Auto-sized frames may be taller than expected X-Git-Tag: 070512121124~6843 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02d0f4f50027531de8a9cb2ab33119e4bf453ec2;p=profile%2Fivi%2Fwebkit-efl.git Auto-sized frames may be taller than expected https://bugs.webkit.org/show_bug.cgi?id=84106 Patch by Andrei Burago on 2012-04-16 Reviewed by David Levin. No new tests. The repro steps require using Chrome notifications on Win. * page/FrameView.cpp: (WebCore::FrameView::autoSizeIfEnabled): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114342 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 0f09602..896b2eb 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,15 @@ +2012-04-16 Andrei Burago + + Auto-sized frames may be taller than expected + https://bugs.webkit.org/show_bug.cgi?id=84106 + + Reviewed by David Levin. + + No new tests. The repro steps require using Chrome notifications on Win. + + * page/FrameView.cpp: + (WebCore::FrameView::autoSizeIfEnabled): + 2012-04-13 James Robinson [chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it diff --git a/Source/WebCore/page/FrameView.cpp b/Source/WebCore/page/FrameView.cpp index 844de28..3675a68 100644 --- a/Source/WebCore/page/FrameView.cpp +++ b/Source/WebCore/page/FrameView.cpp @@ -2433,12 +2433,13 @@ void FrameView::autoSizeIfEnabled() if (!m_didRunAutosize) resize(frameRect().width(), m_minAutoSize.height()); + IntSize size = frameRect().size(); + // Do the resizing twice. The first time is basically a rough calculation using the preferred width // which may result in a height change during the second iteration. for (int i = 0; i < 2; i++) { // Update various sizes including contentsSize, scrollHeight, etc. document->updateLayoutIgnorePendingStylesheets(); - IntSize size = frameRect().size(); int width = documentView->minPreferredLogicalWidth(); int height = documentRenderBox->scrollHeight(); IntSize newSize(width, height);