[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:17:23 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 6f3afc3a187fab0a7449073f3e8b6ac301abccf2
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Dec 10 00:29:03 2003 +0000

    	Fix for mojibake bg painting problem on bofa.com.  The bug # is 3487144.  Transparent colors were not
    	being handled properly when specified on the body.
    
            Reviewed by darin
    
            * khtml/rendering/render_box.cpp:
            (RenderBox::paintRootBoxDecorations):
            (RenderBox::paintBackgroundExtended):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5735 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index a6f61dc..b1b42d5 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,14 @@
+2003-12-09  David Hyatt  <hyatt at apple.com>
+
+	Fix for mojibake bg painting problem on bofa.com.  The bug # is 3487144.  Transparent colors were not
+	being handled properly when specified on the body.
+	
+        Reviewed by darin
+
+        * khtml/rendering/render_box.cpp:
+        (RenderBox::paintRootBoxDecorations):
+        (RenderBox::paintBackgroundExtended):
+
 2003-12-09  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
diff --git a/WebCore/khtml/rendering/render_box.cpp b/WebCore/khtml/rendering/render_box.cpp
index 2bbb8ae..1332b5c 100644
--- a/WebCore/khtml/rendering/render_box.cpp
+++ b/WebCore/khtml/rendering/render_box.cpp
@@ -218,7 +218,7 @@ void RenderBox::paintRootBoxDecorations(QPainter *p,int, int _y,
 
     // Only fill with a base color (e.g., white) if we're the root document, since iframes/frames with
     // no background in the child document should show the parent's background.
-    if (!c.isValid() && canvas()->view()) {
+    if ((!c.isValid() || qAlpha(c.rgb()) == 0) && canvas()->view()) {
         DOM::NodeImpl* elt = element()->getDocument()->ownerElement();
         if (canBeTransparent && elt && elt->id() != ID_FRAME) // Frames are never transparent.
             canvas()->view()->useSlowRepaints(); // The parent must show behind the child.
@@ -300,8 +300,14 @@ void RenderBox::paintBackgroundExtended(QPainter *p, const QColor &c, CachedImag
                                         int _tx, int _ty, int w, int h,
                                         int bleft, int bright)
 {
-    if (c.isValid() && qAlpha(c.rgb()) > 0)
+    if (c.isValid() && qAlpha(c.rgb()) > 0) {
+        // If we have an alpha and we are painting the root element, go ahead and blend with our default
+        // background color (typically white).
+        if (qAlpha(c.rgb()) < 0xFF && isRoot())
+            p->fillRect(_tx, clipy, w, cliph, canvas()->view()->palette().active().color(QColorGroup::Base));
         p->fillRect(_tx, clipy, w, cliph, c);
+    }
+    
     // no progressive loading of the background image
     if(bg && bg->pixmap_size() == bg->valid_rect().size() && !bg->isTransparent() && !bg->isErrorImage()) {
         //kdDebug( 6040 ) << "painting bgimage at " << _tx << "/" << _ty << endl;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list