mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 10:44:56 +00:00
Bug 1635925 - Add test for connect/onConnect to and from extension iframes r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D74573
This commit is contained in:
parent
a3a9f4d7f1
commit
18a6ab6770
@ -1,14 +1,13 @@
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
|
||||
"use strict";
|
||||
|
||||
add_task(
|
||||
async function test_sendMessage_connect_to_self_should_not_trigger_onMessage_onConnect() {
|
||||
async function test_messaging_to_self_should_not_trigger_onMessage_onConnect() {
|
||||
async function background() {
|
||||
browser.runtime.onMessage.addListener(msg => {
|
||||
browser.test.assertEq("msg from child", msg);
|
||||
browser.test.notifyPass(
|
||||
browser.test.sendMessage(
|
||||
"sendMessage did not call same-frame onMessage"
|
||||
);
|
||||
});
|
||||
@ -27,11 +26,12 @@ add_task(
|
||||
);
|
||||
|
||||
browser.runtime.onConnect.addListener(port => {
|
||||
browser.test.fail("Should not receive runtime.onConnect from self");
|
||||
browser.test.assertEq("from-frame", port.name);
|
||||
browser.runtime.connect({ name: "from-bg-2" });
|
||||
});
|
||||
|
||||
await new Promise(resolve => {
|
||||
let port = browser.runtime.connect();
|
||||
let port = browser.runtime.connect({ name: "from-bg-1" });
|
||||
port.onDisconnect.addListener(() => {
|
||||
browser.test.assertEq(
|
||||
"Could not establish connection. Receiving end does not exist.",
|
||||
@ -52,6 +52,12 @@ add_task(
|
||||
browser.runtime.sendMessage("msg from child");
|
||||
});
|
||||
browser.test.sendMessage("sendMessage callback called");
|
||||
|
||||
browser.runtime.onConnect.addListener(port => {
|
||||
browser.test.assertEq("from-bg-2", port.name);
|
||||
browser.test.sendMessage("connect did not call same-frame onConnect");
|
||||
});
|
||||
browser.runtime.connect({ name: "from-frame" });
|
||||
}
|
||||
|
||||
let extensionData = {
|
||||
@ -67,9 +73,11 @@ add_task(
|
||||
|
||||
await extension.awaitMessage("sendMessage callback called");
|
||||
extension.sendMessage("sendMessage with a listener in another frame");
|
||||
await extension.awaitFinish(
|
||||
"sendMessage did not call same-frame onMessage"
|
||||
);
|
||||
|
||||
await Promise.all([
|
||||
extension.awaitMessage("connect did not call same-frame onConnect"),
|
||||
extension.awaitMessage("sendMessage did not call same-frame onMessage"),
|
||||
]);
|
||||
|
||||
await extension.unload();
|
||||
}
|
@ -121,12 +121,12 @@ skip-if = os == "android" && debug
|
||||
[test_ext_runtime_getPlatformInfo.js]
|
||||
[test_ext_runtime_id.js]
|
||||
skip-if = ccov && os == 'linux' # bug 1607581
|
||||
[test_ext_runtime_messaging_self.js]
|
||||
[test_ext_runtime_onInstalled_and_onStartup.js]
|
||||
[test_ext_runtime_ports.js]
|
||||
[test_ext_runtime_sendMessage.js]
|
||||
[test_ext_runtime_sendMessage_errors.js]
|
||||
[test_ext_runtime_sendMessage_no_receiver.js]
|
||||
[test_ext_runtime_sendMessage_self.js]
|
||||
[test_ext_same_site_cookies.js]
|
||||
[test_ext_sandbox_var.js]
|
||||
[test_ext_schema.js]
|
||||
|
Loading…
Reference in New Issue
Block a user