Remove SVGUseElement.instanceRoot and all tests that depend on it
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Jan 2015 04:23:51 +0000 (04:23 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Jan 2015 04:23:51 +0000 (04:23 +0000)
https://bugs.webkit.org/show_bug.cgi?id=141025

Reviewed by Anders Carlsson.

Source/WebCore:

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::instanceRoot): Deleted.
* svg/SVGUseElement.h: Removed instanceRoot.
* svg/SVGUseElement.idl: Ditto.

LayoutTests:

* platform/gtk/TestExpectations: Removed expected failure for now-removed test.
* platform/ios-simulator-wk2/TestExpectations: Ditto.
* platform/mac/TestExpectations: Ditto.

* platform/gtk/svg/custom/use-elementInstance-event-target-expected.png: Removed.
* platform/gtk/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
* platform/gtk/svg/custom/use-elementInstance-methods-expected.png: Removed.
* platform/gtk/svg/custom/use-elementInstance-methods-expected.txt: Removed.
* platform/ios-sim-deprecated/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
* platform/ios-sim-deprecated/svg/custom/use-elementInstance-methods-expected.txt: Removed.
* platform/ios-simulator/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
* platform/ios-simulator/svg/custom/use-elementInstance-methods-expected.txt: Removed.
* platform/mac-mountainlion/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
* platform/mac-mountainlion/svg/custom/use-elementInstance-methods-expected.txt: Removed.
* platform/mac/svg/custom/use-elementInstance-event-target-expected.png: Removed.
* platform/mac/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
* platform/mac/svg/custom/use-elementInstance-methods-expected.png: Removed.
* platform/mac/svg/custom/use-elementInstance-methods-expected.txt: Removed.
* svg/custom/element-instance-held-by-js-crash-expected.txt: Removed.
* svg/custom/element-instance-held-by-js-crash.svg: Removed.
* svg/custom/resources/use-instanceRoot-event-bubbling.js: Find element by id instead
of using use.instanceRoot.correspondingElement.
* svg/custom/resources/use-instanceRoot-event-listeners.js: Removed.
* svg/custom/use-crash-using-children-before-destroy.svg: Removed a line of code that
got at the instanceRoot. It's possible this test no longer has value, and if so, then
we could later delete it, but it does no harm.
* svg/custom/use-elementInstance-event-target.svg: Removed.
* svg/custom/use-elementInstance-methods.svg: Removed.
* svg/custom/use-instanceRoot-as-event-target-expected.txt: Removed.
* svg/custom/use-instanceRoot-as-event-target.xhtml: Removed.
* svg/custom/use-instanceRoot-event-listener-liveness-expected.txt: Removed.
* svg/custom/use-instanceRoot-event-listener-liveness.xhtml: Removed.
* svg/custom/use-instanceRoot-event-listeners-expected.txt: Removed.
* svg/custom/use-instanceRoot-event-listeners.xhtml: Removed.
* svg/custom/use-instanceRoot-modifications.svg: Removed the part of this that involved
the instanceRoot property. It's possible this test now has reduced value, and if so, we
could later delete it but it does no harm.
* svg/custom/use-instanceRoot-with-use-removed.svg: Removed the use of instanceRoot
and correspondingUseElement. Not certain this remains a useful test. Also converted line
endings to LF instead of CRLF.
* svg/custom/use-listener-append-crash.html: Get elements by id instead of instanceRoot.
* svg/custom/use-modify-target-container.svg: Ditto.
* svg/custom/use-modify-target-symbol.svg: Ditto.
* svg/custom/use-on-use-with-child-expected.txt: Updated since we don't dump an instance
tree any more.
* svg/custom/use-on-use-with-child.svg: Removed the part about dumping the instance tree,
and added in the part about dragging to make sure it doesn't crash.
* svg/dom/use-transform.svg: Get element by id instead of instanceRoot.

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

43 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/gtk/TestExpectations
LayoutTests/platform/gtk/svg/custom/use-elementInstance-event-target-expected.png [deleted file]
LayoutTests/platform/gtk/svg/custom/use-elementInstance-event-target-expected.txt [deleted file]
LayoutTests/platform/gtk/svg/custom/use-elementInstance-methods-expected.png [deleted file]
LayoutTests/platform/gtk/svg/custom/use-elementInstance-methods-expected.txt [deleted file]
LayoutTests/platform/ios-sim-deprecated/svg/custom/use-elementInstance-event-target-expected.txt [deleted file]
LayoutTests/platform/ios-sim-deprecated/svg/custom/use-elementInstance-methods-expected.txt [deleted file]
LayoutTests/platform/ios-simulator-wk2/TestExpectations
LayoutTests/platform/ios-simulator/svg/custom/use-elementInstance-event-target-expected.txt [deleted file]
LayoutTests/platform/ios-simulator/svg/custom/use-elementInstance-methods-expected.txt [deleted file]
LayoutTests/platform/mac-mountainlion/svg/custom/use-elementInstance-event-target-expected.txt [deleted file]
LayoutTests/platform/mac-mountainlion/svg/custom/use-elementInstance-methods-expected.txt [deleted file]
LayoutTests/platform/mac/TestExpectations
LayoutTests/platform/mac/svg/custom/use-elementInstance-event-target-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/use-elementInstance-event-target-expected.txt [deleted file]
LayoutTests/platform/mac/svg/custom/use-elementInstance-methods-expected.png [deleted file]
LayoutTests/platform/mac/svg/custom/use-elementInstance-methods-expected.txt [deleted file]
LayoutTests/svg/custom/element-instance-held-by-js-crash-expected.txt [deleted file]
LayoutTests/svg/custom/element-instance-held-by-js-crash.svg [deleted file]
LayoutTests/svg/custom/resources/use-instanceRoot-event-bubbling.js
LayoutTests/svg/custom/resources/use-instanceRoot-event-listeners.js [deleted file]
LayoutTests/svg/custom/use-crash-using-children-before-destroy.svg
LayoutTests/svg/custom/use-elementInstance-event-target.svg [deleted file]
LayoutTests/svg/custom/use-elementInstance-methods.svg [deleted file]
LayoutTests/svg/custom/use-instanceRoot-as-event-target-expected.txt [deleted file]
LayoutTests/svg/custom/use-instanceRoot-as-event-target.xhtml [deleted file]
LayoutTests/svg/custom/use-instanceRoot-event-listener-liveness-expected.txt [deleted file]
LayoutTests/svg/custom/use-instanceRoot-event-listener-liveness.xhtml [deleted file]
LayoutTests/svg/custom/use-instanceRoot-event-listeners-expected.txt [deleted file]
LayoutTests/svg/custom/use-instanceRoot-event-listeners.xhtml [deleted file]
LayoutTests/svg/custom/use-instanceRoot-modifications.svg
LayoutTests/svg/custom/use-instanceRoot-with-use-removed.svg
LayoutTests/svg/custom/use-listener-append-crash.html
LayoutTests/svg/custom/use-modify-target-container.svg
LayoutTests/svg/custom/use-modify-target-symbol.svg
LayoutTests/svg/custom/use-on-use-with-child-expected.txt
LayoutTests/svg/custom/use-on-use-with-child.svg
LayoutTests/svg/dom/use-transform.svg
Source/WebCore/ChangeLog
Source/WebCore/svg/SVGUseElement.cpp
Source/WebCore/svg/SVGUseElement.h
Source/WebCore/svg/SVGUseElement.idl

