[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

eric at webkit.org eric at webkit.org
Thu Oct 29 20:32:22 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit cda723e257919d64e7881d5a7d25ed7a90352432
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Sep 23 06:39:52 2009 +0000

    2009-09-22  Charles Wei  <charles.wei at torchmobile.com.cn>
    
            Reviewed by Eric Seidel.
    
            Fix the crash problem with absolte positioned children in foreignobject
            htts://bugs.webkit.org/show_bug.cgi?id=26342
    
            * svg/custom/foreignobject-crash-with-absolute-positioned-children-expected.txt: Added.
            * svg/custom/foreignobject-crash-with-absolute-positioned-children.svg: Added.
    2009-09-22  Charles Wei  <charles.wei at torchmobile.com.cn>
    
            Reviewed by Eric Seidel.
    
            Fix the crash problem with absolte positioned children in foreignobject
            htts://bugs.webkit.org/show_bug.cgi?id=26342
    
            Test: svg/custom/foreignobject-crash-with-absolute-positioned-children.svg
    
            * rendering/RenderForeignObject.h:
            (WebCore::RenderForeignObject::isSVGForeignObject):
            * rendering/RenderObject.cpp:
            (WebCore::RenderObject::containingBlock):
            * rendering/RenderObject.h:
            (WebCore::RenderObject::isSVGForeignObject):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48668 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 14ccb85..b968a2d 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2009-09-22  Charles Wei  <charles.wei at torchmobile.com.cn>
+
+        Reviewed by Eric Seidel.
+
+        Fix the crash problem with absolte positioned children in foreignobject
+        htts://bugs.webkit.org/show_bug.cgi?id=26342
+
+        * svg/custom/foreignobject-crash-with-absolute-positioned-children-expected.txt: Added.
+        * svg/custom/foreignobject-crash-with-absolute-positioned-children.svg: Added.
+
 2009-09-22  Alpha Lam  <hclam at chromium.org>
 
         Reviewed by Eric Carlson.
diff --git a/LayoutTests/svg/custom/foreignobject-crash-with-absolute-positioned-children-expected.txt b/LayoutTests/svg/custom/foreignobject-crash-with-absolute-positioned-children-expected.txt
new file mode 100644
index 0000000..15adce5
--- /dev/null
+++ b/LayoutTests/svg/custom/foreignobject-crash-with-absolute-positioned-children-expected.txt
@@ -0,0 +1 @@
+PASS -- This did not crash. https://bugs.webkit.org/show_bug.cgi?id=26342
diff --git a/LayoutTests/svg/custom/foreignobject-crash-with-absolute-positioned-children.svg b/LayoutTests/svg/custom/foreignobject-crash-with-absolute-positioned-children.svg
new file mode 100644
index 0000000..68d1e47
--- /dev/null
+++ b/LayoutTests/svg/custom/foreignobject-crash-with-absolute-positioned-children.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg">
+<script>
+  if (window.layoutTestController)
+     layoutTestController.dumpAsText();
+</script>
+
+    <foreignObject  width="100%" height="100%" >
+        <body xmlns="http://www.w3.org/1999/xhtml" >
+            <div style="position:absolute">PASS -- This did not crash. https://bugs.webkit.org/show_bug.cgi?id=26342</div>
+        </body>
+    </foreignObject>
+</svg>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d53f2e1..9ee8b04 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2009-09-22  Charles Wei  <charles.wei at torchmobile.com.cn>
+
+        Reviewed by Eric Seidel.
+
+        Fix the crash problem with absolte positioned children in foreignobject
+        htts://bugs.webkit.org/show_bug.cgi?id=26342
+
+        Test: svg/custom/foreignobject-crash-with-absolute-positioned-children.svg
+
+        * rendering/RenderForeignObject.h:
+        (WebCore::RenderForeignObject::isSVGForeignObject):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::containingBlock):
+        * rendering/RenderObject.h:
+        (WebCore::RenderObject::isSVGForeignObject):
+
 2009-09-22  Drew Wilson  <atwilson at google.com>
 
         Reviewed by David Levin.
diff --git a/WebCore/rendering/RenderForeignObject.h b/WebCore/rendering/RenderForeignObject.h
index 8fdb816..e014f22 100644
--- a/WebCore/rendering/RenderForeignObject.h
+++ b/WebCore/rendering/RenderForeignObject.h
@@ -49,6 +49,7 @@ public:
 
     virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction);
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction);
+    virtual bool isSVGForeignObject() const { return true; }
 
  private:
     TransformationMatrix translationForAttributes() const;
diff --git a/WebCore/rendering/RenderObject.cpp b/WebCore/rendering/RenderObject.cpp
index 4cbc530..1d5ed0c 100644
--- a/WebCore/rendering/RenderObject.cpp
+++ b/WebCore/rendering/RenderObject.cpp
@@ -625,6 +625,11 @@ RenderBlock* RenderObject::containingBlock() const
             // inline directly.
             if (o->style()->position() == RelativePosition && o->isInline() && !o->isReplaced())
                 return o->containingBlock();
+#if ENABLE(SVG)
+            if (o->isSVGForeignObject()) //foreignObject is the containing block for contents inside it
+                break;
+#endif
+
             o = o->parent();
         }
     } else {
diff --git a/WebCore/rendering/RenderObject.h b/WebCore/rendering/RenderObject.h
index f361198..e5a0c16 100644
--- a/WebCore/rendering/RenderObject.h
+++ b/WebCore/rendering/RenderObject.h
@@ -305,6 +305,7 @@ public:
     virtual bool isRenderPath() const { return false; }
     virtual bool isSVGText() const { return false; }
     virtual bool isSVGImage() const { return false; }
+    virtual bool isSVGForeignObject() const { return false; }
 
     // Per SVG 1.1 objectBoundingBox ignores clipping, masking, filter effects, opacity and stroke-width.
     // This is used for all computation of objectBoundingBox relative units and by SVGLocateable::getBBox().

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list