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

zherczeg at webkit.org zherczeg at webkit.org
Wed Dec 22 11:24:31 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 03f16da5016e1775c97b8669cf7f84a566a0ba15
Author: zherczeg at webkit.org <zherczeg at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jul 22 12:41:58 2010 +0000

    SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
    https://bugs.webkit.org/show_bug.cgi?id=42244
    
    Reviewed by Nikolas Zimmermann.
    
    WebCore:
    
    Implementing svgAttributeChanged and childrenChanged for the base class of all filters,
    called SVGFilterPrimitiveStandardAttributes.
    
    Tests: svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
           svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html
    
    * svg/SVGFilterPrimitiveStandardAttributes.cpp:
    (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
    (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
    * svg/SVGFilterPrimitiveStandardAttributes.h:
    (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter):
    
    LayoutTests:
    
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.png: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html: Added.
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-height-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-result-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-width-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-x-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-y-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.js: Added.
    (executeTest):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63883 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index f71bd7b..4e50f4f 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,71 @@
+2010-07-22  Zoltan Herczeg  <zherczeg at webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
+        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
+        https://bugs.webkit.org/show_bug.cgi?id=42244
+
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.png: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html: Added.
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-height-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-result-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-width-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-x-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-y-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.js: Added.
+        (executeTest):
+
 2010-07-22  Kent Hansen  <kent.hansen at nokia.com>
 
         Reviewed by Kent Tamura.
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.checksum
new file mode 100644
index 0000000..cb85aaa
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.checksum
@@ -0,0 +1 @@
+fee94953fee506044437f62bde56e974
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.png
new file mode 100644
index 0000000..ebc1bd1
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.checksum
new file mode 100644
index 0000000..ed44621
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.checksum
@@ -0,0 +1 @@
+992106cc51ce9d500f19473764641535
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.png
new file mode 100644
index 0000000..0ed3559
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.checksum
new file mode 100644
index 0000000..fe41294
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.checksum
@@ -0,0 +1 @@
+1bd6a56da6da74316fe1f627f5bd8379
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.png
new file mode 100644
index 0000000..b2fe291
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.checksum
new file mode 100644
index 0000000..e1f5ef3
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.checksum
@@ -0,0 +1 @@
+64a5f11feac6da179f1151f8a0d66e33
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.png
new file mode 100644
index 0000000..df0da34
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.checksum
new file mode 100644
index 0000000..a05088f
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.checksum
@@ -0,0 +1 @@
+a82012e04917372f9cde6ed8ddc043a7
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.png
new file mode 100644
index 0000000..cf39eb3
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.checksum
new file mode 100644
index 0000000..62b5000
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.checksum
@@ -0,0 +1 @@
+360af166aa18de67a9398035f797e587
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.png
new file mode 100644
index 0000000..dc42335
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.checksum
new file mode 100644
index 0000000..2e1dd04
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.checksum
@@ -0,0 +1 @@
+a6495a0efdef46525f63801cc7f3da92
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.png
new file mode 100644
index 0000000..c7033fc
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.checksum
new file mode 100644
index 0000000..912adcd
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.checksum
@@ -0,0 +1 @@
+14b6072487f3a8e68d7c9a6efd63a14d
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.png
new file mode 100644
index 0000000..d6561e9
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.checksum
new file mode 100644
index 0000000..1329a55
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.checksum
@@ -0,0 +1 @@
+810b4151c3e5346b825cc187e44a235c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.png
new file mode 100644
index 0000000..5cf4691
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.checksum
new file mode 100644
index 0000000..67c8740
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.checksum
@@ -0,0 +1 @@
+5fa2537b9969143e632859d6981f3e2d
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.png
new file mode 100644
index 0000000..4b8288b
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.png differ
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.txt
new file mode 100644
index 0000000..98704d3
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'height' attribute of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('height') is "100"
+PASS gradientElement.getAttribute('height') is "200"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
new file mode 100644
index 0000000..c012711
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-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/SVGFilterPrimitiveStandardAttributes-dom-height-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.txt
new file mode 100644
index 0000000..8c68e28
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'result' attribute of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('result') is "res1"
+PASS gradientElement.getAttribute('result') is "res2"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
new file mode 100644
index 0000000..dcd420c
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-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/SVGFilterPrimitiveStandardAttributes-dom-result-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.txt
new file mode 100644
index 0000000..d6564fa
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'width' attribute of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('width') is "100"
+PASS gradientElement.getAttribute('width') is "200"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
new file mode 100644
index 0000000..88d1832
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-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/SVGFilterPrimitiveStandardAttributes-dom-width-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.txt
new file mode 100644
index 0000000..94869a5
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'x' attribute of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('x') is "100"
+PASS gradientElement.getAttribute('x') is "0"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
new file mode 100644
index 0000000..52eba9b
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-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/SVGFilterPrimitiveStandardAttributes-dom-x-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.txt
new file mode 100644
index 0000000..2c7221f
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'y' attribute of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('y') is "100"
+PASS gradientElement.getAttribute('y') is "0"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
new file mode 100644
index 0000000..8a4a3f5
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-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/SVGFilterPrimitiveStandardAttributes-dom-y-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.txt
new file mode 100644
index 0000000..349a285
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'height' property of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.height.baseVal.value is 100
+PASS gradientElement.height.baseVal.value is 200
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
new file mode 100644
index 0000000..ec12969
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.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/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.txt
new file mode 100644
index 0000000..25b4519
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'result' propert of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.result.baseVal is "res1"
+PASS gradientElement.result.baseVal is "res2"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
new file mode 100644
index 0000000..83a7b21
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.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/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.txt
new file mode 100644
index 0000000..400e8b9
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'width' property of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.width.baseVal.value is 100
+PASS gradientElement.width.baseVal.value is 200
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
new file mode 100644
index 0000000..8dc6fae
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.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/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.txt
new file mode 100644
index 0000000..ea8ee0b
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'x' property of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.x.baseVal.value is 100
+PASS gradientElement.x.baseVal.value is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
new file mode 100644
index 0000000..dff130a
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.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/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.txt
new file mode 100644
index 0000000..a33e8e3
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'y' property of the SVGFilterPrimitiveStandardAttributes object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.y.baseVal.value is 100
+PASS gradientElement.y.baseVal.value is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html
new file mode 100644
index 0000000..5245aa5
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.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/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-height-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-height-attr.js
new file mode 100644
index 0000000..32c0144
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-height-attr.js
@@ -0,0 +1,55 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-dom-height-attr.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'height' attribute of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "0");
+gradientElement.setAttribute("y", "0");
+gradientElement.setAttribute("width", "200");
+gradientElement.setAttribute("height", "100");
+gradientElement.appendChild(pointLight);
+
+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(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('height')", "100");
+
+function executeTest() {
+    gradientElement.setAttribute("height", "200");
+    shouldBeEqualToString("gradientElement.getAttribute('height')", "200");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-result-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-result-attr.js
new file mode 100644
index 0000000..32d4736
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-result-attr.js
@@ -0,0 +1,68 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-dom-result-attr.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'result' attribute of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+// This dummy filter hides a bug on mac-leopard (works on Qt)
+// Should be removed when the bug is fixed
+var dummyElement = createSVGElement("feGaussianBlur");
+dummyElement.setAttribute("width", "200");
+dummyElement.setAttribute("height", "200");
+dummyElement.setAttribute("result", "res2");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "0");
+gradientElement.setAttribute("y", "0");
+gradientElement.setAttribute("width", "200");
+gradientElement.setAttribute("height", "200");
+gradientElement.setAttribute("result", "res1");
+gradientElement.appendChild(pointLight);
+
+var offsetElement = createSVGElement("feOffset");
+offsetElement.setAttribute("in", "res2");
+
+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(dummyElement);
+filterElement.appendChild(gradientElement);
+filterElement.appendChild(offsetElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('result')", "res1");
+
+function executeTest() {
+    gradientElement.setAttribute("result", "res2");
+    shouldBeEqualToString("gradientElement.getAttribute('result')", "res2");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-width-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-width-attr.js
new file mode 100644
index 0000000..4367404
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-width-attr.js
@@ -0,0 +1,55 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-dom-width-attr.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'width' attribute of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "0");
+gradientElement.setAttribute("y", "0");
+gradientElement.setAttribute("width", "100");
+gradientElement.setAttribute("height", "200");
+gradientElement.appendChild(pointLight);
+
+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(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('width')", "100");
+
+function executeTest() {
+    gradientElement.setAttribute("width", "200");
+    shouldBeEqualToString("gradientElement.getAttribute('width')", "200");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-x-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-x-attr.js
new file mode 100644
index 0000000..5eb2bc5
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-x-attr.js
@@ -0,0 +1,55 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-dom-x-attr.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'x' attribute of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "100");
+gradientElement.setAttribute("y", "0");
+gradientElement.setAttribute("width", "200");
+gradientElement.setAttribute("height", "200");
+gradientElement.appendChild(pointLight);
+
+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(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('x')", "100");
+
+function executeTest() {
+    gradientElement.setAttribute("x", "0");
+    shouldBeEqualToString("gradientElement.getAttribute('x')", "0");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-y-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-y-attr.js
new file mode 100644
index 0000000..3d2a0bf
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-dom-y-attr.js
@@ -0,0 +1,55 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-dom-y-attr.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'y' attribute of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "0");
+gradientElement.setAttribute("y", "100");
+gradientElement.setAttribute("width", "200");
+gradientElement.setAttribute("height", "200");
+gradientElement.appendChild(pointLight);
+
+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(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('y')", "100");
+
+function executeTest() {
+    gradientElement.setAttribute("y", "0");
+    shouldBeEqualToString("gradientElement.getAttribute('y')", "0");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.js
new file mode 100644
index 0000000..b52cdac
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.js
@@ -0,0 +1,55 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'height' property of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "0");
+gradientElement.setAttribute("y", "0");
+gradientElement.setAttribute("width", "200");
+gradientElement.setAttribute("height", "100");
+gradientElement.appendChild(pointLight);
+
+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(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBe("gradientElement.height.baseVal.value", "100");
+
+function executeTest() {
+    gradientElement.height.baseVal.value = 200;
+    shouldBe("gradientElement.height.baseVal.value", "200");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.js
new file mode 100644
index 0000000..70ca0c4
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.js
@@ -0,0 +1,68 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'result' propert of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+// This dummy filter hides a bug on mac-leopard (works on Qt)
+// Should be removed when the bug is fixed
+var dummyElement = createSVGElement("feGaussianBlur");
+dummyElement.setAttribute("width", "200");
+dummyElement.setAttribute("height", "200");
+dummyElement.setAttribute("result", "res2");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "0");
+gradientElement.setAttribute("y", "0");
+gradientElement.setAttribute("width", "200");
+gradientElement.setAttribute("height", "200");
+gradientElement.setAttribute("result", "res1");
+gradientElement.appendChild(pointLight);
+
+var offsetElement = createSVGElement("feOffset");
+offsetElement.setAttribute("in", "res2");
+
+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(dummyElement);
+filterElement.appendChild(gradientElement);
+filterElement.appendChild(offsetElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.result.baseVal", "res1");
+
+function executeTest() {
+    gradientElement.result.baseVal = "res2";
+    shouldBeEqualToString("gradientElement.result.baseVal", "res2");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.js
new file mode 100644
index 0000000..dbea496
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.js
@@ -0,0 +1,55 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'width' property of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "0");
+gradientElement.setAttribute("y", "0");
+gradientElement.setAttribute("width", "100");
+gradientElement.setAttribute("height", "200");
+gradientElement.appendChild(pointLight);
+
+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(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBe("gradientElement.width.baseVal.value", "100");
+
+function executeTest() {
+    gradientElement.width.baseVal.value = 200;
+    shouldBe("gradientElement.width.baseVal.value", "200");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.js
new file mode 100644
index 0000000..2b21c86
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.js
@@ -0,0 +1,55 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'x' property of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "100");
+gradientElement.setAttribute("y", "0");
+gradientElement.setAttribute("width", "200");
+gradientElement.setAttribute("height", "200");
+gradientElement.appendChild(pointLight);
+
+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(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBe("gradientElement.x.baseVal.value", "100");
+
+function executeTest() {
+    gradientElement.x.baseVal.value = 0;
+    shouldBe("gradientElement.x.baseVal.value", "0");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.js
new file mode 100644
index 0000000..56bd3e8
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.js
@@ -0,0 +1,55 @@
+// [Name] SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.js
+// [Expected rendering result] An offseted gradient (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'y' property of the SVGFilterPrimitiveStandardAttributes object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "100");
+pointLight.setAttribute("z", "30");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+gradientElement.setAttribute("x", "0");
+gradientElement.setAttribute("y", "100");
+gradientElement.setAttribute("width", "200");
+gradientElement.setAttribute("height", "200");
+gradientElement.appendChild(pointLight);
+
+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(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("rect");
+rectElement.setAttribute("x", "0");
+rectElement.setAttribute("y", "0");
+rectElement.setAttribute("width", "200");
+rectElement.setAttribute("height", "200");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBe("gradientElement.y.baseVal.value", "100");
+
+function executeTest() {
+    gradientElement.y.baseVal.value = 0;
+    shouldBe("gradientElement.y.baseVal.value", "0");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f976cf2..6f9fe39 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,30 @@
+2010-07-22  Zoltan Herczeg  <zherczeg at webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
+        SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
+        https://bugs.webkit.org/show_bug.cgi?id=42244
+
+        Implementing svgAttributeChanged and childrenChanged for the base class of all filters,
+        called SVGFilterPrimitiveStandardAttributes.
+
+        Tests: svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
+               svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html
+
+        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+        (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
+        (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
+        * svg/SVGFilterPrimitiveStandardAttributes.h:
+        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter):
+
 2010-07-22  Kent Tamura  <tkent at chromium.org>
 
         Reviewed by Darin Adler.
diff --git a/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp b/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp
index 9b6b747..8e284e6 100644
--- a/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp
+++ b/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp
@@ -65,6 +65,18 @@ void SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(Attribute* attr)
         return SVGStyledElement::parseMappedAttribute(attr);
 }
 
+void SVGFilterPrimitiveStandardAttributes::svgAttributeChanged(const QualifiedName& attrName)
+{
+    SVGStyledElement::svgAttributeChanged(attrName);
+
+    if (attrName == SVGNames::xAttr
+        || attrName == SVGNames::yAttr
+        || attrName == SVGNames::widthAttr
+        || attrName == SVGNames::heightAttr
+        || attrName == SVGNames::resultAttr)
+        invalidateFilter();
+}
+
 void SVGFilterPrimitiveStandardAttributes::synchronizeProperty(const QualifiedName& attrName)
 {
     SVGStyledElement::synchronizeProperty(attrName);
@@ -90,6 +102,14 @@ void SVGFilterPrimitiveStandardAttributes::synchronizeProperty(const QualifiedNa
         synchronizeResult();
 }
 
+void SVGFilterPrimitiveStandardAttributes::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
+{
+    SVGStyledElement::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta);
+
+    if (!changedByParser)
+        invalidateResourceClients();
+}
+
 void SVGFilterPrimitiveStandardAttributes::setStandardAttributes(bool primitiveBoundingBoxMode, FilterEffect* filterEffect) const
 {
     ASSERT(filterEffect);
diff --git a/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h b/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
index 6d1adad..14784a5 100644
--- a/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
+++ b/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
@@ -24,6 +24,7 @@
 #if ENABLE(SVG) && ENABLE(FILTERS)
 #include "FilterEffect.h"
 #include "SVGFilterBuilder.h"
+#include "SVGFilterElement.h"
 #include "SVGNames.h"
 #include "SVGStyledElement.h"
 
@@ -40,13 +41,23 @@ public:
     virtual bool isFilterEffect() const { return true; }
 
     virtual void parseMappedAttribute(Attribute*);
+    virtual void svgAttributeChanged(const QualifiedName&);
     virtual void synchronizeProperty(const QualifiedName&);
+    virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*) = 0;
 
     virtual bool rendererIsNeeded(RenderStyle*) { return false; }
 
     void setStandardAttributes(bool, FilterEffect*) const;
 
+protected:
+    void invalidateFilter()
+    {
+        if (!inDocument() || !parentNode()->hasTagName(SVGNames::filterTag))
+            return;
+        static_cast<SVGFilterElement*>(parentNode())->invalidateResourceClients();
+    }
+
 private:
     DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::xAttr, SVGLength, X, x)
     DECLARE_ANIMATED_PROPERTY(SVGFilterPrimitiveStandardAttributes, SVGNames::yAttr, SVGLength, Y, y)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list