summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/test/mochitest/test_ext_sendmessage_frameId.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /toolkit/components/extensions/test/mochitest/test_ext_sendmessage_frameId.html
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/extensions/test/mochitest/test_ext_sendmessage_frameId.html')
-rw-r--r--toolkit/components/extensions/test/mochitest/test_ext_sendmessage_frameId.html45
1 files changed, 45 insertions, 0 deletions
diff --git a/toolkit/components/extensions/test/mochitest/test_ext_sendmessage_frameId.html b/toolkit/components/extensions/test/mochitest/test_ext_sendmessage_frameId.html
new file mode 100644
index 0000000000..6b42073031
--- /dev/null
+++ b/toolkit/components/extensions/test/mochitest/test_ext_sendmessage_frameId.html
@@ -0,0 +1,45 @@
+<!doctype html>
+<head>
+ <title>Test sendMessage frameId</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script src="/tests/SimpleTest/ExtensionTestUtils.js"></script>
+ <script src="head.js"></script>
+ <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
+</head>
+<script>
+"use strict";
+
+add_task(async function test_sendMessage_frameId() {
+ const html = `<!doctype html><meta charset="utf-8"><script src="script.js"><\/script>`;
+
+ const extension = ExtensionTestUtils.loadExtension({
+ background() {
+ browser.runtime.onMessage.addListener((msg, sender) => {
+ browser.test.sendMessage(msg, sender);
+ });
+ browser.tabs.create({url: "tab.html"});
+ },
+ files: {
+ "iframe.html": html,
+ "tab.html": `${html}<iframe src="iframe.html"></iframe>`,
+ "script.js": () => {
+ browser.runtime.sendMessage(window.top === window ? "tab" : "iframe");
+ },
+ },
+ });
+
+ await extension.startup();
+
+ const tab = await extension.awaitMessage("tab");
+ ok(tab.url.endsWith("tab.html"), "Got the message from the tab");
+ is(tab.frameId, 0, "And sender.frameId is zero");
+
+ const iframe = await extension.awaitMessage("iframe");
+ ok(iframe.url.endsWith("iframe.html"), "Got the message from the iframe");
+ is(typeof iframe.frameId, "number", "With sender.frameId of type number");
+ ok(iframe.frameId > 0, "And sender.frameId greater than zero");
+
+ await extension.unload();
+});
+
+</script>