[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 14:38:09 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 6f7485c1b0634bcfd384bafbfb570544d402d596
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Oct 14 17:12:38 2010 +0000

    2010-10-14  Renata Hodovan  <reni at inf.u-szeged.hu>
    
            Reviewed by Andreas Kling.
    
            SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
            https://bugs.webkit.org/show_bug.cgi?id=47660
    
            Adding layout tests for feConvolveMatrix dynamic DOM changes. SVGDOM tests cases will be in the following patch because of patch-size limitation (2M in bugzilla).
    
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.png: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html: Added.
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-bias-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-divisor-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-edgeMode-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-in-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetX-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetY-attr.js: Added.
            (executeTest):
    2010-10-14  Renata Hodovan  <reni at inf.u-szeged.hu>
    
            Reviewed by Andreas Kling.
    
            SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
            https://bugs.webkit.org/show_bug.cgi?id=47660
    
            The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
            The patch also implements the simple setOrder and setKernelUnitLength methods.
    
            Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
                   svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
    
            * svg/SVGFEConvolveMatrixElement.cpp:
            (WebCore::SVGFEConvolveMatrixElement::setOrder):
            (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
            (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
            * svg/SVGFEConvolveMatrixElement.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69774 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index cd7a1a7..3651889 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,73 @@
+2010-10-14  Renata Hodovan  <reni at inf.u-szeged.hu>
+
+        Reviewed by Andreas Kling.
+
+        SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
+        https://bugs.webkit.org/show_bug.cgi?id=47660
+
+        Adding layout tests for feConvolveMatrix dynamic DOM changes. SVGDOM tests cases will be in the following patch because of patch-size limitation (2M in bugzilla).
+
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.png: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html: Added.
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-bias-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-divisor-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-edgeMode-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-in-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetX-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetY-attr.js: Added.
+        (executeTest):
+
 2010-10-14  Nate Chapin  <japhet at chromium.org>
 
         Unreviewed, Chromium expectations update.
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.checksum
new file mode 100644
index 0000000..9a3d9ea
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.checksum
@@ -0,0 +1 @@
+cd515705a1608e27543bb5cf200d6bbe
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.png
new file mode 100644
index 0000000..cdf69e7
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.checksum
new file mode 100644
index 0000000..cae7fa8
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.checksum
@@ -0,0 +1 @@
+f28a397b2596bbbc30295253a94369c7
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.png
new file mode 100644
index 0000000..17546a5
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.checksum
new file mode 100644
index 0000000..4a3c456
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.checksum
@@ -0,0 +1 @@
+de86b32df458beeb3e88e401727180c9
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.png
new file mode 100644
index 0000000..93fb1bd
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.checksum
new file mode 100644
index 0000000..6da208c
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.checksum
@@ -0,0 +1 @@
+036065c3a7421ce7768370e330da8cec
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.png
new file mode 100644
index 0000000..17ff82a
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.checksum
new file mode 100644
index 0000000..7056c13
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.checksum
@@ -0,0 +1 @@
+d12e5a563d0cdcb6c20a2ed782d8f6ca
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.png
new file mode 100644
index 0000000..c4d4be0
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.checksum
new file mode 100644
index 0000000..7081cf2
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.checksum
@@ -0,0 +1 @@
+b408f737f9879c4a63bd329700ea833b
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.png
new file mode 100644
index 0000000..fdaaf6e
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.checksum
new file mode 100644
index 0000000..31c9d9d
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.checksum
@@ -0,0 +1 @@
+dbf994cdf42d591b4fc979339ff6bbaf
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.png
new file mode 100644
index 0000000..1473a9d
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.checksum
new file mode 100644
index 0000000..fa02ba5
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.checksum
@@ -0,0 +1 @@
+1ff15d9304aa0e8083e34618a6bbb585
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.png
new file mode 100644
index 0000000..1e03717
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.checksum
new file mode 100644
index 0000000..2460948
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.checksum
@@ -0,0 +1 @@
+00a2d5516a9e88249513e313f0f43ad9
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.png
new file mode 100644
index 0000000..f7ff151
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.checksum
new file mode 100644
index 0000000..5ae0206
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.checksum
@@ -0,0 +1 @@
+7d6f4b622651b47d82e37a9caad367b6
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.png
new file mode 100644
index 0000000..0f1b23d
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.png differ
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.txt
new file mode 100644
index 0000000..60fef3e
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'bias' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('bias') is "0.5"
+PASS convolveMatrixElement.getAttribute('bias') is "0"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
new file mode 100644
index 0000000..b6b9e8e
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
@@ -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-dom-bias-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.txt
new file mode 100644
index 0000000..90c3efe
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'divisor' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('divisor') is "20"
+PASS convolveMatrixElement.getAttribute('divisor') is "12"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
new file mode 100644
index 0000000..6fee471
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
@@ -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-dom-divisor-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.txt
new file mode 100644
index 0000000..927ccb8
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'edgeMode' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('edgeMode') is "wrap"
+PASS convolveMatrixElement.getAttribute('edgeMode') is "duplicate"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
new file mode 100644
index 0000000..6284555
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
@@ -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-dom-edgeMode-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.txt
new file mode 100644
index 0000000..887ca1d
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'in' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('in') is "SourceAlpha"
+PASS convolveMatrixElement.getAttribute('in') is "SourceGraphic"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
new file mode 100644
index 0000000..4170d92
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
@@ -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-dom-in-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.txt
new file mode 100644
index 0000000..f2cf76e
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'kernelMatrix' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('kernelMatrix') is "-2 0 0 0 1 0 0 0 2"
+PASS convolveMatrixElement.getAttribute('kernelMatrix') is "3 0 3 0 0 0 3 0 3"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
new file mode 100644
index 0000000..de7176c
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
@@ -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-dom-kernelMatrix-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.txt
new file mode 100644
index 0000000..ed0b92c
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'kernelUnitLength' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('kernelUnitLength') is "1"
+PASS convolveMatrixElement.getAttribute('kernelUnitLength') is "0.05"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
new file mode 100644
index 0000000..8f13ab5
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
@@ -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-dom-kernelUnitLength-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.txt
new file mode 100644
index 0000000..330070b
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'order' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('order') is "2 2"
+PASS convolveMatrixElement.getAttribute('order') is "3 3"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
new file mode 100644
index 0000000..9790524
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
@@ -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-dom-order-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.txt
new file mode 100644
index 0000000..4f3ec57
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'preserveAlpha' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('preserveAlpha') is "false"
+PASS convolveMatrixElement.getAttribute('preserveAlpha') is "true"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
new file mode 100644
index 0000000..c43451d
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
@@ -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-dom-preserveAlpha-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.txt
new file mode 100644
index 0000000..289430b
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'targetX' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('targetX') is "2"
+PASS convolveMatrixElement.getAttribute('targetX') is "0"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
new file mode 100644
index 0000000..47456ea
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
@@ -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-dom-targetX-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.txt
new file mode 100644
index 0000000..d785f40
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'targetY' attribute of the SVGFEConvolveMatrixElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS convolveMatrixElement.getAttribute('targetY') is "2"
+PASS convolveMatrixElement.getAttribute('targetY') is "0"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
new file mode 100644
index 0000000..52832c4
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
@@ -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-dom-targetY-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-bias-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-bias-attr.js
new file mode 100644
index 0000000..9f47ced
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-bias-attr.js
@@ -0,0 +1,50 @@
+// [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' attribute 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("preserveToAlpha", "true");
+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);
+
+shouldBeEqualToString("convolveMatrixElement.getAttribute('bias')", "0.5");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("bias", "0");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('bias')", "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-dom-divisor-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-divisor-attr.js
new file mode 100644
index 0000000..cf4eb94
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-divisor-attr.js
@@ -0,0 +1,50 @@
+// [Name] SVGFEConvolveMatrixElement-dom-order-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'divisor' attribute 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("preserveToAlpha", "true");
+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);
+
+shouldBeEqualToString("convolveMatrixElement.getAttribute('divisor')", "20");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("divisor", "12");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('divisor')", "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-dom-edgeMode-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-edgeMode-attr.js
new file mode 100644
index 0000000..48aa70c
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-edgeMode-attr.js
@@ -0,0 +1,50 @@
+// [Name] SVGFEConvolveMatrixElement-dom-edgeMode-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'edgeMode' attribute 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", "0");
+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);
+
+shouldBeEqualToString("convolveMatrixElement.getAttribute('edgeMode')", "wrap");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("edgeMode", "duplicate");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('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-dom-in-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-in-attr.js
new file mode 100644
index 0000000..15b5989
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-in-attr.js
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-dom-in-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'in' attribute 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");
+convolveMatrixElement.setAttribute("preserveToAlpha", "true");
+
+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.getAttribute('in')", "SourceAlpha");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("in", "SourceGraphic");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('in')", "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-dom-kernelMatrix-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.js
new file mode 100644
index 0000000..bac8206
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.js
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'kernelMatrix' attribute 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("preserveToAlpha", "true");
+
+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.getAttribute('kernelMatrix')", "-2 0 0 0 1 0 0 0 2");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("kernelMatrix", "3 0 3 0 0 0 3 0 3");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('kernelMatrix')", "3 0 3 0 0 0 3 0 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-dom-kernelUnitLength-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.js
new file mode 100644
index 0000000..1724682
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.js
@@ -0,0 +1,50 @@
+// [Name] SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'kernelUnitLength' attribute 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("preserveToAlpha", "true");
+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);
+
+shouldBeEqualToString("convolveMatrixElement.getAttribute('kernelUnitLength')", "1");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("kernelUnitLength", "0.05");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('kernelUnitLength')", "0.05");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js
new file mode 100644
index 0000000..a29e4f1
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-order-attr.js
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-dom-order-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'order' attribute 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 0 0 3 0 3");
+convolveMatrixElement.setAttribute("preserveToAlpha", "true");
+
+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.getAttribute('order')", "2 2");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("order", "3 3");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('order')", "3 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-dom-preserveAlpha-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.js
new file mode 100644
index 0000000..cd7352a
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.js
@@ -0,0 +1,49 @@
+// [Name] SVGFEConvolveMatrixElement-preserveAlpha-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'preserveAlpha' attribute 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);
+
+shouldBeEqualToString("convolveMatrixElement.getAttribute('preserveAlpha')", "false");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("preserveAlpha", "true");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('preserveAlpha')", "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-dom-targetX-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetX-attr.js
new file mode 100644
index 0000000..3757b55
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetX-attr.js
@@ -0,0 +1,50 @@
+// [Name] SVGFEConvolveMatrixElement-dom-targetX-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'targetX' attribute 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("preserveToAlpha", "true");
+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);
+
+shouldBeEqualToString("convolveMatrixElement.getAttribute('targetX')", "2");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("targetX", "0");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('targetX')", "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-dom-targetY-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetY-attr.js
new file mode 100644
index 0000000..53f48a0
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEConvolveMatrixElement-dom-targetY-attr.js
@@ -0,0 +1,50 @@
+// [Name] SVGFEConvolveMatrixElement-dom-targetY-attr.js
+// [Expected rendering result] An image with feConvolveMatrix filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'targetY' attribute 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("preserveToAlpha", "true");
+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);
+
+shouldBeEqualToString("convolveMatrixElement.getAttribute('targetY')", "2");
+
+function executeTest() {
+    convolveMatrixElement.setAttribute("targetY", "0");
+    shouldBeEqualToString("convolveMatrixElement.getAttribute('targetY')", "0");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
\ No newline at end of file
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b123753..f180fc1 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,30 @@
+2010-10-14  Renata Hodovan  <reni at inf.u-szeged.hu>
+
+        Reviewed by Andreas Kling.
+
+        SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change.
+        https://bugs.webkit.org/show_bug.cgi?id=47660
+
+        The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
+        The patch also implements the simple setOrder and setKernelUnitLength methods.
+
+        Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html
+               svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html
+
+        * svg/SVGFEConvolveMatrixElement.cpp:
+        (WebCore::SVGFEConvolveMatrixElement::setOrder):
+        (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
+        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
+        * svg/SVGFEConvolveMatrixElement.h:
+
 2010-10-14  No'am Rosenthal  <noam.rosenthal at nokia.com>
 
         Reviewed by Andreas Kling.
diff --git a/WebCore/svg/SVGFEConvolveMatrixElement.cpp b/WebCore/svg/SVGFEConvolveMatrixElement.cpp
index db2fad5..d7f14a2 100644
--- a/WebCore/svg/SVGFEConvolveMatrixElement.cpp
+++ b/WebCore/svg/SVGFEConvolveMatrixElement.cpp
@@ -93,14 +93,35 @@ void SVGFEConvolveMatrixElement::parseMappedAttribute(Attribute* attr)
         SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr);
 }
 
