[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 06:38:28 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit c64a61addf5196811fe94ca4e4f80b08209dc49f
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 12 19:05:51 2002 +0000

    	Fix the Warcraft 3 page on blizzard.com so that the relative
    	positioned blocks inside centered tables inside enclosing tables
    	with percentage widths work correctly.
    
    	This fix also causes the textfields on mrskin.com to show up
    	again.
    
            * khtml/rendering/render_box.cpp:
            (RenderBox::RenderBox):
            (RenderBox::setPos):
            * khtml/rendering/render_box.h:
            * khtml/rendering/render_container.cpp:
            (RenderContainer::addChild):
            * khtml/rendering/render_layer.cpp:
            (RenderLayer::constructZTree):
            * khtml/rendering/render_object.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2047 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 95b6fe8..57e8a71 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,22 @@
+2002-09-12  David Hyatt  <hyatt at apple.com>
+
+	Fix the Warcraft 3 page on blizzard.com so that the relative
+	positioned blocks inside centered tables inside enclosing tables
+	with percentage widths work correctly.
+
+	This fix also causes the textfields on mrskin.com to show up
+	again.
+	
+        * khtml/rendering/render_box.cpp:
+        (RenderBox::RenderBox):
+        (RenderBox::setPos):
+        * khtml/rendering/render_box.h:
+        * khtml/rendering/render_container.cpp:
+        (RenderContainer::addChild):
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+        * khtml/rendering/render_object.h:
+
 2002-09-11  Maciej Stachowiak  <mjs at apple.com>
 
 	Don't show the window here any more, now that WebBrowser will set
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 95b6fe8..57e8a71 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,22 @@
+2002-09-12  David Hyatt  <hyatt at apple.com>
+
+	Fix the Warcraft 3 page on blizzard.com so that the relative
+	positioned blocks inside centered tables inside enclosing tables
+	with percentage widths work correctly.
+
+	This fix also causes the textfields on mrskin.com to show up
+	again.
+	
+        * khtml/rendering/render_box.cpp:
+        (RenderBox::RenderBox):
+        (RenderBox::setPos):
+        * khtml/rendering/render_box.h:
+        * khtml/rendering/render_container.cpp:
+        (RenderContainer::addChild):
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+        * khtml/rendering/render_object.h:
+
 2002-09-11  Maciej Stachowiak  <mjs at apple.com>
 
 	Don't show the window here any more, now that WebBrowser will set
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 95b6fe8..57e8a71 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,22 @@
+2002-09-12  David Hyatt  <hyatt at apple.com>
+
+	Fix the Warcraft 3 page on blizzard.com so that the relative
+	positioned blocks inside centered tables inside enclosing tables
+	with percentage widths work correctly.
+
+	This fix also causes the textfields on mrskin.com to show up
+	again.
+	
+        * khtml/rendering/render_box.cpp:
+        (RenderBox::RenderBox):
+        (RenderBox::setPos):
+        * khtml/rendering/render_box.h:
+        * khtml/rendering/render_container.cpp:
+        (RenderContainer::addChild):
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+        * khtml/rendering/render_object.h:
+
 2002-09-11  Maciej Stachowiak  <mjs at apple.com>
 
 	Don't show the window here any more, now that WebBrowser will set
diff --git a/WebCore/khtml/rendering/render_box.cpp b/WebCore/khtml/rendering/render_box.cpp
index d1a2ee7..c122a53 100644
--- a/WebCore/khtml/rendering/render_box.cpp
+++ b/WebCore/khtml/rendering/render_box.cpp
@@ -57,7 +57,6 @@ RenderBox::RenderBox(DOM::NodeImpl* node)
     m_marginLeft = 0;
     m_marginRight = 0;
     m_layer = 0;
-    m_hasChildLayers = false;
 }
 
 void RenderBox::setStyle(RenderStyle *_style)
