Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes)

As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement.

Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html
	   svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html
	   svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html
	   svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html
	   svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html
	   svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html
	   svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html
	   svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGForeignObjectElement-svgdom-width-prop.js b/LayoutTests/svg/dynamic-updates/resources/SVGForeignObjectElement-svgdom-width-prop.js
new file mode 100644
index 0000000..6b7ea87
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/resources/SVGForeignObjectElement-svgdom-width-prop.js
@@ -0,0 +1,31 @@
+// [Name] SVGForeignObjectElement-svgdom-width-prop.js
+// [Expected rendering result] 'Test passed' text - and a series of PASS mesages
+
+description("Tests dynamic updates of the 'width' property of the SVGForeignObjectElement object")
+createSVGTestCase();
+
+var foreignObjectElement = createSVGElement("foreignObject");
+foreignObjectElement.setAttribute("x", "100");
+foreignObjectElement.setAttribute("y", "80");
+foreignObjectElement.setAttribute("width", "0");
+foreignObjectElement.setAttribute("height", "150");
+
+var htmlDivElement = document.createElementNS(xhtmlNS, "xhtml:div");
+htmlDivElement.setAttribute("style", "background-color: green; color: white; text-align: center");
+htmlDivElement.textContent = "Test passed";
+
+foreignObjectElement.appendChild(htmlDivElement);
+rootSVGElement.appendChild(foreignObjectElement);
+
+shouldBe("foreignObjectElement.width.baseVal.value", "0");
+
+function executeTest() {
+    foreignObjectElement.width.baseVal.value = "150";
+    shouldBe("foreignObjectElement.width.baseVal.value", "150");
+
+    waitForClickEvent(foreignObjectElement);
+    triggerUpdate();
+}
+
+executeTest();
+var successfullyParsed = true;