[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:34:32 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 42e1455ae0bb81f27e35b575f7fc5d591253fba7
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Apr 16 01:07:35 2004 +0000

    	Fix for 3624335, bugs with overflow and positioned objects.  The scrollbar didn't properly update
    	as you changed the sizes of positioned objects inside an overflow block.
    
            Reviewed by rjw
    
            * khtml/rendering/render_block.cpp:
            (khtml::RenderBlock::layoutBlock):
            * khtml/rendering/render_flexbox.cpp:
            (khtml::RenderFlexibleBox::layoutBlock):
            * khtml/rendering/render_layer.cpp:
            (RenderLayer::updateScrollInfoAfterLayout):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index c45c500..efdc34f 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,17 @@
+2004-04-15  David Hyatt  <hyatt at apple.com>
+
+	Fix for 3624335, bugs with overflow and positioned objects.  The scrollbar didn't properly update
+	as you changed the sizes of positioned objects inside an overflow block.
+	
+        Reviewed by rjw
+
+        * khtml/rendering/render_block.cpp:
+        (khtml::RenderBlock::layoutBlock):
+        * khtml/rendering/render_flexbox.cpp:
+        (khtml::RenderFlexibleBox::layoutBlock):
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::updateScrollInfoAfterLayout):
+
 2004-04-15  Ken Kocienda  <kocienda at apple.com>
 
         Reviewed by Dave
diff --git a/WebCore/khtml/rendering/render_block.cpp b/WebCore/khtml/rendering/render_block.cpp
index 52e7240..70cb877 100644
--- a/WebCore/khtml/rendering/render_block.cpp
+++ b/WebCore/khtml/rendering/render_block.cpp
@@ -376,6 +376,8 @@ void RenderBlock::layoutBlock(bool relayoutChildren)
     if (!relayoutChildren && posChildNeedsLayout() && !normalChildNeedsLayout() && !selfNeedsLayout()) {
         // All we have to is lay out our positioned objects.
         layoutPositionedObjects(relayoutChildren);
+        if (hasOverflowClip())
+            m_layer->updateScrollInfoAfterLayout();
         setNeedsLayout(false);
         return;
     }
diff --git a/WebCore/khtml/rendering/render_flexbox.cpp b/WebCore/khtml/rendering/render_flexbox.cpp
index e05388e..fe3ed35 100644
--- a/WebCore/khtml/rendering/render_flexbox.cpp
+++ b/WebCore/khtml/rendering/render_flexbox.cpp
@@ -246,6 +246,8 @@ void RenderFlexibleBox::layoutBlock(bool relayoutChildren)
     if (!relayoutChildren && posChildNeedsLayout() && !normalChildNeedsLayout() && !selfNeedsLayout()) {
         // All we have to is lay out our positioned objects.
         layoutPositionedObjects(relayoutChildren);
+        if (hasOverflowClip())
+            m_layer->updateScrollInfoAfterLayout();
         setNeedsLayout(false);
         return;
     }
diff --git a/WebCore/khtml/rendering/render_layer.cpp b/WebCore/khtml/rendering/render_layer.cpp
index b589e6e..39279d9 100644
--- a/WebCore/khtml/rendering/render_layer.cpp
+++ b/WebCore/khtml/rendering/render_layer.cpp
@@ -668,6 +668,9 @@ RenderLayer::updateScrollInfoAfterLayout()
         m_hBar->setKnobProportion(clientWidth, m_scrollWidth);
 #else
         m_hBar->setRange(0, m_scrollWidth-clientWidth);
+        m_object->repaintRectangle(QRect(m_object->borderLeft(), m_object->borderTop() + clientHeight(),
+                                   horizontalScrollbarHeight(),
+                                   m_object->width() - m_object->borderLeft() - m_object->borderRight()));
 #endif
     }
     if (m_vBar) {
@@ -680,7 +683,12 @@ RenderLayer::updateScrollInfoAfterLayout()
 #else
         m_vBar->setRange(0, m_scrollHeight-clientHeight);
 #endif
+        m_object->repaintRectangle(QRect(m_object->borderLeft() + m_object->clientWidth(),
+                                   m_object->borderTop(), verticalScrollbarWidth(), 
+                                   m_object->height() - m_object->borderTop() - m_object->borderBottom()));
     }
+    
+    m_object->repaint();
 }
 
 #if APPLE_CHANGES

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list