From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../moving-between-documents/README.md | 16 ++ ...eHTMLDocument-fetch-error-external-classic.html | 14 ++ ...teHTMLDocument-fetch-error-external-module.html | 14 ++ ...eHTMLDocument-parse-error-external-classic.html | 14 ++ ...teHTMLDocument-parse-error-external-module.html | 14 ++ ...reateHTMLDocument-success-external-classic.html | 14 ++ ...createHTMLDocument-success-external-module.html | 14 ++ ...repare-iframe-fetch-error-external-classic.html | 14 ++ ...prepare-iframe-fetch-error-external-module.html | 14 ++ ...repare-iframe-parse-error-external-classic.html | 14 ++ ...prepare-iframe-parse-error-external-module.html | 14 ++ ...-prepare-iframe-parse-error-inline-classic.html | 14 ++ ...er-prepare-iframe-success-external-classic.html | 14 ++ ...ter-prepare-iframe-success-external-module.html | 14 ++ ...fter-prepare-iframe-success-inline-classic.html | 14 ++ ...eHTMLDocument-fetch-error-external-classic.html | 14 ++ ...teHTMLDocument-fetch-error-external-module.html | 14 ++ ...eHTMLDocument-parse-error-external-classic.html | 14 ++ ...teHTMLDocument-parse-error-external-module.html | 14 ++ ...ateHTMLDocument-parse-error-inline-classic.html | 14 ++ ...eateHTMLDocument-parse-error-inline-module.html | 14 ++ ...eateHTMLDocument-success-empty-src-classic.html | 14 ++ ...reateHTMLDocument-success-empty-src-module.html | 14 ++ ...reateHTMLDocument-success-external-classic.html | 14 ++ ...createHTMLDocument-success-external-module.html | 14 ++ ...-createHTMLDocument-success-inline-classic.html | 14 ++ ...e-createHTMLDocument-success-inline-module.html | 14 ++ ...repare-iframe-fetch-error-external-classic.html | 14 ++ ...prepare-iframe-fetch-error-external-module.html | 14 ++ ...repare-iframe-parse-error-external-classic.html | 14 ++ ...prepare-iframe-parse-error-external-module.html | 14 ++ ...-prepare-iframe-parse-error-inline-classic.html | 14 ++ ...e-prepare-iframe-parse-error-inline-module.html | 14 ++ ...e-prepare-iframe-success-empty-src-classic.html | 14 ++ ...re-prepare-iframe-success-empty-src-module.html | 14 ++ ...re-prepare-iframe-success-external-classic.html | 14 ++ ...ore-prepare-iframe-success-external-module.html | 14 ++ ...fore-prepare-iframe-success-inline-classic.html | 14 ++ ...efore-prepare-iframe-success-inline-module.html | 14 ++ ...eHTMLDocument-fetch-error-external-classic.html | 14 ++ ...teHTMLDocument-fetch-error-external-module.html | 14 ++ ...eHTMLDocument-parse-error-external-classic.html | 14 ++ ...teHTMLDocument-parse-error-external-module.html | 14 ++ ...reateHTMLDocument-success-external-classic.html | 14 ++ ...createHTMLDocument-success-external-module.html | 14 ++ ...e-back-iframe-fetch-error-external-classic.html | 14 ++ ...ve-back-iframe-fetch-error-external-module.html | 14 ++ ...e-back-iframe-parse-error-external-classic.html | 14 ++ ...ve-back-iframe-parse-error-external-module.html | 14 ++ ...ove-back-iframe-parse-error-inline-classic.html | 14 ++ .../move-back-iframe-success-external-classic.html | 14 ++ .../move-back-iframe-success-external-module.html | 14 ++ .../move-back-iframe-success-inline-classic.html | 14 ++ .../moving-between-documents/ordering/README.md | 6 + .../ordering/delay-load-event-1.html | 12 ++ .../ordering/delay-load-event-2.html | 15 ++ .../ordering/delay-load-event-iframe.html | 4 + .../moving-between-documents/ordering/helper.js | 31 +++ .../ordering/in-order.html | 35 ++++ .../ordering/parser-blocking.html | 41 ++++ .../resources/moving-between-documents-helper.js | 214 +++++++++++++++++++++ .../resources/moving-between-documents-iframe.py | 102 ++++++++++ .../resources/slow-flag-setter.py | 29 +++ .../moving-between-documents/tools/generate.py | 61 ++++++ 64 files changed, 1294 insertions(+) create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/README.md create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-module.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-inline-classic.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/README.md create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-1.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-2.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-iframe.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/helper.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/in-order.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/parser-blocking.html create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-helper.js create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-iframe.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/slow-flag-setter.py create mode 100644 testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/tools/generate.py (limited to 'testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents') diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/README.md b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/README.md new file mode 100644 index 0000000000..f95e0a63a3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/README.md @@ -0,0 +1,16 @@ +The tests in this directory are for script elements moved between documents. + +Use + +``` +$ tools/generate.py +``` + +to generate test HTML files (except for tests in subdirectories). + +Background: + +- https://www.w3.org/Bugs/Public/show_bug.cgi?id=11323 +- https://github.com/whatwg/html/issues/2137 +- https://github.com/whatwg/html/issues/2469 +- https://github.com/whatwg/html/pull/2673 diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-classic.html new file mode 100644 index 0000000000..2b84ae8088 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-module.html new file mode 100644 index 0000000000..09ee1490c1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-classic.html new file mode 100644 index 0000000000..477abd32cf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-module.html new file mode 100644 index 0000000000..9da2276408 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-classic.html new file mode 100644 index 0000000000..bc4deb6f17 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-module.html new file mode 100644 index 0000000000..ff76954f9d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-createHTMLDocument-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-classic.html new file mode 100644 index 0000000000..768120e9d8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-module.html new file mode 100644 index 0000000000..50dd80662d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-classic.html new file mode 100644 index 0000000000..981a068230 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-module.html new file mode 100644 index 0000000000..6debb4189e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-inline-classic.html new file mode 100644 index 0000000000..53389f20db --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-parse-error-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-classic.html new file mode 100644 index 0000000000..9c4a12226a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-module.html new file mode 100644 index 0000000000..0a0490cfc1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-inline-classic.html new file mode 100644 index 0000000000..932825709f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/after-prepare-iframe-success-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-classic.html new file mode 100644 index 0000000000..444382ac20 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-module.html new file mode 100644 index 0000000000..e1a1f7c08f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-classic.html new file mode 100644 index 0000000000..6bb5ebddbd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-module.html new file mode 100644 index 0000000000..10a6549f62 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-classic.html new file mode 100644 index 0000000000..28bd935995 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-module.html new file mode 100644 index 0000000000..e665a75629 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-parse-error-inline-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-classic.html new file mode 100644 index 0000000000..8ee0dd1de1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-module.html new file mode 100644 index 0000000000..4791149c57 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-empty-src-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-classic.html new file mode 100644 index 0000000000..3a3aceaf26 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-module.html new file mode 100644 index 0000000000..c15b4fc77f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-classic.html new file mode 100644 index 0000000000..576f4d4684 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-module.html new file mode 100644 index 0000000000..c84d61c89a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-createHTMLDocument-success-inline-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-classic.html new file mode 100644 index 0000000000..febf6fcc55 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html new file mode 100644 index 0000000000..f936260b8c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-classic.html new file mode 100644 index 0000000000..870c900abf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html new file mode 100644 index 0000000000..fb44a89df1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-classic.html new file mode 100644 index 0000000000..986e4fa396 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-module.html new file mode 100644 index 0000000000..3a3fc38479 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-parse-error-inline-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-classic.html new file mode 100644 index 0000000000..4f03a94358 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-module.html new file mode 100644 index 0000000000..a7bd42fd32 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-empty-src-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html new file mode 100644 index 0000000000..08a8ac4afa --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-module.html new file mode 100644 index 0000000000..b8c3f79fea --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-classic.html new file mode 100644 index 0000000000..b639f6109d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-module.html new file mode 100644 index 0000000000..616e46310f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-iframe-success-inline-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-classic.html new file mode 100644 index 0000000000..745c62d898 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-module.html new file mode 100644 index 0000000000..f6353a05fc --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-classic.html new file mode 100644 index 0000000000..21099c3ff9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-module.html new file mode 100644 index 0000000000..2eb153acfe --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-classic.html new file mode 100644 index 0000000000..88821826ed --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-module.html new file mode 100644 index 0000000000..f2a9d95741 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-createHTMLDocument-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-classic.html new file mode 100644 index 0000000000..d96bfe0d50 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-module.html new file mode 100644 index 0000000000..7e71bfbe15 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-fetch-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-classic.html new file mode 100644 index 0000000000..757c879897 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-module.html new file mode 100644 index 0000000000..6ec6c5970e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-inline-classic.html new file mode 100644 index 0000000000..c0b0f9d404 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-parse-error-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-classic.html new file mode 100644 index 0000000000..7955dbce62 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-module.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-module.html new file mode 100644 index 0000000000..af17eb01f7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-external-module.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-inline-classic.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-inline-classic.html new file mode 100644 index 0000000000..8a44e2feaf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/move-back-iframe-success-inline-classic.html @@ -0,0 +1,14 @@ + + + +Moving script elements between documents + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/README.md b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/README.md new file mode 100644 index 0000000000..dcf5597e2d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/README.md @@ -0,0 +1,6 @@ +The tests in this directory checks side effects (other than script +evaluation/event firing, which is covered by the tests in the parent directory) +caused by scripts moved between Documents. + +The tests assume that script loading is not canceled when moved between +documents (which is not explicitly specified as of Jan 2022). diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-1.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-1.html new file mode 100644 index 0000000000..c5812765eb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-1.html @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-2.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-2.html new file mode 100644 index 0000000000..916673894d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-2.html @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-iframe.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-iframe.html new file mode 100644 index 0000000000..efec7657c3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/delay-load-event-iframe.html @@ -0,0 +1,4 @@ + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/helper.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/helper.js new file mode 100644 index 0000000000..cb5f45eb0d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/helper.js @@ -0,0 +1,31 @@ +function runDelayEventTest(description) { + const t_original = async_test(description + + ' still delay the load event in the original Document after move'); + const t_new = async_test(description + + ' does not delay the load event in the new Document after move'); + const iframe = document.createElement('iframe'); + iframe.setAttribute('src', 'delay-load-event-iframe.html'); + const start_time = performance.now(); + document.body.appendChild(iframe); + + window.onload = t_original.step_func_done(() => { + // The `#to-be-moved` script should delay the load event until it is loaded + // (i.e. 3 seconds), not just until it is moved out to another Document + // (i.e. 1 second). Here we expect the delay should be at least 2 seconds, + // as the latency can be slightly less than 3 seconds due to preloading. + assert_greater_than(performance.now() - start_time, 2000, + 'Load event should be delayed until script is loaded'); + }); + + window.onloadIframe = t_new.step_func_done(() => { + // The iframe's load event is fired after 2 seconds of its subresource + // loading, and shouldn't wait for the `#to-be-moved` script. + assert_less_than(performance.now() - start_time, 3000, + 'Load event should not be delayed until moved script is loaded'); + }); + + t_original.step_timeout(() => { + const script = document.querySelector('#to-be-moved'); + iframe.contentDocument.body.appendChild(script); + }, 1000); +} diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/in-order.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/in-order.html new file mode 100644 index 0000000000..6a3e2b54a7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/in-order.html @@ -0,0 +1,35 @@ + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/parser-blocking.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/parser-blocking.html new file mode 100644 index 0000000000..9edde13736 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/ordering/parser-blocking.html @@ -0,0 +1,41 @@ + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-helper.js b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-helper.js new file mode 100644 index 0000000000..de4af6ac10 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/moving-between-documents-helper.js @@ -0,0 +1,214 @@ +"use strict"; + +function createDocument(documentType, result, inlineOrExternal, type, hasBlockingStylesheet) { + return new Promise((resolve, reject) => { + const iframe = document.createElement("iframe"); + iframe.src = + "resources/moving-between-documents-iframe.py" + + "?result=" + result + + "&inlineOrExternal=" + inlineOrExternal + + "&type=" + type + + "&hasBlockingStylesheet=" + hasBlockingStylesheet + + "&cache=" + Math.random(); + // As blocking stylesheets delays Document load events, we use + // DOMContentLoaded here. + // After that point, we expect iframe.contentDocument exists + // while still waiting for blocking stylesheet loading. + document.body.appendChild(iframe); + + window.addEventListener('message', (event) => { + if (documentType === "iframe") { + resolve([iframe.contentWindow, iframe.contentDocument]); + } else if (documentType === "createHTMLDocument") { + resolve([ + iframe.contentWindow, + iframe.contentDocument.implementation.createHTMLDocument("")]); + } else { + reject(new Error("Invalid document type: " + documentType)); + } + }, {once: true}); + }); +} + +window.didExecute = undefined; + +// For a script, there are three associated Documents that can +// potentially different: +// +// [1] script's parser document +// https://html.spec.whatwg.org/C/#parser-document +// +// [2] script's preparation-time document +// https://html.spec.whatwg.org/C/#preparation-time-document +// == script's node document at the beginning of #prepare-a-script +// +// [3] script's node document at the beginning of +// #execute-the-script-block +// +// This helper is for tests where [1]/[2]/[3] are different. + +// In the spec, scripts are executed only if [1]/[2]/[3] are all the same +// (or [1] is null and [2]==[3]). +// +// A check for [1]==[2] is in #prepare-a-script and +// a check for [1]==[3] is in #execute-the-script-block, +// but these are under debate: https://github.com/whatwg/html/issues/2137 +// +// A check for [2]==[3] is in #execute-the-script-block, which is added by +// https://github.com/whatwg/html/pull/2673 + +// timing: +// "before-prepare": +// A + """ + + if hasBlockingStylesheet: + body += u""" + + """ % random.random() + + body += u""" + + + """ + + if inlineOrExternal == b"inline" or inlineOrExternal == b"external" or inlineOrExternal == b"empty-src": + body += u""" + + """ + + # Trigger DOM processing + body += u"A" * 100000 + + response.writer.write(u"%x\r\n" % len(body)) + response.writer.write(body) + response.writer.write(u"\r\n") + + body = u"" + + if inlineOrExternal == b"inline": + time.sleep(1) + body += u""" + + + """ + elif inlineOrExternal == b"external": + time.sleep(1) + body += u""" + + + """ % (type, isomorphic_decode(result), random.random()) + elif inlineOrExternal == b"empty-src": + time.sleep(1) + body += u""" + + + """ % (type,) + + # // if readyToEvaluate is false, the script is probably + # // wasn't blocked by stylesheets as expected. + + # Trigger DOM processing + body += u"B" * 100000 + + response.writer.write(u"%x\r\n" % len(body)) + response.writer.write(body) + response.writer.write(u"\r\n") + + response.writer.write(u"0\r\n") + response.writer.write(u"\r\n") diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/slow-flag-setter.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/slow-flag-setter.py new file mode 100644 index 0000000000..20d7ed4bd0 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/resources/slow-flag-setter.py @@ -0,0 +1,29 @@ + +import time + +def main(request, response): + headers = [(b"Content-Type", b"text/javascript")] + + result = request.GET.first(b"result", b"success") + if result == b"css": + time.sleep(3) + headers = [(b"Content-Type", b"text/css")] + body = u"" + else: + time.sleep(2) + + body = u""" + fetch('exec'); + console.log('exec'); + if (!window.readyToEvaluate) { + window.didExecute = "executed too early"; + } else { + window.didExecute = "executed"; + } + """ + if result == b"parse-error": + body = u"1=2 parse error;" + if result == b"fetch-error": + return 404, [(b'Content-Type', b'text/plain')], u"""window.didExecute = "fetch error";""" + + return headers, body diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/tools/generate.py b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/tools/generate.py new file mode 100644 index 0000000000..80a655e821 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/moving-between-documents/tools/generate.py @@ -0,0 +1,61 @@ +template = ''' + + +Moving script elements between documents + + + + + + + + +''' + +n = 0 +for timing in ["before-prepare", "after-prepare", "move-back"]: + for destType in ["iframe", "createHTMLDocument"]: + for inlineOrExternal in ["inline", "external", "empty-src"]: + for result in ["fetch-error", "parse-error", "success"]: + for type in ["classic", "module"]: + # The |inlineOrExternal| keyword creates a certain kind of script, + # and the |result| keyword can influence the generated script in + # different ways i.e., giving the script a parse-error, or creating + # a script that fails to load. When we're creating an inline script, + # it doesn't make sense to test the fetch-error case, so we ignore + # this combination, as the server will not react to it in any + # meaningful way. + if inlineOrExternal == "inline" and result == "fetch-error": + continue + + if inlineOrExternal == "empty-src": + # The "empty-src" tests aim to exercise #prepare-a-script step 26 + # substep 2, where the