[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 07:41:44 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit e07b1ff86f956201f448afe233903d7a465e994a
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun May 11 19:15:00 2003 +0000

    	The root element (HTML) tries to set itself to the lowest position
    	of the canvas, before the canvas has necessarily even determined
    	the correct lowest position.  This creates a timing problem.
    
    	This code is legacy code anyyway, left over from before KHTML
    	understood about overflow.  The HTML should not be resizing itself
    	to enclose positioned content or floats.  They should just spill
    	out of the HTML object, so the fix is easy: kill the legacy code.
    
    	There's a second fix required as well, which is to make the canvas
    	avoid scanning its positioned objects list when computing its
    	lowest and rightmost position.  Fixed positioned objects can't
    	be scrolled, so it's incorrect to show scrollbars because of
    	fixed positioned objects (since they are locked to the viewport).
    
            Reviewed by darin/gramps
    
            * khtml/rendering/render_block.cpp:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 64eab84..aaa283b 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,24 @@
+2003-05-11  David Hyatt  <hyatt at apple.com>
+
+	The root element (HTML) tries to set itself to the lowest position
+	of the canvas, before the canvas has necessarily even determined
+	the correct lowest position.  This creates a timing problem.
+
+	This code is legacy code anyyway, left over from before KHTML
+	understood about overflow.  The HTML should not be resizing itself
+	to enclose positioned content or floats.  They should just spill
+	out of the HTML object, so the fix is easy: kill the legacy code.
+	
+	There's a second fix required as well, which is to make the canvas
+	avoid scanning its positioned objects list when computing its
+	lowest and rightmost position.  Fixed positioned objects can't
+	be scrolled, so it's incorrect to show scrollbars because of
+	fixed positioned objects (since they are locked to the viewport).
+	
+        Reviewed by darin/gramps
+
+        * khtml/rendering/render_block.cpp:
+
 2003-05-11  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
@@ -9,6 +30,7 @@
         nodes at each level of the tree, so our recursion is O(depth of tree) rather
         than O(size of tree).
 
+>>>>>>> 1.1706
 2003-05-10  David Hyatt  <hyatt at apple.com>
 
 	Fix the misrendering at the top of cnn.com (the extra tearing
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 64eab84..aaa283b 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,24 @@
+2003-05-11  David Hyatt  <hyatt at apple.com>
+
+	The root element (HTML) tries to set itself to the lowest position
+	of the canvas, before the canvas has necessarily even determined
+	the correct lowest position.  This creates a timing problem.
+
+	This code is legacy code anyyway, left over from before KHTML
+	understood about overflow.  The HTML should not be resizing itself
+	to enclose positioned content or floats.  They should just spill
+	out of the HTML object, so the fix is easy: kill the legacy code.
+	
+	There's a second fix required as well, which is to make the canvas
+	avoid scanning its positioned objects list when computing its
+	lowest and rightmost position.  Fixed positioned objects can't
+	be scrolled, so it's incorrect to show scrollbars because of
+	fixed positioned objects (since they are locked to the viewport).
+	
+        Reviewed by darin/gramps
+
+        * khtml/rendering/render_block.cpp:
+
 2003-05-11  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
@@ -9,6 +30,7 @@
         nodes at each level of the tree, so our recursion is O(depth of tree) rather
         than O(size of tree).
 
+>>>>>>> 1.1706
 2003-05-10  David Hyatt  <hyatt at apple.com>
 
 	Fix the misrendering at the top of cnn.com (the extra tearing
diff --git a/WebCore/khtml/rendering/render_block.cpp b/WebCore/khtml/rendering/render_block.cpp
index a1706af..e8d261d 100644
--- a/WebCore/khtml/rendering/render_block.cpp
+++ b/WebCore/khtml/rendering/render_block.cpp
@@ -530,24 +530,6 @@ void RenderBlock::layoutBlock(bool relayoutChildren)
         m_layer->checkScrollbarsAfterLayout();
     
     setNeedsLayout(false);
-
-    if (isRoot()) {
-        //kdDebug(0) << renderName() << " height = " << m_height << endl;
-        RenderObject *r = canvas();
-        int lp = r ? r->lowestPosition() : lowestPosition();
-
-        // margins of Html element can only be fixed, right?
-        int margins  = style()->marginTop().isFixed() ? style()->marginTop().value : 0;
-        margins += style()->marginBottom().isFixed() ? style()->marginBottom().value : 0;
-
-        if( m_height + margins < lp )
-            m_height = lp - margins;
-
-        m_layer->setHeight(m_height);
-        m_layer->setWidth(m_width);
-
-        //kdDebug(0) << "docHeight = " << m_height << endl;
-    }
 }
 
 void RenderBlock::layoutBlockChildren( bool relayoutChildren )
@@ -1521,7 +1503,9 @@ RenderBlock::lowestPosition(bool includeOverflowInterior) const
         }
     }
 
-    if (m_positionedObjects) {
+    // Fixed positioned objects do not scroll and thus should not constitute
+    // part of the lowest position.
+    if (m_positionedObjects && !isCanvas()) {
         RenderObject* r;
         QPtrListIterator<RenderObject> it(*m_positionedObjects);
         for ( ; (r = it.current()); ++it ) {
@@ -1552,7 +1536,7 @@ int RenderBlock::rightmostPosition(bool includeOverflowInterior) const
         }
     }
 
-    if (m_positionedObjects) {
+    if (m_positionedObjects && !isCanvas()) {
         RenderObject* r;
         QPtrListIterator<RenderObject> it(*m_positionedObjects);
         for ( ; (r = it.current()); ++it ) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list