[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:56 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit e09891d67028b3bb64bb5ec555b08d63921d6802
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 31 01:27:11 2003 +0000
Fixes for 3469057, outlines not drawn on aintitcool.com and also for 3469178, objects with width/height of 0
incorrectly excluded from tabbing.
Reviewed by darin
* khtml/html/html_formimpl.cpp:
(HTMLGenericFormElementImpl::isSelectable):
* khtml/html/html_inlineimpl.cpp:
(HTMLAnchorElementImpl::isSelectable):
* khtml/rendering/render_flow.cpp:
(RenderFlow::getAbsoluteRepaintRect):
* khtml/rendering/render_inline.cpp:
(RenderInline::addFocusRingRects):
(RenderInline::paintOutline):
* khtml/rendering/render_object.cpp:
(RenderObject::addFocusRingRects):
(RenderObject::getAbsoluteRepaintRectWithOutline):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 0da9a62..0849100 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,23 @@
+2003-10-30 David Hyatt <hyatt at apple.com>
+
+ Fixes for 3469057, outlines not drawn on aintitcool.com and also for 3469178, objects with width/height of 0
+ incorrectly excluded from tabbing.
+
+ Reviewed by darin
+
+ * khtml/html/html_formimpl.cpp:
+ (HTMLGenericFormElementImpl::isSelectable):
+ * khtml/html/html_inlineimpl.cpp:
+ (HTMLAnchorElementImpl::isSelectable):
+ * khtml/rendering/render_flow.cpp:
+ (RenderFlow::getAbsoluteRepaintRect):
+ * khtml/rendering/render_inline.cpp:
+ (RenderInline::addFocusRingRects):
+ (RenderInline::paintOutline):
+ * khtml/rendering/render_object.cpp:
+ (RenderObject::addFocusRingRects):
+ (RenderObject::getAbsoluteRepaintRectWithOutline):
+
2003-10-30 Maciej Stachowiak <mjs at apple.com>
Reviewed by Darin.
diff --git a/WebCore/khtml/html/html_formimpl.cpp b/WebCore/khtml/html/html_formimpl.cpp
index f9f950c..8f0f62e 100644
--- a/WebCore/khtml/html/html_formimpl.cpp
+++ b/WebCore/khtml/html/html_formimpl.cpp
@@ -815,8 +815,7 @@ void HTMLGenericFormElementImpl::recalcStyle( StyleChange ch )
bool HTMLGenericFormElementImpl::isSelectable() const
{
- if (!m_render || m_render->width() == 0 || m_render->height() == 0 ||
- (m_render->style() && m_render->style()->visibility() != VISIBLE))
+ if (!m_render || (m_render->style() && m_render->style()->visibility() != VISIBLE))
return false;
if (m_render->isWidget()) {
return static_cast<RenderWidget*>(m_render)->widget() &&
diff --git a/WebCore/khtml/html/html_inlineimpl.cpp b/WebCore/khtml/html/html_inlineimpl.cpp
index ead0791..1eb6496 100644
--- a/WebCore/khtml/html/html_inlineimpl.cpp
+++ b/WebCore/khtml/html/html_inlineimpl.cpp
@@ -57,7 +57,6 @@ bool HTMLAnchorElementImpl::isSelectable() const
{
return m_hasAnchor &&
m_render &&
- (m_render->width() > 0 && m_render->height() > 0) &&
m_render->style() && m_render->style()->visibility() == VISIBLE;
}
diff --git a/WebCore/khtml/rendering/render_flow.cpp b/WebCore/khtml/rendering/render_flow.cpp
index 142c591..58b0ecd 100644
--- a/WebCore/khtml/rendering/render_flow.cpp
+++ b/WebCore/khtml/rendering/render_flow.cpp
@@ -265,6 +265,11 @@ QRect RenderFlow::getAbsoluteRepaintRect()
r = r.unite(childRect);
}
}
+
+ if (continuation() && !continuation()->isInline()) {
+ QRect contRect = continuation()->getAbsoluteRepaintRectWithOutline(ow);
+ r = r.unite(contRect);
+ }
}
return r;
diff --git a/WebCore/khtml/rendering/render_inline.cpp b/WebCore/khtml/rendering/render_inline.cpp
index 2984fbd..9eecd49 100644
--- a/WebCore/khtml/rendering/render_inline.cpp
+++ b/WebCore/khtml/rendering/render_inline.cpp
@@ -312,13 +312,18 @@ void RenderInline::addFocusRingRects(QPainter *p, int _tx, int _ty)
for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
if (!curr->isText())
curr->addFocusRingRects(p, _tx + curr->xPos(), _ty + curr->yPos());
- }
+ }
+
+ if (continuation())
+ continuation()->addFocusRingRects(p,
+ _tx - containingBlock()->xPos() + continuation()->xPos(),
+ _ty - containingBlock()->yPos() + continuation()->yPos());
}
void RenderInline::paintOutline(QPainter *p, int tx, int ty, const QRect &lastline, const QRect &thisline, const QRect &nextline)
{
int ow = style()->outlineWidth();
- if (ow == 0)
+ if (ow == 0 || m_isContinuation) // Continuations get painted by the original inline.
return;
EBorderStyle os = style()->outlineStyle();
diff --git a/WebCore/khtml/rendering/render_object.cpp b/WebCore/khtml/rendering/render_object.cpp
index 7c219c8..5ae6499 100644
--- a/WebCore/khtml/rendering/render_object.cpp
+++ b/WebCore/khtml/rendering/render_object.cpp
@@ -904,7 +904,17 @@ void RenderObject::paintBorder(QPainter *p, int _tx, int _ty, int w, int h, cons
void RenderObject::addFocusRingRects(QPainter *p, int _tx, int _ty)
{
- p->addFocusRingRect(_tx, _ty, width(), height());
+ // For blocks inside inlines, we go ahead and include margins so that we run right up to the
+ // inline boxes above and below us (thus getting merged with them to form a single irregular
+ // shape).
+ if (continuation()) {
+ p->addFocusRingRect(_tx, _ty - collapsedMarginTop(), width(), height()+collapsedMarginTop()+collapsedMarginBottom());
+ continuation()->addFocusRingRects(p,
+ _tx - xPos() + continuation()->containingBlock()->xPos(),
+ _ty - yPos() + continuation()->containingBlock()->yPos());
+ }
+ else
+ p->addFocusRingRect(_tx, _ty, width(), height());
}
void RenderObject::paintOutline(QPainter *p, int _tx, int _ty, int w, int h, const RenderStyle* style)
@@ -1040,6 +1050,9 @@ QRect RenderObject::getAbsoluteRepaintRectWithOutline(int ow)
QRect r(getAbsoluteRepaintRect());
r.setRect(r.x()-eow, r.y()-eow, r.width()+eow*2, r.height()+eow*2);
+ if (continuation() && !isInline())
+ r.setRect(r.x(), r.y()-collapsedMarginTop(), r.width(), r.height()+collapsedMarginTop()+collapsedMarginBottom());
+
if (isInlineFlow()) {
for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
if (!curr->isText()) {
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list