@@ -122,20 +121,6 @@ void RenderBox::setPos( int xPos, int yPos )
     m_x = xPos; m_y = yPos;
     if (m_layer)
         m_layer->updateLayerPosition();
-    else if (m_hasChildLayers)
-        // We don't have a layer, but we have children whose positions need to
-        // be updated.  Crawl into our frame tree, find those views, and
-        // reposition the children.
-        positionChildLayers();
-}
-
-void RenderBox::positionChildLayers()
-{
-    if (m_layer)
-        m_layer->updateLayerPosition();
-    else
-        for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling())
-            curr->positionChildLayers();
 }
 
 short RenderBox::width() const
diff --git a/WebCore/khtml/rendering/render_box.h b/WebCore/khtml/rendering/render_box.h
index 5e76358..213c3a3 100644
--- a/WebCore/khtml/rendering/render_box.h
+++ b/WebCore/khtml/rendering/render_box.h
@@ -102,18 +102,7 @@ public:
     void relativePositionOffset(int &tx, int &ty);
 
     virtual RenderLayer* layer() const { return m_layer; }
-    virtual bool hasChildLayers() const { return m_hasChildLayers; }
-    virtual void setHasChildLayers(bool hasLayers) {
-        if (m_hasChildLayers == hasLayers)
-            return;
-        
-        m_hasChildLayers = hasLayers;
-
-        if (parent() && hasLayers)
-            parent()->setHasChildLayers(hasLayers);
-    }
-    virtual void positionChildLayers();
-
+    
 protected:
     virtual void printBoxDecorations(QPainter *p,int _x, int _y,
                                        int _w, int _h, int _tx, int _ty);
diff --git a/WebCore/khtml/rendering/render_container.cpp b/WebCore/khtml/rendering/render_container.cpp
index ad5bd12..406beab 100644
--- a/WebCore/khtml/rendering/render_container.cpp
+++ b/WebCore/khtml/rendering/render_container.cpp
@@ -136,11 +136,8 @@ void RenderContainer::addChild(RenderObject *newChild, RenderObject *beforeChild
     newChild->setMinMaxKnown( false );
 
     // Keep our layer hierarchy updated.
-    if (newChild->layer()) {
+    if (newChild->layer())
         enclosingLayer()->addChild(newChild->layer());
-        if (!newChild->isPositioned())
-            setHasChildLayers(true);
-    }
 }
 
 RenderObject* RenderContainer::removeChildNode(RenderObject* oldChild)
diff --git a/WebCore/khtml/rendering/render_layer.cpp b/WebCore/khtml/rendering/render_layer.cpp
index 59d8b65..02cea13 100644
--- a/WebCore/khtml/rendering/render_layer.cpp
+++ b/WebCore/khtml/rendering/render_layer.cpp
@@ -256,6 +256,11 @@ RenderLayer::constructZTree(QRect damageRect,
     // damage rect and avoid repainting the layer if it falls outside that rect.
     // An exception to this rule is the root layer, which always paints (hence the
     // m_parent null check below).
+    if (!m_object->isPositioned())
+        updateLayerPosition(); // For relpositioned layers or non-positioned layers,
+                               // we need to keep in sync, since we may have shifted relative
+                               // to our parent layer.
+                               
     int x = 0;
     int y = 0;
     convertToLayerCoords(rootLayer, x, y);
diff --git a/WebCore/khtml/rendering/render_object.h b/WebCore/khtml/rendering/render_object.h
index 436585c..a6caab3 100644
--- a/WebCore/khtml/rendering/render_object.h
+++ b/WebCore/khtml/rendering/render_object.h
@@ -87,7 +87,6 @@ public:
 
     virtual RenderLayer* layer() const { return 0; }
     virtual RenderLayer* enclosingLayer() { return 0; }
-    virtual bool hasChildLayers() const { return false; }
     virtual void setHasChildLayers(bool hasLayers) { }
     virtual void positionChildLayers() { }
     

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list