[Webkit-unassigned] [Bug 26342] Absolutely positioned HTML element within foreignObject of absolutely positioned SVG crashes Safari
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Sep 18 10:52:27 PDT 2009
https://bugs.webkit.org/show_bug.cgi?id=26342
Eric Seidel <eric at webkit.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #39760|review? |review-
Flag| |
--- Comment #16 from Eric Seidel <eric at webkit.org> 2009-09-18 10:52:26 PDT ---
(From update of attachment 39760)
I think that's still not quite right. I think you want to change the while
condition instead:
while (o && (o->style()->position() == StaticPosition || (o->isInline()
&& !o->isReplaced())) && !o->isRenderView() && !(o->hasTransform() &&
o->isRenderBlock())) {
Admittedly, I think that condition would be much clearer written as a bunch of
if statements in the while body, each calling "break" when true.
while (o)) {
if (o->isRenderView())
break;
if (o->hasTransform() && o->isRenderBlock())
break;
if (o->style()->position() != StaticPosition && (o->isReplaced() &&
!o->isInline())
break;
}
Not something you'd have to change, but looking at it, that loop is pretty
ugly/hard-to-read.
o->node()->hasTagName(SVGNames::foreignObjectTag)
is probably a bad check too. We should probably add a isForeignObject() to
RenderObject instead.
Anyway, another way to add what you want would be to just add:
if (o->isForeignObject())
break;
instead of needing to edit the existing if or while condition.
If this test is just trying to test the crash it can just be a dumpAsText()
test. If you need to test the positioning of the text, then you might need to
make it render tree test as you have.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list