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

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:22:43 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit ce985df59d29bb5c385725fa52beda639828863e
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 30 00:23:21 2003 +0000

            Reviewed by Dave.
    
            - fixed 3150439 -- navigating to a .xml, then away, then back causes display problems
    
            * khtml/rendering/render_root.h: Add paintBoxDecorations
            * khtml/rendering/render_root.cpp: (RenderRoot::paintObject):
            Call paintBoxDecorations all the time. Don't consult shouldPaintBackgroundOrBorder(),
            and don't waste cycles on !isInline().
            (RenderRoot::paintBoxDecorations): If we don't have a RenderHtml as our first child,
            then fill with the background color.
    
            * khtml/html/htmlparser.cpp: (KHTMLParser::finished): Remove code that makes an HTML
            element for an empty document. We don't need it any more.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3498 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 2e0aa11..1711899 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,19 @@
+2003-01-29  Darin Adler  <darin at apple.com>
+
+        Reviewed by Dave.
+
+        - fixed 3150439 -- navigating to a .xml, then away, then back causes display problems
+
+        * khtml/rendering/render_root.h: Add paintBoxDecorations
+        * khtml/rendering/render_root.cpp: (RenderRoot::paintObject):
+        Call paintBoxDecorations all the time. Don't consult shouldPaintBackgroundOrBorder(),
+        and don't waste cycles on !isInline().
+        (RenderRoot::paintBoxDecorations): If we don't have a RenderHtml as our first child,
+        then fill with the background color.
+
+        * khtml/html/htmlparser.cpp: (KHTMLParser::finished): Remove code that makes an HTML
+        element for an empty document. We don't need it any more.
+
 2003-01-29  David Hyatt  <hyatt at apple.com>
 
 	Fix for tables.  They weren't initializing their max top/bottom
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 2e0aa11..1711899 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,19 @@
+2003-01-29  Darin Adler  <darin at apple.com>
+
+        Reviewed by Dave.
+
+        - fixed 3150439 -- navigating to a .xml, then away, then back causes display problems
+
+        * khtml/rendering/render_root.h: Add paintBoxDecorations
+        * khtml/rendering/render_root.cpp: (RenderRoot::paintObject):
+        Call paintBoxDecorations all the time. Don't consult shouldPaintBackgroundOrBorder(),
+        and don't waste cycles on !isInline().
+        (RenderRoot::paintBoxDecorations): If we don't have a RenderHtml as our first child,
+        then fill with the background color.
+
+        * khtml/html/htmlparser.cpp: (KHTMLParser::finished): Remove code that makes an HTML
+        element for an empty document. We don't need it any more.
+
 2003-01-29  David Hyatt  <hyatt at apple.com>
 
 	Fix for tables.  They weren't initializing their max top/bottom
diff --git a/WebCore/khtml/html/htmlparser.cpp b/WebCore/khtml/html/htmlparser.cpp
index 1162b0f..4761e64 100644
--- a/WebCore/khtml/html/htmlparser.cpp
+++ b/WebCore/khtml/html/htmlparser.cpp
@@ -1346,14 +1346,6 @@ void KHTMLParser::startBody()
 
 void KHTMLParser::finished()
 {
-    // Make an HTML element for the case of an otherwise-empty document.
-    // This works around the fact that the RenderRoot doesn't itself do any drawing.
-    // In the long run, it might be better to fix the render tree so that the background
-    // is drawn even without an element below the root, since that will work for the XML case
-    // too, not just the HTML case.
-    if (doc() && !doc()->firstChild())
-        insertNode(new HTMLHtmlElementImpl(document));
-    
     // This ensures that "current" is not left pointing to a node when the document is destroyed.
     freeBlock();
     current = 0;
diff --git a/WebCore/khtml/rendering/render_root.cpp b/WebCore/khtml/rendering/render_root.cpp
index 095f9b8..1d64d68 100644
--- a/WebCore/khtml/rendering/render_root.cpp
+++ b/WebCore/khtml/rendering/render_root.cpp
@@ -199,7 +199,7 @@ void RenderRoot::paintObject(QPainter *p, int _x, int _y,
     kdDebug( 6040 ) << renderName() << "(RenderFlow) " << this << " ::paintObject() w/h = (" << width() << "/" << height() << ")" << endl;
 #endif
     // 1. paint background, borders etc
-    if (paintAction == PaintActionBackground && shouldPaintBackgroundOrBorder() && !isInline())
+    if (paintAction == PaintActionBackground)
         paintBoxDecorations(p, _x, _y, _w, _h, _tx, _ty);
 
     // 2. paint contents
@@ -227,6 +227,19 @@ void RenderRoot::paintObject(QPainter *p, int _x, int _y,
 
 }
 
+void RenderRoot::paintBoxDecorations(QPainter *p, int x, int y, int w, int h, int tx, int ty)
+{
+    // For now, this function is only used when we don't have an
+    // HTML object inside us, for plain XML for example. Eventually,
+    // we probably want to remove RenderHtml::paintBoxDecorations,
+    // and do all the work here instead.
+
+    if ((firstChild() && firstChild()->isHtml()) || !view()) {
+        return;
+    }
+
+    p->fillRect(x, y, w, h, view()->palette().active().color(QColorGroup::Base));
+}
 
 void RenderRoot::repaintRectangle(int x, int y, int w, int h, bool immediate, bool f)
 {
diff --git a/WebCore/khtml/rendering/render_root.h b/WebCore/khtml/rendering/render_root.h
index 061fde3..b57ab69 100644
--- a/WebCore/khtml/rendering/render_root.h
+++ b/WebCore/khtml/rendering/render_root.h
@@ -58,6 +58,7 @@ public:
                        PaintAction paintAction);
     void paintObject(QPainter *p, int _x, int _y,
                      int _w, int _h, int _tx, int _ty, PaintAction paintAction);
+    virtual void paintBoxDecorations(QPainter *, int x, int y, int w, int h, int tx, int ty);
 
     virtual void setSelection(RenderObject *s, int sp, RenderObject *e, int ep);
     virtual void clearSelection(bool doRepaint=true);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list