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

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 13:41:54 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 1d4524c9d46a7c7a1b9026cc3f7fccc1f3cb9d8c
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 23 18:17:56 2010 +0000

    2010-09-23  Renata Hodovan  <reni at inf.u-szeged.hu>
    
            Reviewed by Dirk Schulze.
    
            SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
            https://bugs.webkit.org/show_bug.cgi?id=46363
            Adding layout tests for feMorphology dynamic changes.
    
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.checksum: Added.
            * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.txt: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.txt: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.txt: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.txt: Added.
            * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html: Added.
            * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-in-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-operator-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-radius-attr.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-in-prop.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-operator-prop.js: Added.
            (executeTest):
            * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-radius-call.js: Added.
            (executeTest):
    2010-09-23  Renata Hodovan  <reni at inf.u-szeged.hu>
    
            Reviewed by Dirk Schulze.
    
            SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
            https://bugs.webkit.org/show_bug.cgi?id=46363
            The patch also implements the simple setRadius method.
    
            Tests: svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html
                   svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html
                   svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html
                   svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html
                   svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html
                   svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html
    
            * svg/SVGFEMorphologyElement.cpp:
            (WebCore::SVGFEMorphologyElement::setRadius):
            (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
            * svg/SVGFEMorphologyElement.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 8a39652..ca06d00 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,48 @@
+2010-09-23  Renata Hodovan  <reni at inf.u-szeged.hu>
+
+        Reviewed by Dirk Schulze.
+
+        SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
+        https://bugs.webkit.org/show_bug.cgi?id=46363
+        Adding layout tests for feMorphology dynamic changes.
+
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.checksum: Added.
+        * platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.txt: Added.
+        * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html: Added.
+        * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-in-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-operator-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-radius-attr.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-in-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-operator-prop.js: Added.
+        (executeTest):
+        * svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-radius-call.js: Added.
+        (executeTest):
+
 2010-09-23  Nate Chapin  <japhet at chromium.org>
 
         Reviewed by Darin Fisher.
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.checksum
new file mode 100644
index 0000000..f33ce3b
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.checksum
@@ -0,0 +1 @@
+38034c858ee60a3607fd17b7caa83c6d
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
new file mode 100644
index 0000000..6c69fe9
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.checksum
new file mode 100644
index 0000000..29c238a
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.checksum
@@ -0,0 +1 @@
+dc0d38c618bd04eda52c3afb9c68a2ed
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
new file mode 100644
index 0000000..7eb8978
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.checksum
new file mode 100644
index 0000000..a1e9d1d
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.checksum
@@ -0,0 +1 @@
+d693d8fb38995a2790c6111769120655
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
new file mode 100644
index 0000000..9ed1691
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.checksum
new file mode 100644
index 0000000..aeb0ba2
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.checksum
@@ -0,0 +1 @@
+27228161afb10bed6b2120df7b3f5026
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
new file mode 100644
index 0000000..3ce6535
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.checksum
new file mode 100644
index 0000000..1ffe0b7
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.checksum
@@ -0,0 +1 @@
+dd7188c4846e6be170e9868536f0f39a
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
new file mode 100644
index 0000000..e98538a
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png differ
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.checksum b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.checksum
new file mode 100644
index 0000000..ab7fdc7
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.checksum
@@ -0,0 +1 @@
+6eac2d5b81939221602b46b95876e5f0
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
new file mode 100644
index 0000000..0daee45
Binary files /dev/null and b/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png differ
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.txt
new file mode 100644
index 0000000..fa11019
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.txt
@@ -0,0 +1,14 @@
+SVG 1.1 dynamic update tests
+
+Erode radius = 4
+Tests dynamic updates of the 'in' attribute of the SVGFEMorphologyElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS morphologyElement.getAttribute('in') is "SourceAlpha"
+PASS morphologyElement.getAttribute('in') is "SourceGraphic"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html
new file mode 100644
index 0000000..857c5eb
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-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/SVGFEMorphologyElement-dom-in-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.txt
new file mode 100644
index 0000000..6362e3c
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.txt
@@ -0,0 +1,14 @@
+SVG 1.1 dynamic update tests
+
+Erode radius = 4
+Tests dynamic updates of the 'operator' attribute of the SVGFEMorphologyElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS morphologyElement.getAttribute('operator') is "dilate"
+PASS morphologyElement.getAttribute('operator') is "erode"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html
new file mode 100644
index 0000000..892b382
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-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/SVGFEMorphologyElement-dom-operator-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.txt
new file mode 100644
index 0000000..8b9716e
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.txt
@@ -0,0 +1,14 @@
+SVG 1.1 dynamic update tests
+
+Erode radius = 4
+Tests dynamic updates of the 'radius' attribute of the SVGFEMorphologyElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS morphologyElement.getAttribute('radius') is "6"
+PASS morphologyElement.getAttribute('radius') is "4"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html
new file mode 100644
index 0000000..1a3a2be
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-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/SVGFEMorphologyElement-dom-radius-attr.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.txt
new file mode 100644
index 0000000..204427d
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.txt
@@ -0,0 +1,14 @@
+SVG 1.1 dynamic update tests
+
+Erode radius = 4
+Tests dynamic updates of the 'in' property of the SVGFEMorphologyElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS morphologyElement.in1.baseVal is "SourceAlpha"
+PASS morphologyElement.in1.baseVal is "SourceGraphic"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html
new file mode 100644
index 0000000..11bef69
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-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/SVGFEMorphologyElement-svgdom-in-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.txt
new file mode 100644
index 0000000..1fc9894
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.txt
@@ -0,0 +1,14 @@
+SVG 1.1 dynamic update tests
+
+Erode radius = 4
+Tests dynamic updates of the 'operator' property of the SVGFEMorphologyElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS morphologyElement.operator.baseVal is SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE
+PASS morphologyElement.operator.baseVal is SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html
new file mode 100644
index 0000000..63c599f
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-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/SVGFEMorphologyElement-svgdom-operator-prop.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.txt b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.txt
new file mode 100644
index 0000000..24c49e1
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.txt
@@ -0,0 +1,16 @@
+SVG 1.1 dynamic update tests
+
+Erode radius = 4
+Tests dynamic updates of the 'radius' property of the SVGFEMorphologyElement object
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS morphologyElement.radiusX.baseVal is 6
+PASS morphologyElement.radiusY.baseVal is 6
+PASS morphologyElement.radiusX.baseVal is 4
+PASS morphologyElement.radiusY.baseVal is 4
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html
new file mode 100644
index 0000000..bb3ba25
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.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/SVGFEMorphologyElement-svgdom-radius-call.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-in-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-in-attr.js
new file mode 100644
index 0000000..4d586c9
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-in-attr.js
@@ -0,0 +1,52 @@
+// [Name] SVGFEMorphologyElement-dom-in-attr.js
+// [Expected rendering result] A text message with feMorphology filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'in' attribute of the SVGFEMorphologyElement object")
+createSVGTestCase();
+
+var morphologyElement = createSVGElement("feMorphology");
+morphologyElement.setAttribute("in", "SourceAlpha");
+morphologyElement.setAttribute("operator", "erode");
+morphologyElement.setAttribute("radius", "4");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "700");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(morphologyElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+rootSVGElement.setAttribute("font-family", "Verdana");
+rootSVGElement.setAttribute("font-size", "45");
+rootSVGElement.setAttribute("fill", "none");
+rootSVGElement.setAttribute("stroke", "black");
+rootSVGElement.setAttribute("stroke-width", "8");
+
+var textElement = createSVGElement("text");
+textElement.setAttribute("x", 20);
+textElement.setAttribute("y", 90);
+textElement.setAttribute("stroke", "#AF1E2D");
+textElement.textContent = "Erode radius = 4";
+textElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(textElement);
+
+shouldBeEqualToString("morphologyElement.getAttribute('in')", "SourceAlpha");
+
+function executeTest() {
+    morphologyElement.setAttribute("in", "SourceGraphic");
+    shouldBeEqualToString("morphologyElement.getAttribute('in')", "SourceGraphic");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-operator-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-operator-attr.js
new file mode 100644
index 0000000..0adf162
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-operator-attr.js
@@ -0,0 +1,51 @@
+// [Name] SVGFEMorphologyElement-dom-operator-attr.js
+// [Expected rendering result] A text message with feMorphology filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'operator' attribute of the SVGFEMorphologyElement object")
+createSVGTestCase();
+
+var morphologyElement = createSVGElement("feMorphology");
+morphologyElement.setAttribute("in", "SourceAlpha");
+morphologyElement.setAttribute("operator", "dilate");
+morphologyElement.setAttribute("radius", "4");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "700");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(morphologyElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+rootSVGElement.setAttribute("font-family", "Verdana");
+rootSVGElement.setAttribute("font-size", "45");
+rootSVGElement.setAttribute("fill", "none");
+rootSVGElement.setAttribute("stroke", "black");
+rootSVGElement.setAttribute("stroke-width", "8");
+
+var textElement = createSVGElement("text");
+textElement.setAttribute("x", 20);
+textElement.setAttribute("y", 90);
+textElement.textContent = "Erode radius = 4";
+textElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(textElement);
+
+shouldBeEqualToString("morphologyElement.getAttribute('operator')", "dilate");
+
+function executeTest() {
+    morphologyElement.setAttribute("operator", "erode");
+    shouldBeEqualToString("morphologyElement.getAttribute('operator')", "erode");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-radius-attr.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-radius-attr.js
new file mode 100644
index 0000000..1a35d2a
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-dom-radius-attr.js
@@ -0,0 +1,51 @@
+// [Name] SVGFEMorphologyElement-dom-radius-attr.js
+// [Expected rendering result] A text message with feMorphology filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'radius' attribute of the SVGFEMorphologyElement object")
+createSVGTestCase();
+
+var morphologyElement = createSVGElement("feMorphology");
+morphologyElement.setAttribute("in", "SourceGraphic");
+morphologyElement.setAttribute("operator", "erode");
+morphologyElement.setAttribute("radius", "6");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "700");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(morphologyElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+rootSVGElement.setAttribute("font-family", "Verdana");
+rootSVGElement.setAttribute("font-size", "45");
+rootSVGElement.setAttribute("fill", "none");
+rootSVGElement.setAttribute("stroke", "black");
+rootSVGElement.setAttribute("stroke-width", "8");
+
+var textElement = createSVGElement("text");
+textElement.setAttribute("x", 20);
+textElement.setAttribute("y", 90);
+textElement.textContent = "Erode radius = 4";
+textElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(textElement);
+
+shouldBeEqualToString("morphologyElement.getAttribute('radius')", "6");
+
+function executeTest() {
+    morphologyElement.setAttribute("radius", "4");
+    shouldBeEqualToString("morphologyElement.getAttribute('radius')", "4");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-in-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-in-prop.js
new file mode 100644
index 0000000..bdb34c5
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-in-prop.js
@@ -0,0 +1,52 @@
+// [Name] SVGFEMorphologyElement-svgdom-in-prop.js
+// [Expected rendering result] A text message with feMorphology filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'in' property of the SVGFEMorphologyElement object")
+createSVGTestCase();
+
+var morphologyElement = createSVGElement("feMorphology");
+morphologyElement.setAttribute("in", "SourceAlpha");
+morphologyElement.setAttribute("operator", "erode");
+morphologyElement.setAttribute("radius", "4");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "700");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(morphologyElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+rootSVGElement.setAttribute("font-family", "Verdana");
+rootSVGElement.setAttribute("font-size", "45");
+rootSVGElement.setAttribute("fill", "none");
+rootSVGElement.setAttribute("stroke", "black");
+rootSVGElement.setAttribute("stroke-width", "8");
+
+var textElement = createSVGElement("text");
+textElement.setAttribute("x", 20);
+textElement.setAttribute("y", 90);
+textElement.setAttribute("stroke", "#AF1E2D");
+textElement.textContent = "Erode radius = 4";
+textElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(textElement);
+
+shouldBeEqualToString("morphologyElement.in1.baseVal", "SourceAlpha");
+
+function executeTest() {
+    morphologyElement.in1.baseVal = "SourceGraphic";
+    shouldBeEqualToString("morphologyElement.in1.baseVal", "SourceGraphic");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-operator-prop.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-operator-prop.js
new file mode 100644
index 0000000..95ff495
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-operator-prop.js
@@ -0,0 +1,51 @@
+// [Name] SVGFEMorphologyElement-svgdom-operator-prop.js
+// [Expected rendering result] A text message with feMorphology filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'operator' property of the SVGFEMorphologyElement object")
+createSVGTestCase();
+
+var morphologyElement = createSVGElement("feMorphology");
+morphologyElement.setAttribute("in", "SourceGraphic");
+morphologyElement.setAttribute("operator", "dilate");
+morphologyElement.setAttribute("radius", "4");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "700");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(morphologyElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+rootSVGElement.setAttribute("font-family", "Verdana");
+rootSVGElement.setAttribute("font-size", "45");
+rootSVGElement.setAttribute("fill", "none");
+rootSVGElement.setAttribute("stroke", "black");
+rootSVGElement.setAttribute("stroke-width", "8");
+
+var textElement = createSVGElement("text");
+textElement.setAttribute("x", 20);
+textElement.setAttribute("y", 90);
+textElement.textContent = "Erode radius = 4";
+textElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(textElement);
+
+shouldBe("morphologyElement.operator.baseVal", "SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE");
+
+function executeTest() {
+    morphologyElement.operator.baseVal = SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE;
+    shouldBe("morphologyElement.operator.baseVal", "SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-radius-call.js b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-radius-call.js
new file mode 100644
index 0000000..0c1ee0c
--- /dev/null
+++ b/LayoutTests/svg/dynamic-updates/script-tests/SVGFEMorphologyElement-svgdom-radius-call.js
@@ -0,0 +1,53 @@
+// [Name] SVGFEMorphologyElement-svgdom-radius-call.js
+// [Expected rendering result] A text message with feMorphology filter - and a series of PASS messages
+
+description("Tests dynamic updates of the 'radius' property of the SVGFEMorphologyElement object")
+createSVGTestCase();
+
+var morphologyElement = createSVGElement("feMorphology");
+morphologyElement.setAttribute("in", "SourceGraphic");
+morphologyElement.setAttribute("operator", "erode");
+morphologyElement.setAttribute("radius", "6");
+
+var filterElement = createSVGElement("filter");
+filterElement.setAttribute("id", "myFilter");
+filterElement.setAttribute("filterUnits", "userSpaceOnUse");
+filterElement.setAttribute("x", "0");
+filterElement.setAttribute("y", "0");
+filterElement.setAttribute("width", "700");
+filterElement.setAttribute("height", "200");
+filterElement.appendChild(morphologyElement);
+
+var defsElement = createSVGElement("defs");
+defsElement.appendChild(filterElement);
+
+rootSVGElement.appendChild(defsElement);
+rootSVGElement.setAttribute("width", "700");
+rootSVGElement.setAttribute("height", "200");
+rootSVGElement.setAttribute("font-family", "Verdana");
+rootSVGElement.setAttribute("font-size", "45");
+rootSVGElement.setAttribute("fill", "none");
+rootSVGElement.setAttribute("stroke", "black");
+rootSVGElement.setAttribute("stroke-width", "8");
+
+var textElement = createSVGElement("text");
+textElement.setAttribute("x", 20);
+textElement.setAttribute("y", 90);
+textElement.textContent = "Erode radius = 4";
+textElement.setAttribute("filter", "url(#myFilter)");
+rootSVGElement.appendChild(textElement);
+
+shouldBe("morphologyElement.radiusX.baseVal", "6");
+shouldBe("morphologyElement.radiusY.baseVal", "6");
+
+function executeTest() {
+    morphologyElement.setRadius(4, 4);
+    shouldBe("morphologyElement.radiusX.baseVal", "4");
+    shouldBe("morphologyElement.radiusY.baseVal", "4");
+
+    completeTest();
+}
+
+startTest(rootSVGElement, 100, 100);
+
+var successfullyParsed = true;
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c3121a1..f2288b8 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,23 @@
+2010-09-23  Renata Hodovan  <reni at inf.u-szeged.hu>
+
+        Reviewed by Dirk Schulze.
+
+        SVGFEMorphologyElement doesn't support dynamic invalidation, when attributes change.
+        https://bugs.webkit.org/show_bug.cgi?id=46363
+        The patch also implements the simple setRadius method.
+
+        Tests: svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html
+               svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html
+               svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html
+               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html
+               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html
+               svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html
+
+        * svg/SVGFEMorphologyElement.cpp:
+        (WebCore::SVGFEMorphologyElement::setRadius):
+        (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
+        * svg/SVGFEMorphologyElement.h:
+
 2010-09-23  Patrick Gansterer  <paroga at webkit.org>
 
         Reviewed by Adam Roben.
diff --git a/WebCore/svg/SVGFEMorphologyElement.cpp b/WebCore/svg/SVGFEMorphologyElement.cpp
index b45c6f9..bfd0c0f 100644
--- a/WebCore/svg/SVGFEMorphologyElement.cpp
+++ b/WebCore/svg/SVGFEMorphologyElement.cpp
@@ -42,9 +42,11 @@ PassRefPtr<SVGFEMorphologyElement> SVGFEMorphologyElement::create(const Qualifie
     return adoptRef(new SVGFEMorphologyElement(tagName, document));
 }
 
-void SVGFEMorphologyElement::setRadius(float, float)
+void SVGFEMorphologyElement::setRadius(float x, float y)
 {
-    // FIXME: Needs an implementation.
+    setRadiusXBaseValue(x);
+    setRadiusYBaseValue(y);
+    invalidate();
 }
 
 void SVGFEMorphologyElement::parseMappedAttribute(Attribute* attr)
@@ -67,6 +69,16 @@ void SVGFEMorphologyElement::parseMappedAttribute(Attribute* attr)
         SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr);
 }
 
+void SVGFEMorphologyElement::svgAttributeChanged(const QualifiedName& attrName)
+{
+    SVGFilterPrimitiveStandardAttributes::svgAttributeChanged(attrName);
+
+    if (attrName == SVGNames::inAttr
+        || attrName == SVGNames::operatorAttr
+        || attrName == SVGNames::radiusAttr)
+        invalidate();
+}
+
 void SVGFEMorphologyElement::synchronizeProperty(const QualifiedName& attrName)
 {
     SVGFilterPrimitiveStandardAttributes::synchronizeProperty(attrName);
diff --git a/WebCore/svg/SVGFEMorphologyElement.h b/WebCore/svg/SVGFEMorphologyElement.h
index c2be757..6bbc20c 100644
--- a/WebCore/svg/SVGFEMorphologyElement.h
+++ b/WebCore/svg/SVGFEMorphologyElement.h
@@ -39,6 +39,7 @@ private:
     SVGFEMorphologyElement(const QualifiedName&, Document*);
 
     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