Reviewed by Oliver.
authorzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Aug 2008 10:35:09 +0000 (10:35 +0000)
committerzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Aug 2008 10:35:09 +0000 (10:35 +0000)
Add new dynamice-update layout tests covering SVGMarkerElement.
Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@35680 268f45cc-cd09-0410-ab3c-d52691b4dbfc

78 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.png [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.checksum [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.checksum [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerHeight-attr.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerUnits-attr.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerWidth-attr.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-orient-attr.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-refX-attr.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-refY-attr.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerHeight-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerUnits-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerWidth-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientAngle-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientType-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refX-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refY-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAngle-call.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAuto-call.js [new file with mode: 0644]
WebCore/ChangeLog
WebCore/svg/SVGMarkerElement.cpp

index 1ccc28aba47fb1890b8a127d11a6e565dfd95633..e1578de36202e72a8c4681e03b4fed016fc5fab2 100644 (file)
@@ -1,3 +1,85 @@
+2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
+
+        Reviewed by Oliver.
+
+        Add new dynamice-update layout tests covering SVGMarkerElement.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.png: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.checksum: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.checksum: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.txt: Added.
+        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-dom-markerHeight-attr.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-dom-markerUnits-attr.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-dom-markerWidth-attr.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-dom-orient-attr.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-dom-refX-attr.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-dom-refY-attr.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerHeight-prop.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerUnits-prop.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerWidth-prop.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientAngle-prop.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientType-prop.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refX-prop.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refY-prop.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAngle-call.js: Added.
+        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAuto-call.js: Added.
+
 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
 
         Reviewed by Oliver.
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.checksum
new file mode 100644 (file)
index 0000000..b0ebc2e
--- /dev/null
@@ -0,0 +1 @@
+e00eb996ec3adb64ad6dceda3916eed5
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png
new file mode 100644 (file)
index 0000000..1f58008
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.checksum
new file mode 100644 (file)
index 0000000..c92de64
--- /dev/null
@@ -0,0 +1 @@
+63d46816bf8587a241a4bc85e444bbbb
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.png
new file mode 100644 (file)
index 0000000..190bdf8
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.checksum
new file mode 100644 (file)
index 0000000..5f44ccd
--- /dev/null
@@ -0,0 +1 @@
+65ed8abcae4e223b4df65e9d47f9a78c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png
new file mode 100644 (file)
index 0000000..4138b79
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.checksum
new file mode 100644 (file)
index 0000000..383d1a2
--- /dev/null
@@ -0,0 +1 @@
+46a4fed6c6f00c83dfbbb4759960e855
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.png
new file mode 100644 (file)
index 0000000..855b3ea
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.checksum
new file mode 100644 (file)
index 0000000..c900711
--- /dev/null
@@ -0,0 +1 @@
+1d32f39f6aa3a51509a4cdc1883ba017
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.png
new file mode 100644 (file)
index 0000000..8268421
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.checksum
new file mode 100644 (file)
index 0000000..1852fb4
--- /dev/null
@@ -0,0 +1 @@
+c1ba8a5680ff1fc291628256dee41c29
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.png
new file mode 100644 (file)
index 0000000..763f0fa
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.checksum
new file mode 100644 (file)
index 0000000..3c47c37
--- /dev/null
@@ -0,0 +1 @@
+55bcb3455e7f0c2e43407c89cfb81828
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png
new file mode 100644 (file)
index 0000000..a39e1ed
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.checksum
new file mode 100644 (file)
index 0000000..8b3f7c5
--- /dev/null
@@ -0,0 +1 @@
+59a8014f535dfe7b09f4312ddcab6a7d
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.png
new file mode 100644 (file)
index 0000000..0b038fa
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.checksum
new file mode 100644 (file)
index 0000000..c89d37b
--- /dev/null
@@ -0,0 +1 @@
+8c589665eca917322121afede17c0acb
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png
new file mode 100644 (file)
index 0000000..fb50848
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.checksum
new file mode 100644 (file)
index 0000000..abfbc25
--- /dev/null
@@ -0,0 +1 @@
+aff4d6cdab373b7ae61afc98aba4204d
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.png
new file mode 100644 (file)
index 0000000..ffb259b
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.checksum
new file mode 100644 (file)
index 0000000..2232ad8
--- /dev/null
@@ -0,0 +1 @@
+b75ce4eb1479ac7328ffe26d9949ae47
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.png
new file mode 100644 (file)
index 0000000..ced8017
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.checksum
new file mode 100644 (file)
index 0000000..9ceec34
--- /dev/null
@@ -0,0 +1 @@
+582f952ff56e16186e731ee6a13fdd64
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.png
new file mode 100644 (file)
index 0000000..5ea615d
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.checksum
new file mode 100644 (file)
index 0000000..c7b252e
--- /dev/null
@@ -0,0 +1 @@
+af37ef9d43a7b4fcbf66e0552a163b05
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.png
new file mode 100644 (file)
index 0000000..b5cc0fb
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.png differ
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.txt
new file mode 100644 (file)
index 0000000..5e1be99
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'markerHeight' attribute of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.getAttribute('markerHeight') is "0"
+PASS markerElement.getAttribute('markerHeight') is "2"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
new file mode 100644 (file)
index 0000000..e72bc74
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-dom-markerHeight-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.txt
new file mode 100644 (file)
index 0000000..bb71b28
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'markerUnits' attribute of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.getAttribute('markerUnits') is "userSpaceOnUse"
+PASS markerElement.getAttribute('markerUnits') is "strokeWidth"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
new file mode 100644 (file)
index 0000000..c460dbd
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-dom-markerUnits-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.txt
new file mode 100644 (file)
index 0000000..0ec5bf7
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'markerWidth' attribute of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.getAttribute('markerWidth') is "0"
+PASS markerElement.getAttribute('markerWidth') is "2"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
new file mode 100644 (file)
index 0000000..ea45b9d
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-dom-markerWidth-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.txt
new file mode 100644 (file)
index 0000000..f6c14c1
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'orient' attribute of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.getAttribute('orient') is "45"
+PASS markerElement.getAttribute('orient') is "0"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
new file mode 100644 (file)
index 0000000..668b9d5
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-dom-orient-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.txt
new file mode 100644 (file)
index 0000000..17d8581
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'refX' attribute of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.getAttribute('refX') is "500"
+PASS markerElement.getAttribute('refX') is "5"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
new file mode 100644 (file)
index 0000000..08d5cd5
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-dom-refX-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.txt
new file mode 100644 (file)
index 0000000..bb1c92c
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'refY' attribute of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.getAttribute('refY') is "500"
+PASS markerElement.getAttribute('refY') is "5"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
new file mode 100644 (file)
index 0000000..4d854bc
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-dom-refY-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.txt
new file mode 100644 (file)
index 0000000..f5047ac
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'markerHeight' property of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.markerHeight.baseVal.value is 0
+PASS markerElement.markerHeight.baseVal.value is 2
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
new file mode 100644 (file)
index 0000000..fde7de0
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-markerHeight-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.txt
new file mode 100644 (file)
index 0000000..1100b07
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'markerUnits' property of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.markerUnits.baseVal is SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE
+PASS markerElement.markerUnits.baseVal is SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
new file mode 100644 (file)
index 0000000..fcf86f6
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-markerUnits-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.txt
new file mode 100644 (file)
index 0000000..fa2961c
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'markerWidth' property of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.markerWidth.baseVal.value is 0
+PASS markerElement.markerWidth.baseVal.value is 2
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
new file mode 100644 (file)
index 0000000..4a02497
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-markerWidth-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.txt
new file mode 100644 (file)
index 0000000..63418e5
--- /dev/null
@@ -0,0 +1,15 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'orientAngle' property of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
+PASS markerElement.orientAngle.baseVal.value is 45
+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
+PASS markerElement.orientAngle.baseVal.value is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
new file mode 100644 (file)
index 0000000..d6172b2
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-orientAngle-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.txt
new file mode 100644 (file)
index 0000000..46f2863
--- /dev/null
@@ -0,0 +1,15 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'orientType' property of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
+PASS markerElement.orientAngle.baseVal.value is 0
+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
+PASS markerElement.orientAngle.baseVal.value is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
new file mode 100644 (file)
index 0000000..ab3d536
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-orientType-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.txt
new file mode 100644 (file)
index 0000000..2057dd9
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'refX' property of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.refX.baseVal.value is 500
+PASS markerElement.refX.baseVal.value is 5
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
new file mode 100644 (file)
index 0000000..a72493b
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-refX-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.txt
new file mode 100644 (file)
index 0000000..59701ec
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'refY' property of the SVGMarkerElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.refY.baseVal.value is 500
+PASS markerElement.refY.baseVal.value is 5
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
new file mode 100644 (file)
index 0000000..cdfea77
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-refY-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.checksum b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.checksum
new file mode 100644 (file)
index 0000000..10899e6
--- /dev/null
@@ -0,0 +1 @@
+f8e964e4419c30279cccd27151c06aee
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png
new file mode 100644 (file)
index 0000000..4f172d4
Binary files /dev/null and b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png differ
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.txt
new file mode 100644 (file)
index 0000000..1ff9026
--- /dev/null
@@ -0,0 +1,15 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the SVGMarkerElement object by using it's 'setOrientToAngle' method
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
+PASS markerElement.orientAngle.baseVal.value is 0
+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
+PASS markerElement.orientAngle.baseVal.value is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
new file mode 100644 (file)
index 0000000..73b8cd2
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-setOrientToAngle-call.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.checksum b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.checksum
new file mode 100644 (file)
index 0000000..e40eff5
--- /dev/null
@@ -0,0 +1 @@
+64c116a87494fccf64c762b42185ddcd
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png
new file mode 100644 (file)
index 0000000..f21b175
Binary files /dev/null and b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png differ
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.txt b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.txt
new file mode 100644 (file)
index 0000000..d3c67aa
--- /dev/null
@@ -0,0 +1,15 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the SVGMarkerElement object by using it's 'setOrientToAuto' method
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
+PASS markerElement.orientAngle.baseVal.value is 45
+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
+PASS markerElement.orientAngle.baseVal.value is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html b/LayoutTests/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
new file mode 100644 (file)
index 0000000..91b806b
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="resources/SVGTestCase.js"></script>
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<h1>SVG 1.1 dynamic update tests</h1>
+<p id="description"></p>
+<div id="console"></div>
+<script src="resources/SVGMarkerElement-svgdom-setOrientToAuto-call.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerHeight-attr.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerHeight-attr.js
new file mode 100644 (file)
index 0000000..be31f8e
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-dom-markerHeight-attr.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'markerHeight' attribute of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "0");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBeEqualToString("markerElement.getAttribute('markerHeight')", "0");
+
+function executeTest() {
+    markerElement.setAttribute("markerHeight", "2");
+    shouldBeEqualToString("markerElement.getAttribute('markerHeight')", "2");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerUnits-attr.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerUnits-attr.js
new file mode 100644 (file)
index 0000000..0b65c59
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-dom-markerUnits-attr.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'markerUnits' attribute of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "userSpaceOnUse");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBeEqualToString("markerElement.getAttribute('markerUnits')", "userSpaceOnUse");
+
+function executeTest() {
+    markerElement.setAttribute("markerUnits", "strokeWidth");
+    shouldBeEqualToString("markerElement.getAttribute('markerUnits')", "strokeWidth");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerWidth-attr.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-markerWidth-attr.js
new file mode 100644 (file)
index 0000000..5712794
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-dom-markerWidth-attr.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'markerWidth' attribute of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "0");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBeEqualToString("markerElement.getAttribute('markerWidth')", "0");
+
+function executeTest() {
+    markerElement.setAttribute("markerWidth", "2");
+    shouldBeEqualToString("markerElement.getAttribute('markerWidth')", "2");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-orient-attr.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-orient-attr.js
new file mode 100644 (file)
index 0000000..5d887a2
--- /dev/null
@@ -0,0 +1,44 @@
+// [Name] SVGMarkerElement-dom-orient-attr.js
+// [Expected rendering result] start & end markers are visible (and not rotated, compared to the other SVGMarkerElement* tests) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'orient' attribute of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+markerElement.setAttribute("orient", "45");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBeEqualToString("markerElement.getAttribute('orient')", "45");
+
+function executeTest() {
+    markerElement.setAttribute("orient", "0");
+    shouldBeEqualToString("markerElement.getAttribute('orient')", "0");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-refX-attr.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-refX-attr.js
new file mode 100644 (file)
index 0000000..bac2642
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-dom-refX-attr.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'refX' attribute of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "500");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBeEqualToString("markerElement.getAttribute('refX')", "500");
+
+function executeTest() {
+    markerElement.setAttribute("refX", "5");
+    shouldBeEqualToString("markerElement.getAttribute('refX')", "5");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-refY-attr.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-dom-refY-attr.js
new file mode 100644 (file)
index 0000000..f1353e3
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-dom-refY-attr.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'refY' attribute of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "500");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBeEqualToString("markerElement.getAttribute('refY')", "500");
+
+function executeTest() {
+    markerElement.setAttribute("refY", "5");
+    shouldBeEqualToString("markerElement.getAttribute('refY')", "5");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerHeight-prop.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerHeight-prop.js
new file mode 100644 (file)
index 0000000..67a5bc0
--- /dev/null
@@ -0,0 +1,44 @@
+// [Name] SVGMarkerElement-svgdom-markerHeight-prop.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'markerHeight' property of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "0");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.markerHeight.baseVal.value", "0");
+
+function executeTest() {
+    markerElement.markerHeight.baseVal.value = 2;
+    shouldBe("markerElement.markerHeight.baseVal.value", "2");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerUnits-prop.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerUnits-prop.js
new file mode 100644 (file)
index 0000000..1b91b11
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-svgdom-markerUnits-prop.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'markerUnits' property of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "userSpaceOnUse");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.markerUnits.baseVal", "SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE");
+
+function executeTest() {
+    markerElement.markerUnits.baseVal = SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH;
+    shouldBe("markerElement.markerUnits.baseVal", "SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerWidth-prop.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerWidth-prop.js
new file mode 100644 (file)
index 0000000..86d0f2e
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-svgdom-markerWidth-prop.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'markerWidth' property of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "0");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.markerWidth.baseVal.value", "0");
+
+function executeTest() {
+    markerElement.markerWidth.baseVal.value = 2;
+    shouldBe("markerElement.markerWidth.baseVal.value", "2");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientAngle-prop.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientAngle-prop.js
new file mode 100644 (file)
index 0000000..6201382
--- /dev/null
@@ -0,0 +1,47 @@
+// [Name] SVGMarkerElement-svgdom-orientAngle-prop.js
+// [Expected rendering result] start & end markers are visible (and not rotated, compared to the other SVGMarkerElement* tests) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'orientAngle' property of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+markerElement.setAttribute("orient", "45");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE");
+shouldBe("markerElement.orientAngle.baseVal.value", "45");
+
+function executeTest() {
+    markerElement.orientAngle.baseVal.value = 0;
+
+    shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE");
+    shouldBe("markerElement.orientAngle.baseVal.value", "0");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientType-prop.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientType-prop.js
new file mode 100644 (file)
index 0000000..e99120a
--- /dev/null
@@ -0,0 +1,47 @@
+// [Name] SVGMarkerElement-svgdom-orientType-prop.js
+// [Expected rendering result] start & end markers are visible (and not rotated, compared to the other SVGMarkerElement* tests) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'orientType' property of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+markerElement.setAttribute("orient", "auto");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_AUTO");
+shouldBe("markerElement.orientAngle.baseVal.value", "0");
+
+function executeTest() {
+    markerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE;
+
+    shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE");
+    shouldBe("markerElement.orientAngle.baseVal.value", "0");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refX-prop.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refX-prop.js
new file mode 100644 (file)
index 0000000..4677042
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-svgdom-refX-prop.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'refX' property of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "500");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.refX.baseVal.value", "500");
+
+function executeTest() {
+    markerElement.refX.baseVal.value = 5;
+    shouldBe("markerElement.refX.baseVal.value", "5");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refY-prop.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refY-prop.js
new file mode 100644 (file)
index 0000000..6a62cb6
--- /dev/null
@@ -0,0 +1,43 @@
+// [Name] SVGMarkerElement-svgdom-refY-prop.js
+// [Expected rendering result] start & end markers are visible - and a series of PASS messages
+
+description("Tests dynamic updates of the 'refY' property of the SVGMarkerElement object")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "500");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.refY.baseVal.value", "500");
+
+function executeTest() {
+    markerElement.refY.baseVal.value = 5;
+    shouldBe("markerElement.refY.baseVal.value", "5");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAngle-call.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAngle-call.js
new file mode 100644 (file)
index 0000000..353fa58
--- /dev/null
@@ -0,0 +1,47 @@
+// [Name] SVGMarkerElement-svgdom-setOrientToAngle-call.js
+// [Expected rendering result] start & end markers are visible (and not rotated, compared to the other SVGMarkerElement* tests) - and a series of PASS messages
+
+description("Tests dynamic updates of the SVGMarkerElement object by using it's 'setOrientToAngle' method")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+markerElement.setAttribute("orient", "auto");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_AUTO");
+shouldBe("markerElement.orientAngle.baseVal.value", "0");
+
+function executeTest() {
+    markerElement.setOrientToAngle(rootSVGElement.createSVGAngle());
+
+    shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE");
+    shouldBe("markerElement.orientAngle.baseVal.value", "0");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
diff --git a/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAuto-call.js b/LayoutTests/svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAuto-call.js
new file mode 100644 (file)
index 0000000..0753ec7
--- /dev/null
@@ -0,0 +1,47 @@
+// [Name] SVGMarkerElement-svgdom-setOrientToAuto-call.js
+// [Expected rendering result] start & end markers are visible (and automatically oriented, the end marker is rotated compared to the other SVGMarkerElement* tests) - and a series of PASS messages
+
+description("Tests dynamic updates of the SVGMarkerElement object by using it's 'setOrientToAuto' method")
+createSVGTestCase();
+
+var markerElement = createSVGElement("marker");
+markerElement.setAttribute("id", "marker");
+markerElement.setAttribute("viewBox", "0 0 10 10");
+markerElement.setAttribute("markerWidth", "2");
+markerElement.setAttribute("markerHeight", "2");
+markerElement.setAttribute("refX", "5");
+markerElement.setAttribute("refY", "5");
+markerElement.setAttribute("markerUnits", "strokeWidth");
+markerElement.setAttribute("orient", "45");
+
+var markerPathElement = createSVGElement("path");
+markerPathElement.setAttribute("fill", "blue");
+markerPathElement.setAttribute("d", "M 5 0 L 10 10 L 0 10 Z");
+markerElement.appendChild(markerPathElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(markerElement);
+rootSVGElement.appendChild(defsElement);
+
+var pathElement = createSVGElement("path");
+pathElement.setAttribute("fill", "none");
+pathElement.setAttribute("stroke", "green");
+pathElement.setAttribute("stroke-width", "10");
+pathElement.setAttribute("marker-start", "url(#marker)");
+pathElement.setAttribute("marker-end", "url(#marker)");
+pathElement.setAttribute("d", "M 130 135 L 180 135 L 180 185");
+rootSVGElement.appendChild(pathElement);
+
+shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE");
+shouldBe("markerElement.orientAngle.baseVal.value", "45");
+
+function executeTest() {
+    markerElement.setOrientToAuto();
+
+    shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_AUTO");
+    shouldBe("markerElement.orientAngle.baseVal.value", "0");
+
+    completeTest();
+}
+
+startTest(pathElement, 180, 180);
index f14475224ea0ae5eb7b170df54dd33b8ef610f8c..34b04a7db51dc957e74de4c69cfa285d89091782 100644 (file)
@@ -1,3 +1,36 @@
+2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
+
+        Reviewed by Oliver.
+
+        Add new dynamice-update layout tests covering SVGMarkerElement.
+        Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
+        Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
+
+        Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
+               svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
+               svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
+               svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
+               svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
+               svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
+               svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
+
+        * svg/SVGMarkerElement.cpp:
+        (WebCore::SVGMarkerElement::SVGMarkerElement):
+        (WebCore::SVGMarkerElement::parseMappedAttribute):
+        (WebCore::SVGMarkerElement::svgAttributeChanged):
+        (WebCore::SVGMarkerElement::childrenChanged):
+        (WebCore::SVGMarkerElement::setOrientToAuto):
+        (WebCore::SVGMarkerElement::setOrientToAngle):
+        (WebCore::SVGMarkerElement::canvasResource):
+
 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
 
         Reviewed by Oliver.
index 4b54b9a1ff12a12a4550bcd7630f8c5eb2339a1d..1837531125acb39e62b606da136fa8981802258c 100644 (file)
@@ -47,7 +47,7 @@ SVGMarkerElement::SVGMarkerElement(const QualifiedName& tagName, Document* doc)
     , m_markerWidth(this, SVGNames::markerWidthAttr, LengthModeWidth, "3")
     , m_markerHeight(this, SVGNames::markerHeightAttr, LengthModeHeight, "3") 
     , m_markerUnits(this, SVGNames::markerUnitsAttr, SVG_MARKERUNITS_STROKEWIDTH)
-    , m_orientType(this, SVGNames::orientAttr)
+    , m_orientType(this, SVGNames::orientAttr, SVG_MARKER_ORIENT_ANGLE)
     , m_orientAngle(this, SVGNames::orientAttr, SVGAngle::create())
 {
     // Spec: If the markerWidth/markerHeight attribute is not specified, the effect is as if a value of "3" were specified.
@@ -62,6 +62,8 @@ void SVGMarkerElement::parseMappedAttribute(MappedAttribute* attr)
     if (attr->name() == SVGNames::markerUnitsAttr) {
         if (attr->value() == "userSpaceOnUse")
             setMarkerUnitsBaseValue(SVG_MARKERUNITS_USERSPACEONUSE);
+        else if (attr->value() == "strokeWidth")
+            setMarkerUnitsBaseValue(SVG_MARKERUNITS_STROKEWIDTH);
     } else if (attr->name() == SVGNames::refXAttr)
         setRefXBaseValue(SVGLength(LengthModeWidth, attr->value()));
     else if (attr->name() == SVGNames::refYAttr)
@@ -71,13 +73,16 @@ void SVGMarkerElement::parseMappedAttribute(MappedAttribute* attr)
     else if (attr->name() == SVGNames::markerHeightAttr)
         setMarkerHeightBaseValue(SVGLength(LengthModeHeight, attr->value()));
     else if (attr->name() == SVGNames::orientAttr) {
+        RefPtr<SVGAngle> angle = SVGAngle::create();
+
         if (attr->value() == "auto")
-            setOrientToAuto();
+            setOrientTypeBaseValue(SVG_MARKER_ORIENT_AUTO);
         else {
-            RefPtr<SVGAngle> angle = SVGAngle::create();
             angle->setValueAsString(attr->value());
-            setOrientToAngle(angle.release());
+            setOrientTypeBaseValue(SVG_MARKER_ORIENT_ANGLE);
         }
+
+        setOrientAngleBaseValue(angle.get());
     } else {
         if (SVGLangSpace::parseMappedAttribute(attr))
             return;
@@ -106,7 +111,7 @@ void SVGMarkerElement::svgAttributeChanged(const QualifiedName& attrName)
         SVGStyledElement::isKnownAttribute(attrName)) {
         if (renderer())
             renderer()->setNeedsLayout(true);
-        
+
         m_marker->invalidate();
     }
 }
@@ -115,22 +120,43 @@ void SVGMarkerElement::childrenChanged(bool changedByParser, Node* beforeChange,
 {
     SVGStyledElement::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta);
 
+    if (!m_marker)
+        return;
+
     if (renderer())
         renderer()->setNeedsLayout(true);
 
-    if (m_marker)
-        m_marker->invalidate();
+    m_marker->invalidate();
 }
 
 void SVGMarkerElement::setOrientToAuto()
 {
     setOrientTypeBaseValue(SVG_MARKER_ORIENT_AUTO);
+
+    RefPtr<SVGAngle> angle = SVGAngle::create();
+    setOrientAngleBaseValue(angle.get());
+
+    if (!m_marker)
+        return;
+
+    if (renderer())
+        renderer()->setNeedsLayout(true);
+
+    m_marker->invalidate();
 }
 
 void SVGMarkerElement::setOrientToAngle(PassRefPtr<SVGAngle> angle)
 {
     setOrientTypeBaseValue(SVG_MARKER_ORIENT_ANGLE);
     setOrientAngleBaseValue(angle.get());
+
+    if (!m_marker)
+        return;
+
+    if (renderer())
+        renderer()->setNeedsLayout(true);
+
+    m_marker->invalidate();
 }
 
 SVGResource* SVGMarkerElement::canvasResource()
@@ -140,14 +166,10 @@ SVGResource* SVGMarkerElement::canvasResource()
 
     m_marker->setMarker(static_cast<RenderSVGViewportContainer*>(renderer()));
 
-    // Spec: If the attribute is not specified, the effect is as if a
-    // value of "0" were specified.
-    if (!orientType())
-        setOrientToAngle(SVGSVGElement::createSVGAngle());
-
-    if (orientType() == SVG_MARKER_ORIENT_ANGLE)
-        m_marker->setAngle(orientAngle()->value());
-    else
+    if (orientType() == SVG_MARKER_ORIENT_ANGLE) {
+        if (orientAngle())
+            m_marker->setAngle(orientAngle()->value());
+    } else
         m_marker->setAutoAngle();
 
     m_marker->setRef(refX().value(this), refY().value(this));