Title: [100568] branches/chromium/912

Diff

Modified: branches/chromium/912/LayoutTests/platform/mac/svg/overflow/overflow-on-foreignObject-expected.png


(Binary files differ)

Modified: branches/chromium/912/LayoutTests/platform/mac/svg/overflow/overflow-on-foreignObject-expected.txt (100567 => 100568)


--- branches/chromium/912/LayoutTests/platform/mac/svg/overflow/overflow-on-foreignObject-expected.txt	2011-11-17 07:46:42 UTC (rev 100567)
+++ branches/chromium/912/LayoutTests/platform/mac/svg/overflow/overflow-on-foreignObject-expected.txt	2011-11-17 07:50:07 UTC (rev 100568)
@@ -3,5 +3,5 @@
 layer at (0,0) size 500x500
   RenderSVGRoot {svg} at (200,200) size 300x300
     RenderSVGForeignObject {foreignObject} at (100,100) size 300x300
-layer at (100,100) size 6006x6006 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600 outlineClip at (0,0) size 800x600
-  RenderBlock (positioned) {html:div} at (100,100) size 6006x6006 [bgcolor=#008000] [border: (3px solid #000000)]
+layer at (0,0) size 6006x6006 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600 outlineClip at (0,0) size 800x600
+  RenderBlock (positioned) {html:div} at (0,0) size 6006x6006 [bgcolor=#008000] [border: (3px solid #000000)]

Copied: branches/chromium/912/LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt (from rev 99731, trunk/LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt) (0 => 100568)


--- branches/chromium/912/LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt	                        (rev 0)
+++ branches/chromium/912/LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt	2011-11-17 07:50:07 UTC (rev 100568)
@@ -0,0 +1 @@
+PASS

Copied: branches/chromium/912/LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash.html (from rev 99731, trunk/LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash.html) (0 => 100568)


--- branches/chromium/912/LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash.html	                        (rev 0)
+++ branches/chromium/912/LayoutTests/svg/foreignObject/absolute-position-foreign-object-child-crash.html	2011-11-17 07:50:07 UTC (rev 100568)
@@ -0,0 +1,25 @@
+<script src=""
+
+<svg>
+    <foreignObject>
+        <div style="position: absolute;">
+            <div id="div1"></div>
+            <div id="div2" style="overflow:hidden; width:100px; height:100px;">x</div>
+        </div>
+    </foreignObject>
+</svg>
+<script>
+function RemoveNode(n) { n.parentNode.removeChild(n) }
+    window._onload_ = function() {
+        document.body.offsetTop; // Force layout.
+        RemoveNode(document.getElementById('div1'));
+        document.body.offsetTop; // Force layout.
+        RemoveNode(document.getElementById('div2'));
+        if (window.layoutTestController)
+            layoutTestController.dumpAsText();
+}
+</script>
+<body>
+    PASS
+</body>
+

Modified: branches/chromium/912/Source/WebCore/rendering/RenderObject.cpp (100567 => 100568)


--- branches/chromium/912/Source/WebCore/rendering/RenderObject.cpp	2011-11-17 07:46:42 UTC (rev 100567)
+++ branches/chromium/912/Source/WebCore/rendering/RenderObject.cpp	2011-11-17 07:50:07 UTC (rev 100568)
@@ -2155,6 +2155,10 @@
         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
             o = o->parent();
         }
     }
Property changes on: branches/chromium/912/Source/WebCore/rendering/RenderObject.cpp
___________________________________________________________________

Added: svn:executable

_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to