Title: [120732] trunk/Source/WebCore
- Revision
- 120732
- Author
- [email protected]
- Date
- 2012-06-19 10:55:23 -0700 (Tue, 19 Jun 2012)
Log Message
Wrong repaintContainerSkipped in RenderObject::container()
when positioned objects are enclosed in a <foreignObject>.
https://bugs.webkit.org/show_bug.cgi?id=89384
Reviewed by Simon Fraser.
No new tests. The bug was found in a code audit.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::container):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (120731 => 120732)
--- trunk/Source/WebCore/ChangeLog 2012-06-19 17:43:22 UTC (rev 120731)
+++ trunk/Source/WebCore/ChangeLog 2012-06-19 17:55:23 UTC (rev 120732)
@@ -1,5 +1,18 @@
2012-06-19 Abhishek Arya <[email protected]>
+ Wrong repaintContainerSkipped in RenderObject::container()
+ when positioned objects are enclosed in a <foreignObject>.
+ https://bugs.webkit.org/show_bug.cgi?id=89384
+
+ Reviewed by Simon Fraser.
+
+ No new tests. The bug was found in a code audit.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::container):
+
+2012-06-19 Abhishek Arya <[email protected]>
+
Crash in WebCore::RenderSVGModelObject::checkIntersection
https://bugs.webkit.org/show_bug.cgi?id=89059
Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (120731 => 120732)
--- trunk/Source/WebCore/rendering/RenderObject.cpp 2012-06-19 17:43:22 UTC (rev 120731)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp 2012-06-19 17:55:23 UTC (rev 120732)
@@ -2201,13 +2201,14 @@
// FIXME: The definition of view() has changed to not crawl up the render tree. It might
// be safe now to use it.
while (o && o->parent() && !(o->hasTransform() && o->isRenderBlock())) {
- if (repaintContainerSkipped && o == repaintContainer)
- *repaintContainerSkipped = true;
#if ENABLE(SVG)
// foreignObject is the containing block for its contents.
if (o->isSVGForeignObject())
break;
#endif
+ if (repaintContainerSkipped && o == repaintContainer)
+ *repaintContainerSkipped = true;
+
o = o->parent();
}
} else if (pos == AbsolutePosition) {
@@ -2215,12 +2216,13 @@
// we may not have one if we're part of an uninstalled subtree. We'll
// climb as high as we can though.
while (o && o->style()->position() == StaticPosition && !o->isRenderView() && !(o->hasTransform() && o->isRenderBlock())) {
- if (repaintContainerSkipped && o == repaintContainer)
- *repaintContainerSkipped = true;
#if ENABLE(SVG)
if (o->isSVGForeignObject()) // foreignObject is the containing block for contents inside it
break;
#endif
+ if (repaintContainerSkipped && o == repaintContainer)
+ *repaintContainerSkipped = true;
+
o = o->parent();
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes