WebCore: SVGFEConvolveMatrixElement doesn't support dynamic invalidation
authorreni@webkit.org <reni@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 8 Nov 2010 10:43:35 +0000 (10:43 +0000)
committerreni@webkit.org <reni@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 8 Nov 2010 10:43:35 +0000 (10:43 +0000)
https://bugs.webkit.org/show_bug.cgi?id=47660

Patch by Renata Hodovan <reni@webkit.org> on 2010-11-08
Reviewed by Nikolas Zimmermann.

Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in.
The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach
properly the orderX and orderY components of order property from SVG DOM.

Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
       svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html

* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
* svg/SVGFEConvolveMatrixElement.h:
* svg/svgattrs.in:

LayoutTests: SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
https://bugs.webkit.org/show_bug.cgi?id=47660

Patch by Renata Hodovan <reni@webkit.org> on 2010-11-08
Reviewed by Nikolas Zimmermann.

This patch contains the SVG DOM dynamic update tests of feConvolveMatrix and it
fixes the DOM test of order attribute because the product of order components should be equal the
size of the kernelMatrix.

* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.png: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.checksum: Added.
* platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.png: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.txt: Added.
* svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html: Added.
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js:
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-bias-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-divisor-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-in-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.js: Added.
(SVGNumberListToString):
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-order-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetX-prop.js: Added.
(executeTest):
* svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetY-prop.js: Added.
(executeTest):

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

