[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:31:39 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 7c3ba634a25f5d31721f26bb23c3d2243c514bf2
Author: zherczeg at webkit.org <zherczeg at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jul 28 08:03:57 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 for SVGFEDiffuseLightingElement object.
    
    Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
           svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
           svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
           svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
           svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
           svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
           svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
           svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html
    
    * svg/SVGFEDiffuseLightingElement.cpp:
    (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
    * svg/SVGFEDiffuseLightingElement.h:
    
    LayoutTests:
    
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.png: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.checksum: Added.
    * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.png: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.txt: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.txt: Added.
    * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html: Added.
    * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-in-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-lighting-color-css-prop.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-in-prop.js: Added.
    (executeTest):
    * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js: Added.
    (executeTest):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64191 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index a178b99..7e0d973 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,59 @@
+2010-07-28  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/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.png: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html: Added.
+        * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-in-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-lighting-color-css-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-in-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js: Added.
+        (executeTest):
+
 2010-07-27  Daniel Bates  <dbates at rim.com>
 
         Unreviewed; remove platform-specific expected results.
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.checksum
new file mode 100644
index 0000000..9f1781f
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.checksum
@@ -0,0 +1 @@
+17f613f518fa96eaf04b5665376f21c6
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.png
new file mode 100644
index 0000000..71a363d
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.checksum
new file mode 100644
index 0000000..590e176
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.checksum
@@ -0,0 +1 @@
+cb0a1ce11b98bb8f20caee21cc827537
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.png
new file mode 100644
index 0000000..7497a07
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.checksum
new file mode 100644
index 0000000..6c929d5
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.checksum
@@ -0,0 +1 @@
+0a7d21c1b0e8f4cfaf45b63f545a9f66
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.png
new file mode 100644
index 0000000..db0c05d
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.checksum
new file mode 100644
index 0000000..9e462e1
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.checksum
@@ -0,0 +1 @@
+867d80dd6ba1e356566c66bad2bdc739
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.png
new file mode 100644
index 0000000..2d83833
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.checksum
new file mode 100644
index 0000000..1a1fa39
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.checksum
@@ -0,0 +1 @@
+3ebe46f74da6ce45855377513b293ba7
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.png
new file mode 100644
index 0000000..254485b
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.checksum
new file mode 100644
index 0000000..8fcece4
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.checksum
@@ -0,0 +1 @@
+a25087cfe3b4741de25f13c273bbd06e
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.png
new file mode 100644
index 0000000..4cfda4a
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.checksum
new file mode 100644
index 0000000..97a3e5d
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.checksum
@@ -0,0 +1 @@
+2061b100f62c1e13f737bfacf3b9a6d6
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.png
new file mode 100644
index 0000000..9f96b53
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.checksum
new file mode 100644
index 0000000..b55747d
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.checksum
@@ -0,0 +1 @@
+4ba162b04759b146548003b5c1a17477
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.png
new file mode 100644
index 0000000..494a9aa
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.png differ
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.txt
new file mode 100644
index 0000000..3d102a6
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'diffuseConstant' attribute of the SVGFEDiffuseLightingElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('diffuseConstant') is "0"
+PASS gradientElement.getAttribute('diffuseConstant') is "1"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
new file mode 100644
index 0000000..ca5847c
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-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/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.txt
new file mode 100644
index 0000000..e2a848e
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'in' attribute of the SVGFEDiffuseLightingElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('in') is "SourceGraphic"
+PASS gradientElement.getAttribute('in') is "blur"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
new file mode 100644
index 0000000..3620c19
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-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/SVGFEDiffuseLightingElement-dom-in-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.txt
new file mode 100644
index 0000000..1a5f2ec
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'lighting-color' attribute of the SVGFEDiffuseLightingElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('lighting-color') is "green"
+PASS gradientElement.getAttribute('lighting-color') is "yellow"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
new file mode 100644
index 0000000..deb16a3
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-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/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.txt
new file mode 100644
index 0000000..02156b9
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'surfaceScale' attribute of the SVGFEDiffuseLightingElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.getAttribute('surfaceScale') is "0"
+PASS gradientElement.getAttribute('surfaceScale') is "1"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
new file mode 100644
index 0000000..a2c3b01
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-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/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.txt
new file mode 100644
index 0000000..37a871c
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'lighting-color' css property of the SVGFEDiffuseLightingElement object (The pixel test currently fails - the image is not changed to yellow)
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.defaultView.getComputedStyle(gradientElement).getPropertyValue('lighting-color') is "rgb(255, 0, 0)"
+PASS document.defaultView.getComputedStyle(gradientElement).getPropertyValue('lighting-color') is "rgb(255, 255, 0)"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
new file mode 100644
index 0000000..90f5ac5
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-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/SVGFEDiffuseLightingElement-lighting-color-css-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.txt
new file mode 100644
index 0000000..436c547
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'diffuseConstant' property of the SVGFEDiffuseLightingElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.diffuseConstant.baseVal is 0
+PASS gradientElement.diffuseConstant.baseVal is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
new file mode 100644
index 0000000..854410b
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-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/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.txt
new file mode 100644
index 0000000..9f6d17b
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'in' property of the SVGFEDiffuseLightingElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.in1.baseVal is "SourceGraphic"
+PASS gradientElement.in1.baseVal is "blur"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
new file mode 100644
index 0000000..03fe03e
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-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/SVGFEDiffuseLightingElement-svgdom-in-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.txt
new file mode 100644
index 0000000..83b4ec4
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop-expected.txt
@@ -0,0 +1,13 @@
+SVG 1.1 dynamic update tests
+
+Tests dynamic updates of the 'surfaceScale' property of the SVGFEDiffuseLightingElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS gradientElement.surfaceScale.baseVal is 0
+PASS gradientElement.surfaceScale.baseVal is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html
new file mode 100644
index 0000000..d147600
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-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/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js
new file mode 100644
index 0000000..b853733
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js
@@ -0,0 +1,59 @@
+// [Name] SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.js
+// [Expected rendering result] A shining circle (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'diffuseConstant' attribute of the SVGFEDiffuseLightingElement object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "180");
+pointLight.setAttribute("z", "30");
+
+var blurElement = createSVGElement("feGaussianBlur");
+blurElement.setAttribute("in", "SourceGraphic");
+blurElement.setAttribute("stdDeviation", "2");
+blurElement.setAttribute("result", "blur");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "blur");
+gradientElement.setAttribute("surfaceScale", "1");
+gradientElement.setAttribute("diffuseConstant", "0");
+gradientElement.setAttribute("lighting-color", "yellow");
+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(blurElement);
+filterElement.appendChild(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("circle");
+rectElement.setAttribute("width", 200);
+rectElement.setAttribute("height", 200);
+rectElement.setAttribute("cx", "100");
+rectElement.setAttribute("cy", "60");
+rectElement.setAttribute("r", "50");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('diffuseConstant')", "0");
+
+function executeTest() {
+    gradientElement.setAttribute("diffuseConstant", "1");
+    shouldBeEqualToString("gradientElement.getAttribute('diffuseConstant')", "1");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-in-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-in-attr.js
new file mode 100644
index 0000000..546e6eb
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-in-attr.js
@@ -0,0 +1,59 @@
+// [Name] SVGFEDiffuseLightingElement-dom-in-attr.js
+// [Expected rendering result] A shining circle (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'in' attribute of the SVGFEDiffuseLightingElement object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "180");
+pointLight.setAttribute("z", "30");
+
+var blurElement = createSVGElement("feGaussianBlur");
+blurElement.setAttribute("in", "SourceGraphic");
+blurElement.setAttribute("stdDeviation", "2");
+blurElement.setAttribute("result", "blur");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("surfaceScale", "1");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+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(blurElement);
+filterElement.appendChild(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("circle");
+rectElement.setAttribute("width", 200);
+rectElement.setAttribute("height", 200);
+rectElement.setAttribute("cx", "100");
+rectElement.setAttribute("cy", "60");
+rectElement.setAttribute("r", "50");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('in')", "SourceGraphic");
+
+function executeTest() {
+    gradientElement.setAttribute("in", "blur");
+    shouldBeEqualToString("gradientElement.getAttribute('in')", "blur");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js
new file mode 100644
index 0000000..9cc3e3a
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-lighting-color-attr.js
@@ -0,0 +1,59 @@
+// [Name] SVGFEDiffuseLightingElement-dom-lighting-color-attr.js
+// [Expected rendering result] A shining circle (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'lighting-color' attribute of the SVGFEDiffuseLightingElement object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "180");
+pointLight.setAttribute("z", "30");
+
+var blurElement = createSVGElement("feGaussianBlur");
+blurElement.setAttribute("in", "SourceGraphic");
+blurElement.setAttribute("stdDeviation", "2");
+blurElement.setAttribute("result", "blur");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "blur");
+gradientElement.setAttribute("surfaceScale", "1");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "green");
+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(blurElement);
+filterElement.appendChild(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("circle");
+rectElement.setAttribute("width", 200);
+rectElement.setAttribute("height", 200);
+rectElement.setAttribute("cx", "100");
+rectElement.setAttribute("cy", "60");
+rectElement.setAttribute("r", "50");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('lighting-color')", "green");
+
+function executeTest() {
+    gradientElement.setAttribute("lighting-color", "yellow");
+    shouldBeEqualToString("gradientElement.getAttribute('lighting-color')", "yellow");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js
new file mode 100644
index 0000000..f7738c5
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js
@@ -0,0 +1,59 @@
+// [Name] SVGFEDiffuseLightingElement-dom-surfaceScale-attr.js
+// [Expected rendering result] A shining circle (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'surfaceScale' attribute of the SVGFEDiffuseLightingElement object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "180");
+pointLight.setAttribute("z", "30");
+
+var blurElement = createSVGElement("feGaussianBlur");
+blurElement.setAttribute("in", "SourceGraphic");
+blurElement.setAttribute("stdDeviation", "2");
+blurElement.setAttribute("result", "blur");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "blur");
+gradientElement.setAttribute("surfaceScale", "0");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+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(blurElement);
+filterElement.appendChild(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("circle");
+rectElement.setAttribute("width", 200);
+rectElement.setAttribute("height", 200);
+rectElement.setAttribute("cx", "100");
+rectElement.setAttribute("cy", "60");
+rectElement.setAttribute("r", "50");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.getAttribute('surfaceScale')", "0");
+
+function executeTest() {
+    gradientElement.setAttribute("surfaceScale", "1");
+    shouldBeEqualToString("gradientElement.getAttribute('surfaceScale')", "1");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-lighting-color-css-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-lighting-color-css-prop.js
new file mode 100644
index 0000000..0c7473e
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-lighting-color-css-prop.js
@@ -0,0 +1,59 @@
+// [Name] SVGFEDiffuseLightingElement-lighting-color-css-prop.js
+// [Expected rendering result] A shining circle (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'lighting-color' css property of the SVGFEDiffuseLightingElement object (The pixel test currently fails - the image is not changed to yellow)")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "180");
+pointLight.setAttribute("z", "30");
+
+var blurElement = createSVGElement("feGaussianBlur");
+blurElement.setAttribute("in", "SourceGraphic");
+blurElement.setAttribute("stdDeviation", "2");
+blurElement.setAttribute("result", "blur");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "blur");
+gradientElement.setAttribute("surfaceScale", "1");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "red");
+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(blurElement);
+filterElement.appendChild(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("circle");
+rectElement.setAttribute("width", 200);
+rectElement.setAttribute("height", 200);
+rectElement.setAttribute("cx", "100");
+rectElement.setAttribute("cy", "60");
+rectElement.setAttribute("r", "50");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("document.defaultView.getComputedStyle(gradientElement).getPropertyValue('lighting-color')", "rgb(255, 0, 0)");
+
+function executeTest() {
+    gradientElement.style.setProperty("lighting-color", "yellow", "");
+    shouldBeEqualToString("document.defaultView.getComputedStyle(gradientElement).getPropertyValue('lighting-color')", "rgb(255, 255, 0)");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js
new file mode 100644
index 0000000..7747a99
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js
@@ -0,0 +1,59 @@
+// [Name] SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.js
+// [Expected rendering result] A shining circle (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'diffuseConstant' property of the SVGFEDiffuseLightingElement object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "180");
+pointLight.setAttribute("z", "30");
+
+var blurElement = createSVGElement("feGaussianBlur");
+blurElement.setAttribute("in", "SourceGraphic");
+blurElement.setAttribute("stdDeviation", "2");
+blurElement.setAttribute("result", "blur");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "blur");
+gradientElement.setAttribute("surfaceScale", "1");
+gradientElement.setAttribute("diffuseConstant", "0");
+gradientElement.setAttribute("lighting-color", "yellow");
+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(blurElement);
+filterElement.appendChild(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("circle");
+rectElement.setAttribute("width", 200);
+rectElement.setAttribute("height", 200);
+rectElement.setAttribute("cx", "100");
+rectElement.setAttribute("cy", "60");
+rectElement.setAttribute("r", "50");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBe("gradientElement.diffuseConstant.baseVal", "0");
+
+function executeTest() {
+    gradientElement.diffuseConstant.baseVal = 1;
+    shouldBe("gradientElement.diffuseConstant.baseVal", "1");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-in-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-in-prop.js
new file mode 100644
index 0000000..38b2305
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-in-prop.js
@@ -0,0 +1,59 @@
+// [Name] SVGFEDiffuseLightingElement-svgdom-in-prop.js
+// [Expected rendering result] A shining circle (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'in' property of the SVGFEDiffuseLightingElement object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "180");
+pointLight.setAttribute("z", "30");
+
+var blurElement = createSVGElement("feGaussianBlur");
+blurElement.setAttribute("in", "SourceGraphic");
+blurElement.setAttribute("stdDeviation", "2");
+blurElement.setAttribute("result", "blur");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "SourceGraphic");
+gradientElement.setAttribute("surfaceScale", "1");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+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(blurElement);
+filterElement.appendChild(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("circle");
+rectElement.setAttribute("width", 200);
+rectElement.setAttribute("height", 200);
+rectElement.setAttribute("cx", "100");
+rectElement.setAttribute("cy", "60");
+rectElement.setAttribute("r", "50");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBeEqualToString("gradientElement.in1.baseVal", "SourceGraphic");
+
+function executeTest() {
+    gradientElement.in1.baseVal = "blur";
+    shouldBeEqualToString("gradientElement.in1.baseVal", "blur");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js
new file mode 100644
index 0000000..e41a185
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js
@@ -0,0 +1,59 @@
+// [Name] SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.js
+// [Expected rendering result] A shining circle (performed by diffuse lighting) - and a series of PASS messages
+
+description("Tests dynamic updates of the 'surfaceScale' property of the SVGFEDiffuseLightingElement object")
+createSVGTestCase();
+
+var pointLight = createSVGElement("fePointLight");
+pointLight.setAttribute("x", "100");
+pointLight.setAttribute("y", "180");
+pointLight.setAttribute("z", "30");
+
+var blurElement = createSVGElement("feGaussianBlur");
+blurElement.setAttribute("in", "SourceGraphic");
+blurElement.setAttribute("stdDeviation", "2");
+blurElement.setAttribute("result", "blur");
+
+var gradientElement = createSVGElement("feDiffuseLighting");
+gradientElement.setAttribute("in", "blur");
+gradientElement.setAttribute("surfaceScale", "0");
+gradientElement.setAttribute("diffuseConstant", "1");
+gradientElement.setAttribute("lighting-color", "yellow");
+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(blurElement);
+filterElement.appendChild(gradientElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+
+var rectElement = createSVGElement("circle");
+rectElement.setAttribute("width", 200);
+rectElement.setAttribute("height", 200);
+rectElement.setAttribute("cx", "100");
+rectElement.setAttribute("cy", "60");
+rectElement.setAttribute("r", "50");
+rectElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(rectElement);
+
+shouldBe("gradientElement.surfaceScale.baseVal", "0");
+
+function executeTest() {
+    gradientElement.surfaceScale.baseVal = 1;
+    shouldBe("gradientElement.surfaceScale.baseVal", "1");
+
+    completeTest();
+}
+
+startTest(rectElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index cdf04d8..18f5561 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,25 @@
+2010-07-28  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 for SVGFEDiffuseLightingElement object.
+
+        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html
+               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html
+               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html
+               svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html
+               svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html
+               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html
+               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html
+               svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html
+
+        * svg/SVGFEDiffuseLightingElement.cpp:
+        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
+        * svg/SVGFEDiffuseLightingElement.h:
+
 2010-07-27  Kinuko Yasuda  <kinuko at chromium.org>
 
         Reviewed by Ojan Vafai.
diff --git a/WebCore/svg/SVGFEDiffuseLightingElement.cpp b/WebCore/svg/SVGFEDiffuseLightingElement.cpp
index fdb3b52..1bb274d 100644
--- a/WebCore/svg/SVGFEDiffuseLightingElement.cpp
+++ b/WebCore/svg/SVGFEDiffuseLightingElement.cpp
@@ -66,6 +66,18 @@ void SVGFEDiffuseLightingElement::parseMappedAttribute(Attribute* attr)
         SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr);
 }
 
+void SVGFEDiffuseLightingElement::svgAttributeChanged(const QualifiedName& attrName)
+{
+    SVGFilterPrimitiveStandardAttributes::svgAttributeChanged(attrName);
+
+    if (attrName == SVGNames::inAttr
+        || attrName == SVGNames::surfaceScaleAttr
+        || attrName == SVGNames::diffuseConstantAttr
+        || attrName == SVGNames::kernelUnitLengthAttr
+        || attrName == SVGNames::lighting_colorAttr)
+        invalidateFilter();
+}
+
 void SVGFEDiffuseLightingElement::synchronizeProperty(const QualifiedName& attrName)
 {
     SVGFilterPrimitiveStandardAttributes::synchronizeProperty(attrName);
diff --git a/WebCore/svg/SVGFEDiffuseLightingElement.h b/WebCore/svg/SVGFEDiffuseLightingElement.h
index 5815cfe..ec9002e 100644
--- a/WebCore/svg/SVGFEDiffuseLightingElement.h
+++ b/WebCore/svg/SVGFEDiffuseLightingElement.h
@@ -40,6 +40,7 @@ public:
     virtual ~SVGFEDiffuseLightingElement();
 
     virtual void parseMappedAttribute(Attribute*);
+    virtual void svgAttributeChanged(const QualifiedName&);
     virtual void synchronizeProperty(const QualifiedName&);
     virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*);
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list