index 166fbc2ff792c33822374db41fbcb10dfa3be396..956134165691e527d2eebc8a5f6c3a9682f4d11c 100644 (file)
@@ -1,3 +1,59 @@
+2015-01-29  Darin Adler  <darin@apple.com>
+
+        Remove SVGUseElement.instanceRoot and all tests that depend on it
+        https://bugs.webkit.org/show_bug.cgi?id=141025
+
+        Reviewed by Anders Carlsson.
+
+        * platform/gtk/TestExpectations: Removed expected failure for now-removed test.
+        * platform/ios-simulator-wk2/TestExpectations: Ditto.
+        * platform/mac/TestExpectations: Ditto.
+
+        * platform/gtk/svg/custom/use-elementInstance-event-target-expected.png: Removed.
+        * platform/gtk/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
+        * platform/gtk/svg/custom/use-elementInstance-methods-expected.png: Removed.
+        * platform/gtk/svg/custom/use-elementInstance-methods-expected.txt: Removed.
+        * platform/ios-sim-deprecated/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
+        * platform/ios-sim-deprecated/svg/custom/use-elementInstance-methods-expected.txt: Removed.
+        * platform/ios-simulator/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
+        * platform/ios-simulator/svg/custom/use-elementInstance-methods-expected.txt: Removed.
+        * platform/mac-mountainlion/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
+        * platform/mac-mountainlion/svg/custom/use-elementInstance-methods-expected.txt: Removed.
+        * platform/mac/svg/custom/use-elementInstance-event-target-expected.png: Removed.
+        * platform/mac/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
+        * platform/mac/svg/custom/use-elementInstance-methods-expected.png: Removed.
+        * platform/mac/svg/custom/use-elementInstance-methods-expected.txt: Removed.
+        * svg/custom/element-instance-held-by-js-crash-expected.txt: Removed.
+        * svg/custom/element-instance-held-by-js-crash.svg: Removed.
+        * svg/custom/resources/use-instanceRoot-event-bubbling.js: Find element by id instead
+        of using use.instanceRoot.correspondingElement.
+        * svg/custom/resources/use-instanceRoot-event-listeners.js: Removed.
+        * svg/custom/use-crash-using-children-before-destroy.svg: Removed a line of code that
+        got at the instanceRoot. It's possible this test no longer has value, and if so, then
+        we could later delete it, but it does no harm.
+        * svg/custom/use-elementInstance-event-target.svg: Removed.
+        * svg/custom/use-elementInstance-methods.svg: Removed.
+        * svg/custom/use-instanceRoot-as-event-target-expected.txt: Removed.
+        * svg/custom/use-instanceRoot-as-event-target.xhtml: Removed.
+        * svg/custom/use-instanceRoot-event-listener-liveness-expected.txt: Removed.
+        * svg/custom/use-instanceRoot-event-listener-liveness.xhtml: Removed.
+        * svg/custom/use-instanceRoot-event-listeners-expected.txt: Removed.
+        * svg/custom/use-instanceRoot-event-listeners.xhtml: Removed.
+        * svg/custom/use-instanceRoot-modifications.svg: Removed the part of this that involved
+        the instanceRoot property. It's possible this test now has reduced value, and if so, we
+        could later delete it but it does no harm.
+        * svg/custom/use-instanceRoot-with-use-removed.svg: Removed the use of instanceRoot
+        and correspondingUseElement. Not certain this remains a useful test. Also converted line
+        endings to LF instead of CRLF.
+        * svg/custom/use-listener-append-crash.html: Get elements by id instead of instanceRoot.
+        * svg/custom/use-modify-target-container.svg: Ditto.
+        * svg/custom/use-modify-target-symbol.svg: Ditto.
+        * svg/custom/use-on-use-with-child-expected.txt: Updated since we don't dump an instance
+        tree any more.
+        * svg/custom/use-on-use-with-child.svg: Removed the part about dumping the instance tree,
+        and added in the part about dragging to make sure it doesn't crash.
+        * svg/dom/use-transform.svg: Get element by id instead of instanceRoot.
+
 2015-01-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
 
         Unreviewed EFL port gardening. Some tests have been passed since r172999 though,
index 01d5b78f548494363b07458ba28d97feb8d72e04..e61a05f85080852690fbb28175fbbc2e6d6857b5 100644 (file)
@@ -542,8 +542,6 @@ webkit.org/b/86443 [ Debug ] plugins/npruntime/delete-plugin-within-invoke.html
 
 webkit.org/b/86176 [ Debug ] ietestcenter/css3/valuesandunits/units-000.htm [ Crash ]
 
-webkit.org/b/93812 [ Debug ] svg/custom/use-instanceRoot-as-event-target.xhtml [ Crash Pass ]
-
 webkit.org/b/90957 [ Release ] js/dom/random-array-gc-stress.html [ Timeout Crash Pass ]
 
 webkit.org/b/94458 [ Debug ] fast/events/message-port-context-destroyed.html [ Crash Pass ]
@@ -694,8 +692,6 @@ webkit.org/b/61121 http/tests/appcache/interrupted-update.html [ Failure Pass ]
 webkit.org/b/94119 storage/websql/database-lock-after-reload.html [ Failure Pass ]
 webkit.org/b/132283 storage/websql/read-transactions-running-concurrently.html [ Failure Pass ]
 
-webkit.org/b/93812 [ Release ] svg/custom/use-instanceRoot-as-event-target.xhtml [ Pass Timeout ]
-
 webkit.org/b/95430 fast/layers/scroll-no-visible-content-but-visible-descendant.html [ ImageOnlyFailure Pass ]
 
 webkit.org/b/73409 fast/forms/textarea-placeholder-set-attribute.html [ ImageOnlyFailure Pass ]
diff --git a/LayoutTests/platform/gtk/svg/custom/use-elementInstance-event-target-expected.png b/LayoutTests/platform/gtk/svg/custom/use-elementInstance-event-target-expected.png
deleted file mode 100644 (file)
index ce216ce..0000000
Binary files a/LayoutTests/platform/gtk/svg/custom/use-elementInstance-event-target-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/svg/custom/use-elementInstance-event-target-expected.txt b/LayoutTests/platform/gtk/svg/custom/use-elementInstance-event-target-expected.txt
deleted file mode 100644 (file)
index 95e83fa..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#008000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGText {text} at (0,-14) size 216x17 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 216x17
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 36 width 216.00: "Click on the grey rectangle to start"
-    RenderSVGText {text} at (0,-14) size 220x17 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 220x17
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 32 width 220.00: "Test for correspondingUseElement"
-    RenderSVGText {text} at (0,-14) size 195x17 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 195x17
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 29 width 195.00: "Test for correspondingElement"
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
diff --git a/LayoutTests/platform/gtk/svg/custom/use-elementInstance-methods-expected.png b/LayoutTests/platform/gtk/svg/custom/use-elementInstance-methods-expected.png
deleted file mode 100644 (file)
index a8164a7..0000000
Binary files a/LayoutTests/platform/gtk/svg/custom/use-elementInstance-methods-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/gtk/svg/custom/use-elementInstance-methods-expected.txt b/LayoutTests/platform/gtk/svg/custom/use-elementInstance-methods-expected.txt
deleted file mode 100644 (file)
index 17ecb1f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGText {text} at (100,36) size 77x17 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 77x17
-        chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 12 width 77.00: "Test passed."
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#808080]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#808080]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
diff --git a/LayoutTests/platform/ios-sim-deprecated/svg/custom/use-elementInstance-event-target-expected.txt b/LayoutTests/platform/ios-sim-deprecated/svg/custom/use-elementInstance-event-target-expected.txt
deleted file mode 100644 (file)
index bae0425..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#008000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGText {text} at (0,-15) size 222x19 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 222x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 36 width 221.26: "Click on the grey rectangle to start"
-    RenderSVGText {text} at (0,-15) size 224x19 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 224x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 32 width 223.93: "Test for correspondingUseElement"
-    RenderSVGText {text} at (0,-15) size 200x19 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 200x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 29 width 199.05: "Test for correspondingElement"
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
diff --git a/LayoutTests/platform/ios-sim-deprecated/svg/custom/use-elementInstance-methods-expected.txt b/LayoutTests/platform/ios-sim-deprecated/svg/custom/use-elementInstance-methods-expected.txt
deleted file mode 100644 (file)
index 7849a69..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGText {text} at (100,35) size 79x19 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 79x18
-        chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 12 width 78.20: "Test passed."
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#808080]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#808080]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
index e3ba4a1b4cfa4798ae78849ab3d90f59fe62893f..efeb99ebe25f2421ce10c32bf9a4d93fa5a988f9 100644 (file)
@@ -413,7 +413,6 @@ svg/custom/use-elementInstance-event-target.svg
 svg/custom/use-elementInstance-methods.svg
 svg/custom/use-event-handler-on-referenced-element.svg
 svg/custom/use-event-handler-on-use-element.svg
-svg/custom/use-instanceRoot-as-event-target.xhtml
 svg/custom/use-instanceRoot-event-bubbling.xhtml
 svg/custom/use-instanceRoot-event-listeners.xhtml
 svg/custom/use-move-to-offset.svg
