summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/dom-level0/file_separate_post_message_queue.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/dom-level0/file_separate_post_message_queue.html')
-rw-r--r--dom/tests/mochitest/dom-level0/file_separate_post_message_queue.html39
1 files changed, 39 insertions, 0 deletions
diff --git a/dom/tests/mochitest/dom-level0/file_separate_post_message_queue.html b/dom/tests/mochitest/dom-level0/file_separate_post_message_queue.html
new file mode 100644
index 0000000000..ce1494e3d2
--- /dev/null
+++ b/dom/tests/mochitest/dom-level0/file_separate_post_message_queue.html
@@ -0,0 +1,39 @@
+<script>
+
+let runnable1 = {
+ run() {
+ window.opener.callOrder.push("Runnable1");
+ }
+}
+
+let runnable2 = {
+ run() {
+ window.opener.callOrder.push("Runnable2");
+ }
+}
+
+let runnable3 = {
+ run() {
+ window.opener.callOrder.push("Runnable3");
+ }
+}
+
+window.onmessage = function () {
+ window.opener.callOrder.push("PostMessage");
+ if (window.loadCount == 1) {
+ window.loadCount += 1;
+ location.reload();
+ } else {
+ window.opener.onDone();
+ }
+};
+
+// Pushed to normal queue
+SpecialPowers.Services.tm.dispatchToMainThread(runnable1);
+// Pushed to idle queue
+window.postMessage("bar", "*");
+// Pushed to normal queue
+SpecialPowers.Services.tm.dispatchToMainThread(runnable2);
+// Pushed to normal queue
+SpecialPowers.Services.tm.dispatchToMainThread(runnable3);
+</script>