Fix javascript url COEP tests

Differential Revision: https://phabricator.services.mozilla.com/D74652

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1636905
gecko-commit: 548e90039d8de11290a078e08f343d4937c11418
gecko-integration-branch: autoland
gecko-reviewers: annevk
diff --git a/html/cross-origin-embedder-policy/coep-frame-javascript.https.html b/html/cross-origin-embedder-policy/coep-frame-javascript.https.html
index d3e090b..089019d 100644
--- a/html/cross-origin-embedder-policy/coep-frame-javascript.https.html
+++ b/html/cross-origin-embedder-policy/coep-frame-javascript.https.html
@@ -18,7 +18,7 @@
   frame.src = "resources/coep-frame.html";
   frame.onload = t.step_func(() => {
     frame.onload = null;
-    frame.src = `javascript:'${createScript(window.origin, get_host_info().HTTPS_NOTSAMESITE_ORIGIN)}'`;
+    frame.src = `javascript:${encodeURIComponent(createScript(window.origin, get_host_info().HTTPS_NOTSAMESITE_ORIGIN))}`;
   });
   document.body.append(frame);
 }, "Cross-Origin-Embedder-Policy frame and javascript: URLs");
diff --git a/html/cross-origin-embedder-policy/data.https.html b/html/cross-origin-embedder-policy/data.https.html
index c34f133..13c0cce 100644
--- a/html/cross-origin-embedder-policy/data.https.html
+++ b/html/cross-origin-embedder-policy/data.https.html
@@ -14,7 +14,7 @@
   }));
   const frame = document.createElement("iframe");
   t.add_cleanup(() => frame.remove());
-  frame.src = `data:text/html,${createScript("null", window.origin)}`;
+  frame.src = `data:text/html,<script>${createScript("null", window.origin)}<\/script>`;
   document.body.append(frame);
 }, "Cross-Origin-Embedder-Policy and data: URLs");
 </script>
diff --git a/html/cross-origin-embedder-policy/javascript.https.html b/html/cross-origin-embedder-policy/javascript.https.html
index 9fe85db..60edf00 100644
--- a/html/cross-origin-embedder-policy/javascript.https.html
+++ b/html/cross-origin-embedder-policy/javascript.https.html
@@ -15,7 +15,7 @@
   }));
   const frame = document.createElement("iframe");
   t.add_cleanup(() => frame.remove());
-  frame.src = `javascript:'${createScript(window.origin, get_host_info().HTTPS_NOTSAMESITE_ORIGIN)}'`;
+  frame.src = `javascript:${encodeURIComponent(createScript(window.origin, get_host_info().HTTPS_NOTSAMESITE_ORIGIN))}`;
   document.body.append(frame);
 }, "Cross-Origin-Embedder-Policy and javascript: URLs");
 </script>
diff --git a/html/cross-origin-embedder-policy/resources/blob-url-factory.html b/html/cross-origin-embedder-policy/resources/blob-url-factory.html
index 7d90aac..d203906 100644
--- a/html/cross-origin-embedder-policy/resources/blob-url-factory.html
+++ b/html/cross-origin-embedder-policy/resources/blob-url-factory.html
@@ -5,7 +5,7 @@
 const id = query.get("id");
 const variant = query.get("variant");
 const parent = (variant === "subframe") ? "parent.parent" : "parent";
-const blob = new Blob([createScript(window.origin, query.get("crossOrigin"), parent, id)], { type: "text/html" });
+const blob = new Blob([`<script>${createScript(window.origin, query.get("crossOrigin"), parent, id)}<\/script>`], { type: "text/html" });
 const blobURL = URL.createObjectURL(blob);
 if (variant === "subframe") {
   const frame = document.createElement("iframe");
diff --git a/html/cross-origin-embedder-policy/resources/script-factory.js b/html/cross-origin-embedder-policy/resources/script-factory.js
index ab7286e..ac7a1fd 100644
--- a/html/cross-origin-embedder-policy/resources/script-factory.js
+++ b/html/cross-origin-embedder-policy/resources/script-factory.js
@@ -1,8 +1,7 @@
 // This creates a serialized <script> element that is useful for blob/data/srcdoc-style tests.
 
 function createScript(sameOrigin, crossOrigin, type="parent", id="") {
-  return `<script>
-const data = { id: "${id}",
+  return `const data = { id: "${id}",
                opener: !!window.opener,
                origin: window.origin,
                sameOriginNoCORPSuccess: false,
@@ -27,6 +26,5 @@
   } else {
     window.${type}.postMessage(data, "*");
   }
-});
-<\/script>`;
+});`;
 }
diff --git a/html/cross-origin-embedder-policy/srcdoc.https.html b/html/cross-origin-embedder-policy/srcdoc.https.html
index 3fbba96..2937c13 100644
--- a/html/cross-origin-embedder-policy/srcdoc.https.html
+++ b/html/cross-origin-embedder-policy/srcdoc.https.html
@@ -15,7 +15,7 @@
   }));
   const frame = document.createElement("iframe");
   t.add_cleanup(() => frame.remove());
-  frame.srcdoc = createScript(window.origin, get_host_info().HTTPS_NOTSAMESITE_ORIGIN);
+  frame.srcdoc = `<script>${createScript(window.origin, get_host_info().HTTPS_NOTSAMESITE_ORIGIN)}<\/script>`;
   document.body.append(frame);
 }, "Cross-Origin-Embedder-Policy and srcdoc");
 </script>
diff --git a/html/cross-origin-opener-policy/coep-blob-popup.https.html b/html/cross-origin-opener-policy/coep-blob-popup.https.html
index c317f6b..eb74bab 100644
--- a/html/cross-origin-opener-policy/coep-blob-popup.https.html
+++ b/html/cross-origin-opener-policy/coep-blob-popup.https.html
@@ -9,7 +9,7 @@
   promise_test(t => {
     const origins = get_host_info();
     const id = `tut mir leid ${type}`;
-    const blob = new Blob([createScript(origins.ORIGIN, origins.HTTPS_REMOTE_ORIGIN, "channel", id)], {type: "text/html"});
+    const blob = new Blob([`<script>${createScript(origins.ORIGIN, origins.HTTPS_REMOTE_ORIGIN, "channel", id)}<\/script>`], {type: "text/html"});
     const blobURL = URL.createObjectURL(blob);
     const bc = new BroadcastChannel(id);