diff --git a/LayoutTests/platform/ios-simulator/svg/custom/use-elementInstance-event-target-expected.txt b/LayoutTests/platform/ios-simulator/svg/custom/use-elementInstance-event-target-expected.txt
deleted file mode 100644 (file)
index bae0425..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#008000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGText {text} at (0,-15) size 222x19 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 222x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 36 width 221.26: "Click on the grey rectangle to start"
-    RenderSVGText {text} at (0,-15) size 224x19 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 224x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 32 width 223.93: "Test for correspondingUseElement"
-    RenderSVGText {text} at (0,-15) size 200x19 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 200x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 29 width 199.05: "Test for correspondingElement"
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
diff --git a/LayoutTests/platform/ios-simulator/svg/custom/use-elementInstance-methods-expected.txt b/LayoutTests/platform/ios-simulator/svg/custom/use-elementInstance-methods-expected.txt
deleted file mode 100644 (file)
index 7849a69..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGText {text} at (100,35) size 79x19 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 79x18
-        chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 12 width 78.20: "Test passed."
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#808080]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#808080]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
diff --git a/LayoutTests/platform/mac-mountainlion/svg/custom/use-elementInstance-event-target-expected.txt b/LayoutTests/platform/mac-mountainlion/svg/custom/use-elementInstance-event-target-expected.txt
deleted file mode 100644 (file)
index d23b702..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#008000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGText {text} at (0,-14) size 216x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 216x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 36 width 216.00: "Click on the grey rectangle to start"
-    RenderSVGText {text} at (0,-14) size 220x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 220x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 32 width 220.00: "Test for correspondingUseElement"
-    RenderSVGText {text} at (0,-14) size 195x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 195x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 29 width 195.00: "Test for correspondingElement"
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
diff --git a/LayoutTests/platform/mac-mountainlion/svg/custom/use-elementInstance-methods-expected.txt b/LayoutTests/platform/mac-mountainlion/svg/custom/use-elementInstance-methods-expected.txt
deleted file mode 100644 (file)
index 65bb00a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGText {text} at (100,36) size 77x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 77x18
-        chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 12 width 77.00: "Test passed."
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#808080]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#808080]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
index 7d0b8f00d4d663a8392a8f5c326be03bcfbe7f47..166ae76ace66cf5d7953d9ee5a67707d9122b4f6 100644 (file)
@@ -434,11 +434,6 @@ platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html [ Skip ]
 # Assertion failure in MessagePort::contextDestroyed, usually attributed to later tests
 http/tests/security/MessagePort/event-listener-context.html [ Skip ]
 
-# https://bugs.webkit.org/show_bug.cgi?id=93812
-# REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-event-target.xhtml assert and flakey
-# ASSERTION FAILED: m_wrapper || !m_jsFunction
-svg/custom/use-instanceRoot-as-event-target.xhtml [ Skip ]
-
 webkit.org/b/112620 [ Debug ] svg/custom/image-with-attr-change-after-delete-crash.html [ Crash Pass ]
 
 # Assorted failures that need investigation
