[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:07:53 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 5146de812f4bf3b2a74b4dd2279dd86c1be3771e
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 31 00:11:44 2003 +0000
Fix for 3468916, outline needs its own paint action so that focus rings don't draw under other content.
Reviewed by kocienda
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::paintObject):
(khtml::RenderBlock::paintFloats):
* khtml/rendering/render_image.cpp:
(RenderImage::paintObject):
* khtml/rendering/render_inline.cpp:
(RenderInline::paintObject):
* khtml/rendering/render_layer.cpp:
(RenderLayer::paintLayer):
* khtml/rendering/render_object.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 07503fd..bd82b35 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,20 @@
+2003-10-30 David Hyatt <hyatt at apple.com>
+
+ Fix for 3468916, outline needs its own paint action so that focus rings don't draw under other content.
+
+ Reviewed by kocienda
+
+ * khtml/rendering/render_block.cpp:
+ (khtml::RenderBlock::paintObject):
+ (khtml::RenderBlock::paintFloats):
+ * khtml/rendering/render_image.cpp:
+ (RenderImage::paintObject):
+ * khtml/rendering/render_inline.cpp:
+ (RenderInline::paintObject):
+ * khtml/rendering/render_layer.cpp:
+ (RenderLayer::paintLayer):
+ * khtml/rendering/render_object.h:
+
2003-10-30 Maciej Stachowiak <mjs at apple.com>
Fixed Dave's fix to my fix to my fix:
diff --git a/WebCore/khtml/rendering/render_block.cpp b/WebCore/khtml/rendering/render_block.cpp
index 07542f2..ec26d55 100644
--- a/WebCore/khtml/rendering/render_block.cpp
+++ b/WebCore/khtml/rendering/render_block.cpp
@@ -1213,7 +1213,7 @@ void RenderBlock::paintObject(QPainter *p, int _x, int _y,
paintFloats(p, _x, _y, _w, _h, scrolledX, scrolledY, paintAction == PaintActionSelection);
// 4. paint outline.
- if (!inlineFlow && paintAction == PaintActionForeground &&
+ if (!inlineFlow && paintAction == PaintActionOutline &&
style()->outlineWidth() && style()->visibility() == VISIBLE)
paintOutline(p, _tx, _ty, width(), height(), style());
@@ -1263,6 +1263,10 @@ void RenderBlock::paintFloats(QPainter *p, int _x, int _y,
_tx + r->left - r->node->xPos() + r->node->marginLeft(),
_ty + r->startY - r->node->yPos() + r->node->marginTop(),
PaintActionForeground);
+ r->node->paint(p, _x, _y, _w, _h,
+ _tx + r->left - r->node->xPos() + r->node->marginLeft(),
+ _ty + r->startY - r->node->yPos() + r->node->marginTop(),
+ PaintActionOutline);
}
}
}
diff --git a/WebCore/khtml/rendering/render_image.cpp b/WebCore/khtml/rendering/render_image.cpp
index 067873d..28c5a4f 100644
--- a/WebCore/khtml/rendering/render_image.cpp
+++ b/WebCore/khtml/rendering/render_image.cpp
@@ -194,6 +194,9 @@ void RenderImage::setPixmap( const QPixmap &p, const QRect& r, CachedImage *o)
void RenderImage::paintObject(QPainter *p, int /*_x*/, int /*_y*/, int /*_w*/, int /*_h*/, int _tx, int _ty, PaintAction paintAction)
{
+ if (paintAction == PaintActionOutline && style()->outlineWidth() && style()->visibility() == VISIBLE)
+ paintOutline(p, _tx, _ty, width(), height(), style());
+
if (paintAction != PaintActionForeground)
return;
@@ -350,8 +353,6 @@ void RenderImage::paintObject(QPainter *p, int /*_x*/, int /*_y*/, int /*_w*/, i
}
}
- if(style()->outlineWidth() && style()->visibility() == VISIBLE)
- paintOutline(p, _tx, _ty, width(), height(), style());
}
void RenderImage::layout()
diff --git a/WebCore/khtml/rendering/render_inline.cpp b/WebCore/khtml/rendering/render_inline.cpp
index dae3f5b..2984fbd 100644
--- a/WebCore/khtml/rendering/render_inline.cpp
+++ b/WebCore/khtml/rendering/render_inline.cpp
@@ -294,7 +294,7 @@ void RenderInline::paintObject(QPainter *p, int _x, int _y,
}
paintLineBoxDecorations(p, _x, _y, _w, _h, _tx, _ty, paintAction);
- if (style()->visibility() == VISIBLE && paintAction == PaintActionForeground) {
+ if (style()->visibility() == VISIBLE && paintAction == PaintActionOutline) {
QRect r(_x, _y, _w, _h);
paintOutline(p, _tx, _ty, r, r, r);
}
diff --git a/WebCore/khtml/rendering/render_layer.cpp b/WebCore/khtml/rendering/render_layer.cpp
index 19bdb9c..32070f4 100644
--- a/WebCore/khtml/rendering/render_layer.cpp
+++ b/WebCore/khtml/rendering/render_layer.cpp
@@ -794,6 +794,9 @@ RenderLayer::paintLayer(RenderLayer* rootLayer, QPainter *p,
renderer()->paint(p, clipRectToApply.x(), clipRectToApply.y(),
clipRectToApply.width(), clipRectToApply.height(),
x - renderer()->xPos(), y - renderer()->yPos(), PaintActionForeground);
+ renderer()->paint(p, clipRectToApply.x(), clipRectToApply.y(),
+ clipRectToApply.width(), clipRectToApply.height(),
+ x - renderer()->xPos(), y - renderer()->yPos(), PaintActionOutline);
}
// Now restore our clip.
diff --git a/WebCore/khtml/rendering/render_object.h b/WebCore/khtml/rendering/render_object.h
index 1a0a00e..ebfbfa5 100644
--- a/WebCore/khtml/rendering/render_object.h
+++ b/WebCore/khtml/rendering/render_object.h
@@ -71,6 +71,7 @@ typedef enum {
PaintActionChildBackgrounds,
PaintActionFloat,
PaintActionForeground,
+ PaintActionOutline,
PaintActionSelection,
PaintActionCollapsedTableBorders
} PaintAction;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list