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

Reply via email to