diff --git a/LayoutTests/platform/mac/svg/custom/use-elementInstance-event-target-expected.png b/LayoutTests/platform/mac/svg/custom/use-elementInstance-event-target-expected.png
deleted file mode 100644 (file)
index bca62b6..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/use-elementInstance-event-target-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/use-elementInstance-event-target-expected.txt b/LayoutTests/platform/mac/svg/custom/use-elementInstance-event-target-expected.txt
deleted file mode 100644 (file)
index 70d014f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#008000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-    RenderSVGText {text} at (0,-14) size 222x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 222x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 36 width 221.26: "Click on the grey rectangle to start"
-    RenderSVGText {text} at (0,-14) size 224x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 224x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 32 width 223.93: "Test for correspondingUseElement"
-    RenderSVGText {text} at (0,-14) size 200x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 200x18
-        chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 29 width 199.05: "Test for correspondingElement"
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
diff --git a/LayoutTests/platform/mac/svg/custom/use-elementInstance-methods-expected.png b/LayoutTests/platform/mac/svg/custom/use-elementInstance-methods-expected.png
deleted file mode 100644 (file)
index 4dfa583..0000000
Binary files a/LayoutTests/platform/mac/svg/custom/use-elementInstance-methods-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/svg/custom/use-elementInstance-methods-expected.txt b/LayoutTests/platform/mac/svg/custom/use-elementInstance-methods-expected.txt
deleted file mode 100644 (file)
index 2f40797..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderSVGRoot {svg} at (0,0) size 480x360
-    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#000000]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#000000]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGText {text} at (100,36) size 79x18 contains 1 chunk(s)
-      RenderSVGInlineText {#text} at (0,0) size 79x18
-        chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 12 width 78.20: "Test passed."
-    RenderSVGContainer {use} at (240,1) size 239x358
-      RenderSVGContainer {g} at (240,1) size 239x358
-        RenderSVGRect {rect} at (240,1) size 239x358 [fill={[type=SOLID] [color=#808080]}] [x=240.00] [y=1.00] [width=239.00] [height=358.00]
-        RenderSVGEllipse {circle} at (0,0) size 0x0 [fill={[type=SOLID] [color=#808080]}] [cx=240.00] [cy=1.00] [r=0.00]
-    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
diff --git a/LayoutTests/svg/custom/element-instance-held-by-js-crash-expected.txt b/LayoutTests/svg/custom/element-instance-held-by-js-crash-expected.txt
deleted file mode 100644 (file)
index bc5d7f7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-PASS - Null corresponding element dereference does not crash.
-
diff --git a/LayoutTests/svg/custom/element-instance-held-by-js-crash.svg b/LayoutTests/svg/custom/element-instance-held-by-js-crash.svg
deleted file mode 100644 (file)
index c04b381..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <script>
-    <![CDATA[
-    window.onload = function() {
-        // Grab a reference to an SVGElementInstance native object. This reference will prevent the
-        // object from deletion when the shadow DOM is removed due to a style change.
-        instance = document.getElementById("use_elem").instanceRoot;
-
-        // Setting an attribute forces re-creation of the shadow DOM
-        document.getElementById("circleID").setAttribute("cx", 30);
-
-        // The animate element tries to modify the element, which tries to update the
-        // instances in the circle, which crashes if it holds a pointer to a non-existent element.
-
-        if (window.testRunner)
-            testRunner.dumpAsText();
-    }
-    //]]>
-    </script>
-    <circle transform="translate(1)" id="circleID" fill="green" cy="15" cx="15" r="10" >
-        <animate attributeName="cy" />
-    </circle>
-    <text id="resultText" y="20" x="50" >
-      PASS - Null corresponding element dereference does not crash.
-    </text>
-    <use id="use_elem" xlink:href="#circleID" />
-</svg>
index d18d36b58fec8ec2e154744ff6725f4c0c879b68..c08fe9414583b862240f9ced78dc556da5df0bba 100644 (file)
@@ -43,7 +43,7 @@ function finishTest()
 {
     successfullyParsed = true;
 
-    use.instanceRoot.correspondingElement.setAttribute("fill", "green");
+    document.getElementById("rectParent").setAttribute("fill", "green");
     shouldBeTrue("successfullyParsed");
     debug('<br /><span class="pass">TEST COMPLETE</span>');
 
diff --git a/LayoutTests/svg/custom/resources/use-instanceRoot-event-listeners.js b/LayoutTests/svg/custom/resources/use-instanceRoot-event-listeners.js
deleted file mode 100644 (file)
index 74e7521..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-var counter = 0;
-var tests = 8;
-var expected = "";
-var logEvent = false;
-var rectElement = document.getElementById("target");
-var useElement = document.getElementById("test");
-description("Test attaching event listeners on SVG use elements in different ways: ");
-
-function eventHandler(evt)
-{
-    if (logEvent) {
-        if (expected == evt.type)
-            debug("Test " + counter + " / " + tests + " PASSED");
-        else
-            debug("Test " + counter + " / " + tests + " FAILED (expected: '" + expected + "' actual: '" + evt.type + "')");
-    }
-
-    setTimeout(counter < tests ? driveTests : finishTest, 0);
-}
-
-function finishTest()
-{
-    successfullyParsed = true;
-
-    useElement.instanceRoot.correspondingElement.setAttribute("fill", "green");
-    shouldBeTrue("successfullyParsed");
-    debug('<br /><span class="pass">TEST COMPLETE</span>');
-
-    if (window.testRunner)
-        testRunner.notifyDone();
-}
-
-function recordMouseEvent(type)
-{
-    expected = type;
-    logEvent = true;
-
-    ++counter;
-    fireDelayedEvent();
-}
-
-function sendMouseEvent(type, increment)
-{
-    expected = type;
-    logEvent = false;
-    fireDelayedEvent();
-}
-
-function fireDelayedEvent()
-{
-    if (expected == "mouseover")
-        eventSender.mouseMoveTo(50, 50);
-    else if (expected == "mouseout")
-        eventSender.mouseMoveTo(115, 55);
-    else if (expected == "mouseup") {
-        eventSender.mouseMoveTo(50, 50);
-        eventSender.mouseDown();
-        eventSender.mouseUp();
-    } else if (expected == "mousedown") {
-        eventSender.mouseMoveTo(50, 50);
-        eventSender.mouseDown();
-        eventSender.mouseUp();
-    }
-}
-
-function testOne()
-{
-    // Install event listener on correspondingElement via setAttribute
-    useElement.instanceRoot.correspondingElement.setAttribute("onmouseover", "eventHandler(evt)");
-    recordMouseEvent("mouseover");
-}
-
-function testTwo()
-{
-    // Install event listener on correspondingElement via onmouseout JS magic
-    useElement.instanceRoot.correspondingElement.onmouseout = eventHandler;
-    recordMouseEvent("mouseout");
-}
-
-function testThree()
-{
-    // Clean event listeners on different ways
-    useElement.instanceRoot.correspondingElement.removeAttribute("onmouseover");
-    useElement.instanceRoot.correspondingElement.onmouseout = 0;
-
-    // Verify they really got removed
-    sendMouseEvent("mouseover");
-    sendMouseEvent("mouseout");
-
-    // Verify the original listener still works
-    recordMouseEvent("mousedown");
-}
-
-function testFour()
-{
-    useElement.instanceRoot.correspondingElement.removeAttribute("onmousedown");
-
-    // Install event listener on the referenced element, without using the SVGElementInstance interface
-    rectElement.setAttribute("onmouseup", "eventHandler(evt)");
-    recordMouseEvent("mouseup");
-}
-
-function testFive()
-{
-    rectElement.onmouseout = eventHandler;
-    recordMouseEvent("mouseout");
-}
-
-function testSix()
-{
-    useElement.instanceRoot.correspondingElement.onmouseout = null;
-    sendMouseEvent("mouseout");
-
-    useElement.instanceRoot.correspondingElement.removeAttribute('onmouseup');
-    sendMouseEvent("mouseup");
-
-    useElement.instanceRoot.correspondingElement.onmouseup = eventHandler;
-    recordMouseEvent("mouseup");
-}
-
-function testSeven()
-{
-    useElement.instanceRoot.addEventListener("mouseout", eventHandler, false);
-    recordMouseEvent("mouseout");
-}
-
-function testEight()
-{
-    useElement.instanceRoot.correspondingElement.addEventListener("mouseover", eventHandler, false);
-    recordMouseEvent("mouseover");
-}
-
-function testNine()
-{
-    rectElement.addEventListener("mousedown", eventHandler, false);
-    recordMouseEvent("mousedown");
-}
-
-function driveTests()
-{
-    switch (counter) {
-    case 0:
-        testOne();
-        break;
-    case 1:
-        testTwo();
-        break;
-    case 2:
-        testThree();
-        break;
-    case 3:
-        testFour();
-        break;
-    case 4:
-        testFive();
-        break;
-    case 5:
-        testSix();
-        break;
-    case 6:
-        testSeven();
-        break;
-    case 7:
-        testEight();
-        break;
-    }
-}
-
-function repaintTest() {
-    if (window.testRunner)
-        testRunner.waitUntilDone();
-
-    if (window.eventSender)
-        driveTests();
-    else
-        alert("This test must be run via DRT!");
-}
index eacea1e1f6af54210a7228f7b331e1998990fc8b..204a6a7bc3e76efa62f0c4584979b98d062a2df3 100644 (file)
@@ -3,7 +3,6 @@
     <g id="outer"><use id="a"></use></g>
     <use id="b" xlink:href="#outer" />
 <script><![CDATA[
-var useobj = document.getElementById("b").instanceRoot;
 
 function test() {
     var elem = document.getElementById("b");
@@ -17,4 +16,4 @@ if (window.testRunner) {
     testRunner.dumpAsText();
 }
 ]]></script>
-</svg>
\ No newline at end of file
+</svg>
diff --git a/LayoutTests/svg/custom/use-elementInstance-event-target.svg b/LayoutTests/svg/custom/use-elementInstance-event-target.svg
deleted file mode 100644 (file)
index 427c7c4..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runRepaintTest()">
-  <script xlink:href="../../fast/repaint/resources/repaint.js"/>
-  <title>Test for SVGElementInstance::correspondingElement and SVGElementInstance::correspondingUseElement</title>
-
-  <defs>
-    <rect id="reference" x="240" y="1" width="239" height="358" />
-    <script type="text/ecmascript">
-    <![CDATA[
-      function repaintTest() {
-          if (window.eventSender) {
-              testRunner.waitUntilDone();
-              eventSender.mouseMoveTo(250, 50);
-              eventSender.mouseDown();
-              eventSender.mouseUp();
-          }
-      }
-
-      function test (event) {
-        // get pointers to use and reference elements
-        var reference = document.getElementById('reference');
-        var use = document.getElementById('use');
-
-        // initialize the pass count and colors
-        var pass = 0;
-        var colors = ['red', 'orange', 'green'];
-
-        // event.target.correspondingUseElement test
-        if (event.target.correspondingUseElement == use) {
-          document.getElementById('assertion_1').setAttributeNS(null, 'fill', 'green');
-          pass++;
-        }
-
-        // event.target.correspondingElement test
-        if (event.target.correspondingElement == reference) {
-          document.getElementById('assertion_2').setAttributeNS(null, 'fill', 'green');
-          pass++;
-        }
-
-        // show the result
-        use.setAttributeNS(null, 'fill', colors[pass]);
-
-        if (window.testRunner)
-          testRunner.notifyDone();
-      }
-    ]]>
-    </script>
-  </defs>
-
-  <use id="use" xlink:href="#reference" onclick="test(evt)" fill="grey" />
-
-  <text transform="translate(5,20)">Click on the grey rectangle to start</text>
-  <text id="assertion_1" fill="red" transform="translate(5,80)">Test for correspondingUseElement</text>
-  <text id="assertion_2" fill="red" transform="translate(5,110)">Test for correspondingElement</text>
-
-  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
-
-</svg>
diff --git a/LayoutTests/svg/custom/use-elementInstance-methods.svg b/LayoutTests/svg/custom/use-elementInstance-methods.svg
deleted file mode 100644 (file)
index 48092f9..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runRepaintTest()">
-  <script xlink:href="../../fast/repaint/resources/repaint.js"/>
-  <defs>
-     <g id="reference">
-         <rect x="240" y="1" width="239" height="358" />
-         <circle cx="240" cy="1" width="39" height="58" />
-     </g>
-
-    <script type="text/ecmascript">
-    <![CDATA[
-      function repaintTest() {
-          if (window.eventSender) {
-              testRunner.waitUntilDone();
-              eventSender.mouseMoveTo(250, 50);
-              eventSender.mouseDown();
-              eventSender.mouseUp();
-          }
-      }
-
-      function test (event) {
-        // get pointers to use and referenced elements
-        var container = document.getElementById('reference');
-        var rect = container.firstChild.nextSibling;
-        var circle = rect.nextSibling.nextSibling;
-        var use = document.getElementById('use');
-
-        // test all SVGElementInstance methods (except childNodes) 
-        var rectInstance = event.target;
-        var gInstance = rectInstance.parentNode;
-        var circleInstance = rectInstance.nextSibling;
-    
-        // Check wheter correspdoningElement is the <rect>, and wheter <use> is set correctly.
-        if (rectInstance.correspondingElement != rect) return;
-        if (rectInstance.correspondingUseElement != use) return;
-
-        // Our <rect> doesn't have children.
-        if (rectInstance.firstChild) return;
-        if (rectInstance.lastChild) return;
-
-        // Our <rect> SVGElementInstance has the <g> SVGElementInstance as parent node
-        if (!gInstance) return;
-        if (gInstance.correspondingElement != container) return;
-
-        // Our <rect> SVGElementInstance has no previous sibling
-        if (rectInstance.previousSibling) return;
-
-        // Our <rect> SVGElementInstance has the <circle> SVGElementInstance as next sibling
-        if (!circleInstance) return;
-        if (circleInstance.correspondingElement != circle) return;
-        if (rectInstance.nextSibling != circleInstance) return;
-
-        // Our <g> SVGElementInstance has no parent node, and <rect> as firstChild, <circle> as lastChild
-        if (gInstance.parentNode) return;
-        if (gInstance.firstChild != rectInstance) return;
-        if (gInstance.lastChild != circleInstance) return;
-
-        // Hopefully we pass :-)
-        document.getElementById("status").firstChild.nodeValue = "Test passed.";
-
-        if (window.testRunner)
-            testRunner.notifyDone();
-      }
-    ]]>
-    </script>
-  </defs>
-
-  <text x="100" y="50" id="status">Test failed.</text>
-  <use id="use" xlink:href="#reference" onclick="test(evt)" fill="grey" />
-  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
-</svg>
diff --git a/LayoutTests/svg/custom/use-instanceRoot-as-event-target-expected.txt b/LayoutTests/svg/custom/use-instanceRoot-as-event-target-expected.txt
deleted file mode 100644 (file)
index e71c78e..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-Test SVG use element specific event handling using SVGElementInstance:
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-'useElement' is the original use element
-'rectElement' is the original element which gets cloned by the use element
-
-Test #1: Verify that the use element and the contained SVGElementInstance objects are valid
-
-PASS useElement.toString() is "[object SVGUseElement]"
-PASS useElement.instanceRoot.toString() is "[object SVGElementInstance]"
-PASS useElement.instanceRoot.correspondingElement.toString() is "[object SVGRectElement]"
-PASS useElement.instanceRoot.correspondingElement == rectElement is true
-PASS useElement.instanceRoot.correspondingUseElement.toString() is "[object SVGUseElement]"
-PASS useElement.instanceRoot.correspondingUseElement == useElement is true
-PASS typeof useElement.addEventListener is "function"
-PASS typeof useElement.removeEventListener is "function"
-PASS typeof useElement.dispatchEvent is "function"
-
-Test #2: Verify that events dispatched to the SVGElementInstance objects have correct target property values
-
-PASS currentEvent.toString() is "[object MouseEvent]"
-PASS currentEvent.type.toString() is "mouseover"
-PASS currentEvent.target.toString() is "[object SVGElementInstance]"
-PASS currentEvent.currentTarget.toString() is "[object SVGElementInstance]"
-PASS currentEvent.target.correspondingElement == rectElement is true
-PASS currentEvent.target.correspondingUseElement == useElement is true
-PASS currentEvent.currentTarget.correspondingElement == rectElement is true
-PASS currentEvent.currentTarget.correspondingUseElement == useElement is true
-PASS currentEvent.target == currentEvent.currentTarget is true
-PASS currentEvent.target.correspondingElement == currentEvent.currentTarget.correspondingElement is true
-PASS currentEvent.target.correspondingUseElement == currentEvent.currentTarget.correspondingUseElement is true
-
-Test #3: Verify that events dispatched by the user end up on the SVGElementInstance objects
-
-PASS currentEvent.toString() is "[object MouseEvent]"
-PASS currentEvent.type.toString() is "mouseover"
-PASS currentEvent.target.toString() is "[object SVGElementInstance]"
-PASS currentEvent.currentTarget.toString() is "[object SVGElementInstance]"
-PASS currentEvent.target.correspondingElement == rectElement is true
-PASS currentEvent.target.correspondingUseElement == useElement is true
-PASS currentEvent.currentTarget.correspondingElement == rectElement is true
-PASS currentEvent.currentTarget.correspondingUseElement == useElement is true
-PASS currentEvent.target == currentEvent.currentTarget is true
-PASS currentEvent.target.correspondingElement == currentEvent.currentTarget.correspondingElement is true
-PASS currentEvent.target.correspondingUseElement == currentEvent.currentTarget.correspondingUseElement is true
-
-Test #4: Verify that a click event got dispatched to the original tree as defined in the markup, when sent to the 'rectElement'
-
-PASS currentEvent.toString() is "[object MouseEvent]"
-PASS currentEvent.type.toString() is "click"
-PASS currentEvent.target.toString() is "[object SVGRectElement]"
-PASS currentEvent.currentTarget.toString() is "[object SVGRectElement]"
-PASS currentEvent.target == rectElement is true
-PASS currentEvent.currentTarget == rectElement is true
-PASS currentEvent.target == currentEvent.currentTarget is true
-
-Test #5: Verify that a click event got dispatched to the instance tree when sent to the 'useElement.instanceRoot' with an event listener attached to 'rectElement'
-
-PASS currentEvent.toString() is "[object MouseEvent]"
-PASS currentEvent.type.toString() is "click"
-PASS currentEvent.target.toString() is "[object SVGElementInstance]"
-PASS currentEvent.currentTarget.toString() is "[object SVGElementInstance]"
-PASS currentEvent.target.correspondingElement == rectElement is true
-PASS currentEvent.target.correspondingUseElement == useElement is true
-PASS currentEvent.currentTarget.correspondingElement == rectElement is true
-PASS currentEvent.currentTarget.correspondingUseElement == useElement is true
-PASS currentEvent.target == currentEvent.currentTarget is true
-PASS currentEvent.target.correspondingElement == currentEvent.currentTarget.correspondingElement is true
-PASS currentEvent.target.correspondingUseElement == currentEvent.currentTarget.correspondingUseElement is true
-
-Test #6: Verify that the original click event listener got removed and a new one attached is attached to the use root SVGElementInstance
-
-PASS currentEvent.toString() is "[object MouseEvent]"
-PASS currentEvent.type.toString() is "click"
-PASS currentEvent.target.toString() is "[object SVGElementInstance]"
-PASS currentEvent.currentTarget.toString() is "[object SVGElementInstance]"
-PASS currentEvent.target.correspondingElement == rectElement is true
-PASS currentEvent.target.correspondingUseElement == useElement is true
-PASS currentEvent.currentTarget.correspondingElement == rectElement is true
-PASS currentEvent.currentTarget.correspondingUseElement == useElement is true
-PASS currentEvent.target == currentEvent.currentTarget is true
-PASS currentEvent.target.correspondingElement == currentEvent.currentTarget.correspondingElement is true
-PASS currentEvent.target.correspondingUseElement == currentEvent.currentTarget.correspondingUseElement is true
-
-Test #7: Verify that the recreating the original click event listener dynamically worked and the event is still dispatched to the instance tree
-
-PASS currentEvent.toString() is "[object MouseEvent]"
-PASS currentEvent.type.toString() is "click"
-PASS currentEvent.target.toString() is "[object SVGElementInstance]"
-PASS currentEvent.currentTarget.toString() is "[object SVGElementInstance]"
-PASS currentEvent.target.correspondingElement == rectElement is true
-PASS currentEvent.target.correspondingUseElement == useElement is true
-PASS currentEvent.currentTarget.correspondingElement == rectElement is true
-PASS currentEvent.currentTarget.correspondingUseElement == useElement is true
-PASS currentEvent.target == currentEvent.currentTarget is true
-PASS currentEvent.target.correspondingElement == currentEvent.currentTarget.correspondingElement is true
-PASS currentEvent.target.correspondingUseElement == currentEvent.currentTarget.correspondingUseElement is true
-
-Test #8: Verify that the simulated click event got dispatched to the right target
-
-PASS currentEvent.toString() is "[object MouseEvent]"
-PASS currentEvent.type.toString() is "click"
-PASS currentEvent.target.toString() is "[object SVGElementInstance]"
-PASS currentEvent.currentTarget.toString() is "[object SVGElementInstance]"
-PASS currentEvent.target.correspondingElement == rectElement is true
-PASS currentEvent.target.correspondingUseElement == useElement is true
-PASS currentEvent.currentTarget.correspondingElement == rectElement is true
-PASS currentEvent.currentTarget.correspondingUseElement == useElement is true
-PASS currentEvent.target == currentEvent.currentTarget is true
-PASS currentEvent.target.correspondingElement == currentEvent.currentTarget.correspondingElement is true
-PASS currentEvent.target.correspondingUseElement == currentEvent.currentTarget.correspondingUseElement is true
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/svg/custom/use-instanceRoot-as-event-target.xhtml b/LayoutTests/svg/custom/use-instanceRoot-as-event-target.xhtml
deleted file mode 100644 (file)
index 6b8bc87..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body onload="eventTestOne()">
-
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100px" height="100px">
-  <defs>
-      <rect id="target" fill="red" width="100" height="100" onclick="eventHandler(evt)"/>
-  </defs>
-  <use id="test" xlink:href="#target"/>
-</svg>
-
-<p id="description"/>
-<div id="console"/>
-
-<script>
-// Setting up the testcase
-if (window.testRunner)
-    testRunner.waitUntilDone();
-
-var useElement = document.getElementById("test");
-var rectElement = document.getElementById("target");
-
-// Start test immediately, to see wheter instanceRoot is already available, as expected.
-description("Test SVG use element specific event handling using SVGElementInstance: ");
-debug("'useElement' is the original use element");
-debug("'rectElement' is the original element which gets cloned by the use element");
-
-// Helper functions
-function eventHandler(evt)
-{
-    if (evt.type != nextEventType) {
-        debug("RECEIVED UNEXPECTED EVENT! shouldBe='" + nextEventType + "' was='" + evt.type + "'");
-        return;
-    }
-
-    currentEvent = evt;
-    nextEventType = "not yet set";
-    eval(eventNotification);
-}
-
-function fireMouseOverEvent(newEventNotification)
-{
-    currentEvent = undefined;
-    nextEventType = "mouseover";
-    eventNotification = newEventNotification;
-
-    if (window.eventSender) {
-        setTimeout(function() {
-            eventSender.mouseMoveTo(200, 200);
-            eventSender.mouseMoveTo(50, 50);
-        }, 0);
-    }
-}
-
-function fireMouseClickEvent(newEventNotification)
-{
-    currentEvent = undefined;
-    nextEventType = "click";
-    eventNotification = newEventNotification;
-
-    if (window.eventSender) {
-        setTimeout(function() {
-            eventSender.mouseMoveTo(50, 50);
-            eventSender.mouseDown();
-            eventSender.mouseUp();
-        }, 0);
-    }
-}
-
-function fireSimulatedMouseOverEvent(newEventNotification, eventTarget)
-{
-    currentEvent = undefined;
-    nextEventType = "mouseover";
-    eventNotification = newEventNotification;
-
-    var event = document.createEvent("MouseEvents");
-    event.initMouseEvent(nextEventType, true, true, document.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
-
-    eventTarget.dispatchEvent(event);
-}
-
-function fireSimulatedMouseClickEvent(newEventNotification, eventTarget)
-{
-    currentEvent = undefined;
-    nextEventType = "click";
-    eventNotification = newEventNotification;
-
-    var event = document.createEvent("MouseEvents");
-    event.initMouseEvent(nextEventType, true, true, document.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
-
-    eventTarget.dispatchEvent(event);
-}
-
-function verifyEvent(evtString, targetString, currentTargetString)
-{
-    shouldBeEqualToString("currentEvent.toString()", "[object MouseEvent]");
-    shouldBeEqualToString("currentEvent.type.toString()", evtString);
-    shouldBeEqualToString("currentEvent.target.toString()", targetString);
-    shouldBeEqualToString("currentEvent.currentTarget.toString()", currentTargetString);
-}
-
-function verifyMouseOverEvent()
-{
-    verifyEvent("mouseover", "[object SVGElementInstance]", "[object SVGElementInstance]");
-
-    shouldBeTrue("currentEvent.target.correspondingElement == rectElement");
-    shouldBeTrue("currentEvent.target.correspondingUseElement == useElement");
-    shouldBeTrue("currentEvent.currentTarget.correspondingElement == rectElement");
-    shouldBeTrue("currentEvent.currentTarget.correspondingUseElement == useElement");
-    shouldBeTrue("currentEvent.target == currentEvent.currentTarget");
-    shouldBeTrue("currentEvent.target.correspondingElement == currentEvent.currentTarget.correspondingElement");
-    shouldBeTrue("currentEvent.target.correspondingUseElement == currentEvent.currentTarget.correspondingUseElement");
-}
-
-function verifyClickEvent()
-{
-    verifyEvent("click", "[object SVGElementInstance]", "[object SVGElementInstance]");
-
-    shouldBeTrue("currentEvent.target.correspondingElement == rectElement");
-    shouldBeTrue("currentEvent.target.correspondingUseElement == useElement");
-    shouldBeTrue("currentEvent.currentTarget.correspondingElement == rectElement");
-    shouldBeTrue("currentEvent.currentTarget.correspondingUseElement == useElement");
-    shouldBeTrue("currentEvent.target == currentEvent.currentTarget");
-    shouldBeTrue("currentEvent.target.correspondingElement == currentEvent.currentTarget.correspondingElement");
-    shouldBeTrue("currentEvent.target.correspondingUseElement == currentEvent.currentTarget.correspondingUseElement");
-}
-
-function verifyClickEventOnReferenced()
-{
-    verifyEvent("click", "[object SVGRectElement]", "[object SVGRectElement]");
-
-    shouldBeTrue("currentEvent.target == rectElement");
-    shouldBeTrue("currentEvent.currentTarget == rectElement");
-    shouldBeTrue("currentEvent.target == currentEvent.currentTarget");
-}
-
-function checkEventListenerNotReachable()
-{
-    debug("");
-    debug("YOU SHOULD NOT SEE THIS TEXT. OTHERWHISE REMOVING EVENT LISTENERS FAILED!");
-    debug("");
-}
-
-// Event test sections
-function eventTestOne()
-{
-    debug("");
-    debug("Test #1: Verify that the use element and the contained SVGElementInstance objects are valid");
-    debug("");
-
-    shouldBeEqualToString("useElement.toString()", "[object SVGUseElement]");
-    shouldBeEqualToString("useElement.instanceRoot.toString()", "[object SVGElementInstance]");
-
-    shouldBeEqualToString("useElement.instanceRoot.correspondingElement.toString()", "[object SVGRectElement]");
-    shouldBeTrue("useElement.instanceRoot.correspondingElement == rectElement");
-
-    shouldBeEqualToString("useElement.instanceRoot.correspondingUseElement.toString()", "[object SVGUseElement]");
-    shouldBeTrue("useElement.instanceRoot.correspondingUseElement == useElement");
-
-    shouldBeEqualToString("typeof useElement.addEventListener", "function");
-    shouldBeEqualToString("typeof useElement.removeEventListener", "function");
-    shouldBeEqualToString("typeof useElement.dispatchEvent", "function");
-
-    // Spec: An element and all its corresponding SVGElementInstance objects share an event
-    // listener list. The currentTarget attribute of the event can be used to determine through
-    // which object an event listener was invoked.
-    useElement.instanceRoot.addEventListener("mouseover", eventHandler, false);
-    fireMouseOverEvent("eventTestTwo()");
-}
-
-function eventTestTwo()
-{
-    debug("");
-    debug("Test #2: Verify that events dispatched to the SVGElementInstance objects have correct target property values");
-    debug("");
-
-    // Spec: The event handling for the non-exposed tree works as if the referenced element had been textually included as
-    // a deeply cloned child of the 'use' element, except that events are dispatched to the SVGElementInstance objects.
-    // The event's target and currentTarget attributes are set to the SVGElementInstance that corresponds to the target
-    // and current target elements in the referenced subtree. An event propagates through the exposed and non-exposed
-    // portions of the tree in the same manner as it would in the regular document tree: first going from the root element
-    // to the 'use' element and then through non-exposed tree elements in the capture phase, followed by the target phase
-    // at the target of the event, then bubbling back through non-exposed tree to the use element and then back through
-    // regular tree to the root element in bubbling phase.
-    verifyMouseOverEvent();
-
-    useElement.instanceRoot.removeEventListener("mouseover", eventHandler, false);
-    fireSimulatedMouseOverEvent("checkEventListenerNotReachable()", useElement.instanceRoot);
-    fireSimulatedMouseOverEvent("checkEventListenerNotReachable()", rectElement);
-    rectElement.addEventListener("mouseover", eventHandler, false);
-
-    fireMouseOverEvent("eventTestThree()");
-}
-
-function eventTestThree()
-{
-    debug("");
-    debug("Test #3: Verify that events dispatched by the user end up on the SVGElementInstance objects");
-    debug("");
-
-    verifyMouseOverEvent();
-
-    useElement.instanceRoot.removeEventListener("mouseover", eventHandler, false);
-    fireSimulatedMouseOverEvent("checkEventListenerNotReachable()", useElement.instanceRoot);
-    fireSimulatedMouseOverEvent("checkEventListenerNotReachable()", rectElement);
-    fireSimulatedMouseClickEvent("eventTestFour()", rectElement);
-}
-
-function eventTestFour()
-{
-    debug("");
-    debug("Test #4: Verify that a click event got dispatched to the original tree as defined in the markup, when sent to the 'rectElement'"); 
-    debug("");
-
-    verifyClickEventOnReferenced();
-
-    fireSimulatedMouseClickEvent("eventTestFive()", useElement.instanceRoot);
-}
-
-function eventTestFive()
-{
-    debug("");
-    debug("Test #5: Verify that a click event got dispatched to the instance tree when sent to the 'useElement.instanceRoot' with an event listener attached to 'rectElement'"); 
-    debug("");
-
-    verifyClickEvent();
-
-    // This tests a webkit specific quirk: removeAttribute() on the target element, causes us to reclone the shadow tree.
-    // All event listener mutations are synchronized with the shadow tree and do not cause reclones. So if we add the
-    // click event listener to the current instanceRoot, remove the existing click listener from markup and then fire
-    // a click event, we're sure that the shadow tree is recloned before the eventTestSix() function is executed.
-    // If eventTestSix() is reached, we've properly preserved the dynamically created click event listener after recloning.
-    useElement.instanceRoot.addEventListener("click", eventHandler, false);
-    rectElement.removeAttribute("onclick");
-
-    fireMouseClickEvent("eventTestSix()");
-}
-
-function eventTestSix()
-{
-    debug("");
-    debug("Test #6: Verify that the original click event listener got removed and a new one attached is attached to the use root SVGElementInstance");
-    debug("");
-
-    verifyClickEvent();
-
-    useElement.instanceRoot.removeEventListener("click", eventHandler, false);
-    fireSimulatedMouseClickEvent("checkEventListenerNotReachable()", useElement.instanceRoot);
-    fireSimulatedMouseClickEvent("checkEventListenerNotReachable()", rectElement);
-    rectElement.addEventListener("click", eventHandler, false);
-
-    fireMouseClickEvent("eventTestSeven()");
-}
-
-function eventTestSeven()
-{
-    debug("");
-    debug("Test #7: Verify that the recreating the original click event listener dynamically worked and the event is still dispatched to the instance tree");
-    debug("");
-
-    verifyClickEvent();
-
-    // Prepare for next tests
-    fireSimulatedMouseClickEvent("eventTestEight()", useElement.instanceRoot);
-}
-
-function eventTestEight()
-{
-    debug("");
-    debug("Test #8: Verify that the simulated click event got dispatched to the right target");
-    debug("");
-
-    verifyClickEvent();
-
-    // Cleanup
-    useElement.instanceRoot.removeEventListener("click", eventHandler, false);
-    fireSimulatedMouseClickEvent("checkEventListenerNotReachable()", useElement.instanceRoot);
-    fireSimulatedMouseClickEvent("checkEventListenerNotReachable()", rectElement);
-
-    // Indicate finish
-    rectElement.setAttribute("fill", "green");
-
-    // Load test finishing script
-    var script = document.createElement('script');
-    script.onload = completeTest;
-    script.src = "../../resources/js-test-post.js";
-    document.body.appendChild(script);
-}
-
-function completeTest()
-{
-    if (window.testRunner)
-        testRunner.notifyDone();
-}
-</script>
-
-</body>
-</html>
diff --git a/LayoutTests/svg/custom/use-instanceRoot-event-listener-liveness-expected.txt b/LayoutTests/svg/custom/use-instanceRoot-event-listener-liveness-expected.txt
deleted file mode 100644 (file)
index 386f3d2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Test passed
diff --git a/LayoutTests/svg/custom/use-instanceRoot-event-listener-liveness.xhtml b/LayoutTests/svg/custom/use-instanceRoot-event-listener-liveness.xhtml
deleted file mode 100644 (file)
index dacd927..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-</head>
-<body onload="startTest()">
-
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100px" height="100px">
-  <defs>
-      <rect id="target" fill="green" width="100" height="100"/>
-  </defs>
-  <use id="test" xlink:href="#target"/>
-</svg>
-
-<div id="console">Test failed</div>
-
-<script>
-if (window.testRunner) {
-    testRunner.dumpAsText();
-    testRunner.waitUntilDone();
-}
-
-function eventHandler()
-{
-    var divElement = document.getElementById("console");
-    divElement.textContent = "Test passed";
-
-    if (window.testRunner)
-        testRunner.notifyDone();
-}
-
-function fireSimulatedMouseClickEvent(eventTarget)
-{
-    var event = document.createEvent("MouseEvents");
-    event.initMouseEvent("click", true, true, document.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
-    eventTarget.dispatchEvent(event);
-}
-
-function startTest() {
-    var useElement = document.getElementById("test");
-
-    // No-op, as no listener is not yet registered
-    fireSimulatedMouseClickEvent(useElement.instanceRoot);
-
-    // Add listener
-    useElement.instanceRoot.addEventListener("click", eventHandler, false);
-
-    // Should fire immediately and finish the test
-    fireSimulatedMouseClickEvent(useElement.instanceRoot);
-}
-</script>
-
-</body>
-</html>
diff --git a/LayoutTests/svg/custom/use-instanceRoot-event-listeners-expected.txt b/LayoutTests/svg/custom/use-instanceRoot-event-listeners-expected.txt
deleted file mode 100644 (file)
index c6215a2..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-Test attaching event listeners on SVG use elements in different ways:
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Test 1 / 8 PASSED
-Test 2 / 8 PASSED
-Test 3 / 8 PASSED
-Test 4 / 8 PASSED
-Test 5 / 8 PASSED
-Test 6 / 8 PASSED
-Test 7 / 8 PASSED
-Test 8 / 8 PASSED
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/svg/custom/use-instanceRoot-event-listeners.xhtml b/LayoutTests/svg/custom/use-instanceRoot-event-listeners.xhtml
deleted file mode 100644 (file)
index 197568c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<script>window.enablePixelTesting = true;</script>
-<script src="../../resources/js-test-pre.js"></script>
-<script src="../../fast/repaint/resources/repaint.js"></script>
-</head>
-<body onload="runRepaintTest()">
-
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="150" height="150">
-  <defs>
-      <rect id="target" fill="red" width="100" height="100" onmousedown="eventHandler(evt)"/>
-  </defs>
-  <use id="test" xlink:href="#target"/>
-</svg>
-
-<p id="description"></p>
-<div id="console"></div>
-<script src="resources/use-instanceRoot-event-listeners.js"></script>
-</body>
-</html>
index 137328b44e3e39839ea4e964614a8cba6f108031..1c664d020b79b0f93bbece5d3485b0be1459dc40 100644 (file)
 <script>
 function runInstanceRootTest() {
     var useElement = document.getElementsByTagName("use")[1];
-    if (useElement != useElement.instanceRoot.correspondingUseElement)
-        return;
-
-    var element = useElement.instanceRoot.correspondingElement;
-    if (element != document.getElementById("g"))
-        return;
+    var element = document.getElementById("g");
 
     // element.firstChild is a #text node! the next sibling gives the rect
     var rect = element.firstChild.nextSibling;
index 458b70cc94960874352ca575062579881784e6fb..e8614e649acaa62abf9dfe719f2080d4d68ee5fc 100644 (file)
@@ -1,33 +1,31 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\r
-<script>\r
-<![CDATA[\r
-if (window.testRunner) {\r
-    testRunner.dumpAsText();\r
-    testRunner.waitUntilDone();\r
-    gc = function(){window.GCController.collect()};\r
-} else if (!window.gc)\r
-    gc = function(){};\r
-\r
-window.onload = function(){\r
-    if (location.hash != "#2") {\r
-        if (location.hash)\r
-            location.hash = "#" + (parseInt(location.hash.slice(1)) + 1).toString();\r
-        else\r
-            location.hash = "#1";\r
-        var ir = document.getElementById("use1").instanceRoot;\r
-        ir.correspondingUseElement.parentElement.removeChild(ir.correspondingUseElement);\r
-        gc();\r
-        ir.correspondingUseElement;\r
-        setTimeout(function(){location.reload()},0);\r
-    } else {\r
-        document.getElementById("t1").appendChild(document.createTextNode("PASS: Successfully removed use element."));\r
-        if (window.testRunner)\r
-            testRunner.notifyDone();\r
-    }\r
-}\r
-//]]>\r
-</script>\r
-<g id="g1" />\r
-<use xlink:href="#g1" id="use1" />\r
-<text x="20" y="20" fill="green" id="t1"></text>\r
-</svg>\r
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<script>
+<![CDATA[
+if (window.testRunner) {
+    testRunner.dumpAsText();
+    testRunner.waitUntilDone();
+    gc = function(){window.GCController.collect()};
+} else if (!window.gc)
+    gc = function(){};
+
+window.onload = function(){
+    if (location.hash != "#2") {
+        if (location.hash)
+            location.hash = "#" + (parseInt(location.hash.slice(1)) + 1).toString();
+        else
+            location.hash = "#1";
+        document.getElementById("use1").parentElement.removeChild(document.getElementById("use1"));
+        gc();
+        setTimeout(function(){location.reload()},0);
+    } else {
+        document.getElementById("t1").appendChild(document.createTextNode("PASS: Successfully removed use element."));
+        if (window.testRunner)
+            testRunner.notifyDone();
+    }
+}
+//]]>
+</script>
+<g id="g1" />
+<use xlink:href="#g1" id="use1" />
+<text x="20" y="20" fill="green" id="t1"></text>
+</svg>
index 5b8b9a1a95c68f4076796bcaa54695c91bfcebce..c70af16de96f98e49707d7cd8a1aafdaf2d9bc5a 100644 (file)
        if (window.testRunner)
         testRunner.dumpAsText();
 
+    var leftSquare = document.getElementById("leftSquare");
+    var square = document.getElementById("square");
+
     leftSquare.addEventListener('mousedown', function() { leftSquare.parentNode.appendChild(leftSquare); });
-    leftSquare.addEventListener('mousedown', function() { leftSquare.instanceRoot.correspondingElement.setAttribute("fill", "green"); });
+    leftSquare.addEventListener('mousedown', function() { square.setAttribute("fill", "green"); });
 
     if (window.eventSender) {
         eventSender.mouseMoveTo(20, 20);
index 5b2678bf4f9d10e1bc25d798b1f281abd01b6e63..68ea826c8a597ba235bae3e8025cc8739a2ca947 100644 (file)
@@ -14,9 +14,6 @@
 <text font-size="10" id="text" x="30" y="70">You should shapes _above_ this text</text>
 
 <script>
-var useElement = document.getElementsByTagName("use")[1];
-var element = useElement.instanceRoot.correspondingElement;
-
-element.setAttribute("transform", "");
+document.getElementById("g").setAttribute("transform", "");
 </script>
 </svg>
index a43c377c9eff67d8a91b4957e3b3def7c81fda05..cc9d2afc2ea3b3e0679e0383c693e64599ffef20 100644 (file)
@@ -13,8 +13,6 @@
 <text font-size="10" id="text" x="30" y="70">You should shapes _above_ this text</text>
 
 <script>
-var useElement = document.getElementsByTagName("use")[1];
-var element = useElement.instanceRoot.correspondingElement;
-element.removeAttribute("viewBox");
+document.getElementById("symbol").removeAttribute("viewBox");
 </script>
 </svg>
index ee7ec66b51273129889b9c8a823aae6e741d2877..8e91c61755fb258ff4672b63520a7f741a2ae189 100644 (file)
@@ -1,6 +1 @@
-The instance tree of use element zoomplus:
-
-     id = loupePlus  this = [object SVGElementInstance]  correspondingElement = [object SVGGElement]
-          id = useRim  this = [object SVGElementInstance]  correspondingElement = [object SVGUseElement]
-               id = rim  this = [object SVGElementInstance]  correspondingElement = [object SVGCircleElement]
-
+PASS if this did not crash
index 3a6d0a10e815c3e01e2f8d5cb2fac4d199a61503..85ca87295a3e054d366d531ad2f7f64fb0e9c291 100644 (file)
     </use> 
     <foreignObject><pre id="console" xmlns="http://www.w3.org/1999/xhtml"/></foreignObject>
     <script>
-        function makeCrash(){
-            if (window.eventSender) {
-                eventSender.dragMode = false;
-                eventSender.mouseMoveTo(300, 300);
-                eventSender.mouseDown();
-                eventSender.mouseUp();
-            }
+        if (window.eventSender) {
+            eventSender.dragMode = false;
+            eventSender.mouseMoveTo(300, 300);
+            eventSender.mouseDown();
+            eventSender.mouseUp();
         }
-        // If you like, you can make a crash.
-        // makeCrash();
-
-        var console = document.getElementById("console");
-        function println(string)
-        {
-            console.textContent += string + '\n';
-        }
-
-        function printInstanceTree( obj, indent )
-        {
-            indent += "     ";
-            println(indent + "id = " + obj.correspondingElement.id + "  this = " + obj + "  correspondingElement = " + obj.correspondingElement);
-            for (var m = obj.firstChild; m != null; m = m.nextSibling ) {
-                printInstanceTree(m, indent);
-            }
-        }
-        var useobj = document.getElementById("zoomplus").instanceRoot;
-        println("The instance tree of use element zoomplus:\n");
-        printInstanceTree(useobj,"");
-
-        if (window.testRunner){
+        var console = document.getElementById("console").textContent = "PASS if this did not crash";
+        if (window.testRunner)
             testRunner.dumpAsText();
-        }
-
   </script>
 </svg> 
index ac643b5dd87d65b33bdf760139c6ef2882fd9fb2..21005643b252578c889c0b20690130f2657740ef 100644 (file)
    <script> 
  //
 
-var useElement = document.getElementsByTagName("use")[1];
-var element = useElement.instanceRoot.correspondingElement;
-
-element.setAttribute("transform", "");
+document.getElementById("g").setAttribute("transform", "");
 
 if (window.testRunner)
   testRunner.dumpAsText();
index 6fc58fb6ec27a1917aa46681f2c69545e9a2eef3..ea82208ad829f321d8f9ebac3dc3894d70df95ef 100644 (file)
@@ -1,3 +1,15 @@
+2015-01-29  Darin Adler  <darin@apple.com>
+
+        Remove SVGUseElement.instanceRoot and all tests that depend on it
+        https://bugs.webkit.org/show_bug.cgi?id=141025
+
+        Reviewed by Anders Carlsson.
+
+        * svg/SVGUseElement.cpp:
+        (WebCore::SVGUseElement::instanceRoot): Deleted.
+        * svg/SVGUseElement.h: Removed instanceRoot.
+        * svg/SVGUseElement.idl: Ditto.
+
 2015-01-29  Tim Horton  <timothy_horton@apple.com>
 
         Fix the build with newer Clang.
index 72929b9d11f4a218312c827e1d0ab7a6fa678c5e..d00ccdedbadf036d476051f0f9912a5cfc1b0b70 100644 (file)
@@ -104,18 +104,6 @@ SVGUseElement::~SVGUseElement()
     clearResourceReferences();
 }
 
-SVGElementInstance* SVGUseElement::instanceRoot()
-{
-    // If there is no element instance tree, force immediate SVGElementInstance tree
-    // creation by asking the document to invoke our recalcStyle function - as we can't
-    // wait for the lazy creation to happen if e.g. JS wants to access the instanceRoot
-    // object right after creating the element on-the-fly
-    if (!m_targetElementInstance)
-        document().updateLayoutIgnorePendingStylesheets();
-
-    return m_targetElementInstance.get();
-}
-
 bool SVGUseElement::isSupportedAttribute(const QualifiedName& attrName)
 {
     static NeverDestroyed<HashSet<QualifiedName>> supportedAttributes;
index 8ec6ef780ecb74ea34757c93166aaf1cb91349a5..75e7f382136e282ffdfdba3fa731fcd84865fccf 100644 (file)
@@ -45,7 +45,6 @@ public:
     static Ref<SVGUseElement> create(const QualifiedName&, Document&, bool wasInsertedByParser);
     virtual ~SVGUseElement();
 
-    SVGElementInstance* instanceRoot();
     SVGElementInstance* instanceForShadowTreeElement(Node*) const;
     void invalidateShadowTree();
     void invalidateDependentShadowTrees();
index 8cf0165ee02e21880567801942553d9afa8480ff..b8e9eaf301d54ffae7af0417384b514333592788 100644 (file)
@@ -28,8 +28,6 @@ interface SVGUseElement : SVGGraphicsElement {
     readonly attribute SVGAnimatedLength y;
     readonly attribute SVGAnimatedLength width;
     readonly attribute SVGAnimatedLength height;
-
-    readonly attribute SVGElementInstance instanceRoot;
 };
 
 SVGUseElement implements SVGExternalResourcesRequired;