56 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.png [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.txt [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-bias-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-divisor-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-in-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-order-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetX-prop.js [new file with mode: 0644]
LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetY-prop.js [new file with mode: 0644]
WebCore/ChangeLog
WebCore/svg/SVGFEConvolveMatrixElement.cpp
WebCore/svg/SVGFEConvolveMatrixElement.h
WebCore/svg/svgattrs.in

index 0d4836e..c2191d9 100644 (file)
@@ -1,3 +1,78 @@
+2010-11-08  Renata Hodovan  <reni@webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
+        SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
+        https://bugs.webkit.org/show_bug.cgi?id=47660
+
+        This patch contains the SVG DOM dynamic update tests of feConvolveMatrix and it
+        fixes the DOM test of order attribute because the product of order components should be equal the
+        size of the kernelMatrix.
+
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.png: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html: Added.
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js:
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-bias-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-divisor-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-in-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.js: Added.
+        (SVGNumberListToString):
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-order-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetX-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetY-prop.js: Added.
+        (executeTest):
+
 2010-11-08  Fumitoshi Ukai  <ukai@chromium.org>
 
         Unreviewed, updating Chromium expectations.
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.checksum
new file mode 100644 (file)
index 0000000..09c9350
--- /dev/null
@@ -0,0 +1 @@
+17ee4b367a5154feb64ac25fab4c06b7
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.png
new file mode 100644 (file)
index 0000000..4913198
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.checksum
new file mode 100644 (file)
index 0000000..03bc294
--- /dev/null
@@ -0,0 +1 @@
+a16cf7a33cc11bd1c9b053629e5bc88e
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.png
new file mode 100644 (file)
index 0000000..52cefce
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.checksum
new file mode 100644 (file)
index 0000000..c7ce9e0
--- /dev/null
@@ -0,0 +1 @@
+2bc53b6b2684c7e1a69464ca66c395af
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.png
new file mode 100644 (file)
index 0000000..7180591
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.checksum
new file mode 100644 (file)
index 0000000..ea00158
--- /dev/null
@@ -0,0 +1 @@
+9009fca907a9e919d6c29de73c7adabf
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.png
new file mode 100644 (file)
index 0000000..c1c6ceb
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.checksum
new file mode 100644 (file)
index 0000000..e612ec6
--- /dev/null
@@ -0,0 +1 @@
+26d2c0a657da97783854acaf218d3ded
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.png
new file mode 100644 (file)
index 0000000..e4a0455
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.checksum
new file mode 100644 (file)
index 0000000..f0c3dd3
--- /dev/null
@@ -0,0 +1 @@
+7a700ed0b4c745fbe0fac75dc915e749
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.png
new file mode 100644 (file)
index 0000000..9aa9d59
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.checksum
new file mode 100644 (file)
index 0000000..09b0412
--- /dev/null
@@ -0,0 +1 @@
+c2d9308d2a0523b17243bc2549a38efb
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.png
new file mode 100644 (file)
index 0000000..d784e9b
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.checksum
new file mode 100644 (file)
index 0000000..2753b13
--- /dev/null
@@ -0,0 +1 @@
+00d087e4f148655eb97cf2aa0f1d691c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.png
new file mode 100644 (file)
index 0000000..a53411b
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.checksum
new file mode 100644 (file)
index 0000000..6b1dd53
--- /dev/null
@@ -0,0 +1 @@
+5c882c0c31ff7ea9fc1a93cbca97bba2
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.png
new file mode 100644 (file)
index 0000000..4f3145a
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.checksum
new file mode 100644 (file)
index 0000000..1c68ad5
--- /dev/null
@@ -0,0 +1 @@
+cf51edd3c03a740a83074cb5e668bd2c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.png
new file mode 100644 (file)
index 0000000..19258de
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.png differ
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop-expected.txt
new file mode 100644 (file)
index 0000000..9100461
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'bias' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.bias.baseVal is 0.5
+PASS convolveMatrixElement.bias.baseVal is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
new file mode 100644 (file)
index 0000000..36272a1
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-bias-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop-expected.txt
new file mode 100644 (file)
index 0000000..526b9c8
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'divisor' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.divisor.baseVal is 20
+PASS convolveMatrixElement.divisor.baseVal is 12
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
new file mode 100644 (file)
index 0000000..4e66c82
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-divisor-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop-expected.txt
new file mode 100644 (file)
index 0000000..1ae80cd
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'edgeMode' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_WRAP
+PASS convolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
new file mode 100644 (file)
index 0000000..223ea46
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop-expected.txt
new file mode 100644 (file)
index 0000000..70e3709
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'in' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.in1.baseVal is "SourceAlpha"
+PASS convolveMatrixElement.in1.baseVal is "SourceGraphic"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
new file mode 100644 (file)
index 0000000..a829ad4
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-in-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop-expected.txt
new file mode 100644 (file)
index 0000000..8fdea15
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'kernelMatrix' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS SVGNumberListToString(convolveMatrixElement.kernelMatrix.baseVal) is "-2 0 0 0 1 0 0 0 2 "
+PASS SVGNumberListToString(convolveMatrixElement.kernelMatrix.baseVal) is "3 0 0 0 1 0 0 0 2 "
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
new file mode 100644 (file)
index 0000000..368663e
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop-expected.txt
new file mode 100644 (file)
index 0000000..4d7aaa7
--- /dev/null
@@ -0,0 +1,15 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'kernelUnitLength' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.kernelUnitLengthX.baseVal is 1
+PASS convolveMatrixElement.kernelUnitLengthY.baseVal is 1
+PASS Math.round(convolveMatrixElement.kernelUnitLengthX.baseVal * 1000) is 50
+PASS Math.round(convolveMatrixElement.kernelUnitLengthY.baseVal * 1000) is 50
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
new file mode 100644 (file)
index 0000000..9f8e4c5
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop-expected.txt
new file mode 100644 (file)
index 0000000..981eced
--- /dev/null
@@ -0,0 +1,15 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'order' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.orderX.baseVal is 2
+PASS convolveMatrixElement.orderY.baseVal is 2
+PASS convolveMatrixElement.orderX.baseVal is 3
+PASS convolveMatrixElement.orderY.baseVal is 3
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
new file mode 100644 (file)
index 0000000..9111e35
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-order-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop-expected.txt
new file mode 100644 (file)
index 0000000..b84ab1b
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'preserveAlpha' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.preserveAlpha.baseVal is false
+PASS convolveMatrixElement.preserveAlpha.baseVal is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
new file mode 100644 (file)
index 0000000..038ce36
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop-expected.txt
new file mode 100644 (file)
index 0000000..ce6dba2
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'targetX' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.targetX.baseVal is 2
+PASS convolveMatrixElement.targetX.baseVal is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
new file mode 100644 (file)
index 0000000..01021c8
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-targetX-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop-expected.txt
new file mode 100644 (file)
index 0000000..4003270
--- /dev/null
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'targetY' property of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.targetY.baseVal is 2
+PASS convolveMatrixElement.targetY.baseVal is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html
new file mode 100644 (file)
index 0000000..60d1311
--- /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="script-tests/SVGFEConvolveMatrixElement-svgdom-targetY-prop.js"></script>
+</body>
+</html>
index eb6f2ed..43c2f27 100644 (file)
@@ -7,7 +7,7 @@ createSVGTestCase();
 var convolveMatrixElement = createSVGElement("feConvolveMatrix");
 convolveMatrixElement.setAttribute("in", "SourceGraphic");
 convolveMatrixElement.setAttribute("order", "2 2");
-convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0");
 
 var filterElement = createSVGElement("filter");
 filterElement.setAttribute("id", "myFilter");
@@ -37,6 +37,7 @@ rootSVGElement.appendChild(imageElement);
 shouldBeEqualToString("convolveMatrixElement.getAttribute('order')", "2 2");
 
 function executeTest() {
+    convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
     convolveMatrixElement.setAttribute("order", "3 3");
     shouldBeEqualToString("convolveMatrixElement.getAttribute('order')", "3 3");
 
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-bias-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-bias-prop.js
new file mode 100644 (file)
index 0000000..79a86c0
--- /dev/null
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-dom-bias-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'bias' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "3");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+convolveMatrixElement.setAttribute("bias", "0.5");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBe("convolveMatrixElement.bias.baseVal", "0.5");
+
+function executeTest() {
+    convolveMatrixElement.bias.baseVal = 0;
+    shouldBe("convolveMatrixElement.bias.baseVal", "0");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-divisor-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-divisor-prop.js
new file mode 100644 (file)
index 0000000..f89fd95
--- /dev/null
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-dom-divisor-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'divisor' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "3");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+convolveMatrixElement.setAttribute("divisor", "20");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBe("convolveMatrixElement.divisor.baseVal", "20");
+
+function executeTest() {
+    convolveMatrixElement.divisor.baseVal = 12;
+    shouldBe("convolveMatrixElement.divisor.baseVal", "12");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.js
new file mode 100644 (file)
index 0000000..c2146ae
--- /dev/null
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-dom-edgeMode-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'edgeMode' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "3");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+convolveMatrixElement.setAttribute("edgeMode", "wrap");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBe("convolveMatrixElement.edgeMode.baseVal", "SVGFEConvolveMatrixElement.SVG_EDGEMODE_WRAP");
+
+function executeTest() {
+    convolveMatrixElement.edgeMode.baseVal = SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE;
+    shouldBe("convolveMatrixElement.edgeMode.baseVal", "SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-in-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-in-prop.js
new file mode 100644 (file)
index 0000000..d01f57d
--- /dev/null
@@ -0,0 +1,48 @@
+// [Name] SVGFEConvolveMatrixElement-dom-in-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'in' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceAlpha");
+convolveMatrixElement.setAttribute("order", "3");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBeEqualToString("convolveMatrixElement.in1.baseVal", "SourceAlpha");
+
+function executeTest() {
+    convolveMatrixElement.in1.baseVal = "SourceGraphic";
+    shouldBeEqualToString("convolveMatrixElement.in1.baseVal", "SourceGraphic");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.js
new file mode 100644 (file)
index 0000000..d53bc99
--- /dev/null
@@ -0,0 +1,64 @@
+// [Name] SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+// SVGNumberListToString converts a list to a string.
+function SVGNumberListToString(list) {
+    var result = "";
+    for (var i = 0; i < list.numberOfItems; ++i) {
+        // We should multiply and round the value of listItem otherwise the expected value cannot be precisely represented as a floating point
+        // number and later the comparison will fail.
+        var item = Math.round(list.getItem(i).value * 1000) / 1000;
+        result += item;
+        result += " ";
+    }
+    return result;
+}
+
+description("Tests dynamic updates of the 'kernelMatrix' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "3");
+convolveMatrixElement.setAttribute("kernelMatrix", "-2 0 0 0 1 0 0 0 2");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBeEqualToString("SVGNumberListToString(convolveMatrixElement.kernelMatrix.baseVal)", "-2 0 0 0 1 0 0 0 2 ");
+
+function executeTest() {
+    var number = rootSVGElement.createSVGNumber();
+    number.value = 3;
+    convolveMatrixElement.kernelMatrix.baseVal.replaceItem(number, 0);
+
+    shouldBeEqualToString("SVGNumberListToString(convolveMatrixElement.kernelMatrix.baseVal)", "3 0 0 0 1 0 0 0 2 ");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.js
new file mode 100644 (file)
index 0000000..61d54cb
--- /dev/null
@@ -0,0 +1,52 @@
+// [Name] SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'kernelUnitLength' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "3");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 5 0 0 0 3 0 3");
+convolveMatrixElement.setAttribute("kernelUnitLength", "1");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "250");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBe("convolveMatrixElement.kernelUnitLengthX.baseVal", "1");
+shouldBe("convolveMatrixElement.kernelUnitLengthY.baseVal", "1");
+
+function executeTest() {
+    convolveMatrixElement.kernelUnitLengthX.baseVal = 0.05;
+    convolveMatrixElement.kernelUnitLengthY.baseVal = 0.05;
+    shouldBe("Math.round(convolveMatrixElement.kernelUnitLengthX.baseVal * 1000)", "50");
+    shouldBe("Math.round(convolveMatrixElement.kernelUnitLengthY.baseVal * 1000)", "50");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-order-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-order-prop.js
new file mode 100644 (file)
index 0000000..4bc7153
--- /dev/null
@@ -0,0 +1,52 @@
+// [Name] SVGFEConvolveMatrixElement-svgdom-order-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'order' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "2 2");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBe("convolveMatrixElement.orderX.baseVal", "2");
+shouldBe("convolveMatrixElement.orderY.baseVal", "2");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+    convolveMatrixElement.orderX.baseVal = 3;
+    convolveMatrixElement.orderY.baseVal = 3;
+    shouldBe("convolveMatrixElement.orderX.baseVal", "3");
+    shouldBe("convolveMatrixElement.orderY.baseVal", "3");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.js
new file mode 100644 (file)
index 0000000..6e0c78c
--- /dev/null
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'preserveAlpha' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "3");
+convolveMatrixElement.setAttribute("kernelMatrix", "-2 0 0 0 1 0 0 0 2");
+convolveMatrixElement.setAttribute("preserveAlpha", "false");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBe("convolveMatrixElement.preserveAlpha.baseVal", "false");
+
+function executeTest() {
+    convolveMatrixElement.preserveAlpha.baseVal = true;
+    shouldBe("convolveMatrixElement.preserveAlpha.baseVal", "true");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetX-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetX-prop.js
new file mode 100644 (file)
index 0000000..08edd3f
--- /dev/null
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-svgdom-targetX-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'targetX' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "3");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+convolveMatrixElement.setAttribute("targetX", "2");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBe("convolveMatrixElement.targetX.baseVal", "2");
+
+function executeTest() {
+    convolveMatrixElement.targetX.baseVal = 0;
+    shouldBe("convolveMatrixElement.targetX.baseVal", "0");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetY-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-svgdom-targetY-prop.js
new file mode 100644 (file)
index 0000000..80f683b
--- /dev/null
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-svgdom-targetY-prop.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'targetY' property of the SVGFEConvolveMatrixElement object")
+createSVGTestCase();
+
+var convolveMatrixElement = createSVGElement("feConvolveMatrix");
+convolveMatrixElement.setAttribute("in", "SourceGraphic");
+convolveMatrixElement.setAttribute("order", "3.9");
+convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+convolveMatrixElement.setAttribute("targetY", "2");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "200");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(convolveMatrixElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+
+var imageElement = createSVGElement("image");
+imageElement.setAttributeNS(xlinkNS, "xlink:href", "../W3C-SVG-1.1/resources/convolveImage.png");
+imageElement.setAttribute("x", "0");
+imageElement.setAttribute("y", "0");
+imageElement.setAttribute("width", "200");
+imageElement.setAttribute("height", "200");
+imageElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(imageElement);
+
+shouldBe("convolveMatrixElement.targetY.baseVal", "2");
+
+function executeTest() {
+    convolveMatrixElement.targetY.baseVal = 0;
+    shouldBe("convolveMatrixElement.targetY.baseVal", "0");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
index bb97436..69f1fb8 100644 (file)
@@ -1,3 +1,31 @@
+2010-11-08  Renata Hodovan  <reni@webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
+        SVGFEConvolveMatrixElement doesn't support dynamic invalidation
+        https://bugs.webkit.org/show_bug.cgi?id=47660
+
+        Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in.
+        The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach
+        properly the orderX and orderY components of order property from SVG DOM.
+
+        Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html
+
+        * svg/SVGFEConvolveMatrixElement.cpp:
+        (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
+        (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
+        * svg/SVGFEConvolveMatrixElement.h:
+        * svg/svgattrs.in:
+
 2010-11-08  Pavel Feldman  <pfeldman@chromium.org>
 
         Not reviewed: follow up to inspector commit.
index 693411e..1137543 100644 (file)
@@ -58,6 +58,18 @@ const AtomicString& SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier()
     return s_identifier;
 }
 
+const AtomicString& SVGFEConvolveMatrixElement::orderXIdentifier()
+{
+    DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGOrderX"));
+    return s_identifier;
+}
+
+const AtomicString& SVGFEConvolveMatrixElement::orderYIdentifier()
+{
+    DEFINE_STATIC_LOCAL(AtomicString, s_identifier, ("SVGOrderY"));
+    return s_identifier;
+}
+
 void SVGFEConvolveMatrixElement::parseMappedAttribute(Attribute* attr)
 {
     const String& value = attr->value();
index a5a8f63..b36b7f1 100644 (file)
@@ -40,13 +40,15 @@ private:
     virtual void parseMappedAttribute(Attribute*);
     virtual void svgAttributeChanged(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
+    static const AtomicString& orderXIdentifier();
+    static const AtomicString& orderYIdentifier();
 
     static const AtomicString& kernelUnitLengthXIdentifier();
     static const AtomicString& kernelUnitLengthYIdentifier();
 
     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::inAttr, String, In1, in1)
-    DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::orderXAttr, long, OrderX, orderX)
-    DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::orderYAttr, long, OrderY, orderY)
+    DECLARE_ANIMATED_STATIC_PROPERTY_MULTIPLE_WRAPPERS_NEW(SVGFEConvolveMatrixElement, SVGNames::orderAttr, orderXIdentifier(), long, OrderX, orderX)
+    DECLARE_ANIMATED_STATIC_PROPERTY_MULTIPLE_WRAPPERS_NEW(SVGFEConvolveMatrixElement, SVGNames::orderAttr, orderYIdentifier(), long, OrderY, orderY)
     DECLARE_ANIMATED_LIST_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::kernelMatrixAttr, SVGNumberList, KernelMatrix, kernelMatrix)
     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::divisorAttr, float, Divisor, divisor)
     DECLARE_ANIMATED_STATIC_PROPERTY_NEW(SVGFEConvolveMatrixElement, SVGNames::biasAttr, float, Bias, bias)
index fe48c8a..dbe7663 100644 (file)
@@ -141,8 +141,6 @@ onzoom
 opacity
 operator
 order
-orderX
-orderY
 orient
 orientation
 origin