[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

mitz at apple.com mitz at apple.com
Sun Feb 20 23:05:15 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit c1308d137985d0b068cd14ef822c83fa5d6ba3a8
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 17 07:11:11 2011 +0000

    <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
    
    Reviewed by Sam Weinig.
    
    Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
    quad to a non-empty rect.
    
    * rendering/RenderWidget.cpp:
    (WebCore::RenderWidget::setWidget):
    (WebCore::RenderWidget::updateWidgetPosition):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75916 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 2940eb0..bb2a559 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2011-01-16  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
+
+        Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
+        quad to a non-empty rect.
+
+        * rendering/RenderWidget.cpp:
+        (WebCore::RenderWidget::setWidget):
+        (WebCore::RenderWidget::updateWidgetPosition):
+
 2011-01-16  Martin Robinson  <mrobinson at igalia.com>
 
         Reviewed by Xan Lopez.
diff --git a/Source/WebCore/rendering/RenderWidget.cpp b/Source/WebCore/rendering/RenderWidget.cpp
index 056773a..22283a0 100644
--- a/Source/WebCore/rendering/RenderWidget.cpp
+++ b/Source/WebCore/rendering/RenderWidget.cpp
@@ -203,7 +203,7 @@ void RenderWidget::setWidget(PassRefPtr<Widget> widget)
         // style pointer).
         if (style()) {
             if (!needsLayout())
-                setWidgetGeometry(localToAbsoluteQuad(FloatQuad(contentBoxRect())).enclosingBoundingBox(), contentBoxRect().size());
+                setWidgetGeometry(IntRect(localToAbsoluteQuad(FloatQuad(contentBoxRect())).boundingBox()), contentBoxRect().size());
             if (style()->visibility() != VISIBLE)
                 m_widget->hide();
             else
@@ -344,8 +344,8 @@ void RenderWidget::updateWidgetPosition()
         return;
 
     IntRect contentBox = contentBoxRect();
-    IntRect absoluteContentBox = localToAbsoluteQuad(FloatQuad(contentBoxRect())).enclosingBoundingBox();
-    bool boundsChanged = setWidgetGeometry(absoluteContentBox, contentBoxRect().size());
+    IntRect absoluteContentBox = IntRect(localToAbsoluteQuad(FloatQuad(contentBox)).boundingBox());
+    bool boundsChanged = setWidgetGeometry(absoluteContentBox, contentBox.size());
 
     // if the frame bounds got changed, or if view needs layout (possibly indicating
     // content size is wrong) we have to do a layout to set the right widget size

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list