-void SVGFEConvolveMatrixElement::setOrder(float, float)
+void SVGFEConvolveMatrixElement::setOrder(float x, float y)
 {
-    // FIXME: Needs an implementation.
+    setOrderXBaseValue(x);
+    setOrderYBaseValue(y);
+    invalidate();
 }
 
-void SVGFEConvolveMatrixElement::setKernelUnitLength(float, float)
+void SVGFEConvolveMatrixElement::setKernelUnitLength(float x, float y)
 {
-    // FIXME: Needs an implementation.
+    setKernelUnitLengthXBaseValue(x);
+    setKernelUnitLengthYBaseValue(y);
+    invalidate();
+}
+
+void SVGFEConvolveMatrixElement::svgAttributeChanged(const QualifiedName& attrName)
+{
+    SVGFilterPrimitiveStandardAttributes::svgAttributeChanged(attrName);
+
+    if (attrName == SVGNames::inAttr
+        || attrName == SVGNames::orderAttr
+        || attrName == SVGNames::edgeModeAttr
+        || attrName == SVGNames::kernelMatrixAttr
+        || attrName == SVGNames::divisorAttr
+        || attrName == SVGNames::biasAttr
+        || attrName == SVGNames::targetXAttr
+        || attrName == SVGNames::targetYAttr
+        || attrName == SVGNames::kernelUnitLengthAttr
+        || attrName == SVGNames::preserveAlphaAttr)
+        invalidate();
 }
 
 PassRefPtr<FilterEffect> SVGFEConvolveMatrixElement::build(SVGFilterBuilder* filterBuilder)
diff --git a/WebCore/svg/SVGFEConvolveMatrixElement.h b/WebCore/svg/SVGFEConvolveMatrixElement.h
index b1fe7e2..5c4e8c4 100644
--- a/WebCore/svg/SVGFEConvolveMatrixElement.h
+++ b/WebCore/svg/SVGFEConvolveMatrixElement.h
@@ -38,6 +38,7 @@ private:
     SVGFEConvolveMatrixElement(const QualifiedName&, Document*);
 
     virtual void parseMappedAttribute(Attribute*);
+    virtual void svgAttributeChanged(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 
     DECLARE_ANIMATED_PROPERTY(SVGFEConvolveMatrixElement, SVGNames::inAttr, String, In1, in1)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list