| Index: LayoutTests/fast/dom/script-remove-child-id-map.html
|
| diff --git a/LayoutTests/fast/dom/script-remove-child-id-map.html b/LayoutTests/fast/dom/script-remove-child-id-map.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bd648c8a87a2b7d003614540db6e8b5c94dd00ca
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/dom/script-remove-child-id-map.html
|
| @@ -0,0 +1,30 @@
|
| +<!DOCTYPE html>
|
| +
|
| +<script src="../../resources/js-test.js"></script>
|
| +
|
| +<script>
|
| +description("Passes if it doesn't crash and the child is not in the id map");
|
| +
|
| +var script = document.createElement("script");
|
| +script.type = "dont-execute";
|
| +script.textContent = "script.remove()";
|
| +child = document.createElement("div");
|
| +child.id = "child";
|
| +script.appendChild(child);
|
| +
|
| +// The script won't execute here because the type is invalid, but it also won't
|
| +// get marked as being already run, so changing the children later will run it.
|
| +document.documentElement.appendChild(script);
|
| +
|
| +// Per the spec setting the type has no effect
|
| +script.type = "";
|
| +
|
| +// but changing the children *will* execute the script now that the type is
|
| +// is valid.
|
| +child.remove();
|
| +
|
| +child = null;
|
| +gc();
|
| +
|
| +shouldBeNull("document.getElementById('child')");
|
| +</script>
|
|
|