[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:10:27 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 85051469fd52b8cf7fb05df4ee5a111bde8b085a
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sun Nov 9 22:30:20 2003 +0000
Fix for 3478309, make sure backgrounds paint in the border box and not just in the padding box.
Reviewed by darin
Also making sure that <frame>s aren't transparent, since other browsers seem to only make <iframe>s/<object>s
be transparent.
* khtml/rendering/render_box.cpp:
(RenderBox::paintRootBoxDecorations):
(RenderBox::paintBackgroundExtended):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index a4b89dd..6e49f45 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,16 @@
+2003-11-09 David Hyatt <hyatt at apple.com>
+
+ Fix for 3478309, make sure backgrounds paint in the border box and not just in the padding box.
+
+ Reviewed by darin
+
+ Also making sure that <frame>s aren't transparent, since other browsers seem to only make <iframe>s/<object>s
+ be transparent.
+
+ * khtml/rendering/render_box.cpp:
+ (RenderBox::paintRootBoxDecorations):
+ (RenderBox::paintBackgroundExtended):
+
2003-11-08 Darin Adler <darin at apple.com>
Reviewed by John.
diff --git a/WebCore/khtml/rendering/render_box.cpp b/WebCore/khtml/rendering/render_box.cpp
index bec65fd..965d48c 100644
--- a/WebCore/khtml/rendering/render_box.cpp
+++ b/WebCore/khtml/rendering/render_box.cpp
@@ -202,6 +202,7 @@ void RenderBox::paintRootBoxDecorations(QPainter *p,int, int _y,
QColor c = style()->backgroundColor();
CachedImage *bg = style()->backgroundImage();
+ bool canBeTransparent = true;
if (!c.isValid() && !bg) {
// Locate the <body> element using the DOM. This is easier than trying
// to crawl around a render tree with potential :before/:after content and
@@ -213,6 +214,10 @@ void RenderBox::paintRootBoxDecorations(QPainter *p,int, int _y,
bodyObject = elt->renderer();
break;
}
+ else if (elt->id() == ID_FRAMESET) {
+ canBeTransparent = false; // Can't scroll a frameset document anyway.
+ break;
+ }
}
if (bodyObject) {
@@ -224,7 +229,8 @@ 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 (element()->getDocument()->ownerElement())
+ 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.
else
c = canvas()->view()->palette().active().color(QColorGroup::Base);
@@ -349,18 +355,17 @@ void RenderBox::paintBackgroundExtended(QPainter *p, const QColor &c, CachedImag
cw += xPosition;
}
}
+ cx += bleft;
} else {
- cw = w-vpab;
+ cw = w;
cx = _tx;
- if(pixw == 0){
+ if (pixw == 0)
sx = 0;
- }else{
+ else
sx = pixw - ((sptr->backgroundXPosition().minWidth(pw-pixw)) % pixw );
- }
+ sx -= bleft % pixw;
}
- cx += bleft;
-
if( (bgr == NO_REPEAT || bgr == REPEAT_X) && h > pixh ) {
ch = pixh;
int yPosition = sptr->backgroundYPosition().minWidth(ph-pixh);
@@ -375,17 +380,18 @@ void RenderBox::paintBackgroundExtended(QPainter *p, const QColor &c, CachedImag
ch += yPosition;
}
}
+
+ cy += borderTop();
} else {
- ch = h-hpab;
+ ch = h;
cy = _ty;
if(pixh == 0){
sy = 0;
}else{
sy = pixh - ((sptr->backgroundYPosition().minWidth(ph-pixh)) % pixh );
}
+ sy -= borderTop() % pixh;
}
-
- cy += borderTop();
}
else
{
@@ -424,7 +430,7 @@ void RenderBox::paintBackgroundExtended(QPainter *p, const QColor &c, CachedImag
}
QRect fix(cx,cy,cw,ch);
- QRect ele(_tx+bleft,_ty+borderTop(),w-vpab,h-hpab);
+ QRect ele(_tx,_ty,w,h);
QRect b = fix.intersect(ele);
sx+=b.x()-cx;
sy+=b.y()-cy;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list