From 2aa4a82499d4becd2284cdb482213d541b8804dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 16:29:10 +0200 Subject: Adding upstream version 86.0.1. Signed-off-by: Daniel Baumann --- dom/ipc/remote-test.js | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 dom/ipc/remote-test.js (limited to 'dom/ipc/remote-test.js') diff --git a/dom/ipc/remote-test.js b/dom/ipc/remote-test.js new file mode 100644 index 0000000000..395aef8e47 --- /dev/null +++ b/dom/ipc/remote-test.js @@ -0,0 +1,55 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* eslint-env mozilla/frame-script */ + +dump("Loading remote script!\n"); +dump(content + "\n"); + +var cpm = Cc["@mozilla.org/childprocessmessagemanager;1"].getService(); +cpm.addMessageListener("cpm-async", function(m) { + cpm.sendSyncMessage("ppm-sync"); + dump(content.document.documentElement); + cpm.sendAsyncMessage("ppm-async"); +}); + +var dshell = content.docShell.sameTypeRootTreeItem.QueryInterface( + Ci.nsIDocShell +); + +addEventListener( + "click", + function(e) { + dump(e.target + "\n"); + if ( + ChromeUtils.getClassName(e.target) === "HTMLAnchorElement" && + dshell == docShell + ) { + var retval = docShell.messageManager.sendSyncMessage("linkclick", { + href: e.target.href, + }); + dump(uneval(retval[0]) + "\n"); + // Test here also that both retvals are the same + sendAsyncMessage( + "linkclick-reply-object", + uneval(retval[0]) == uneval(retval[1]) ? retval[0] : "" + ); + } + }, + true +); + +addMessageListener("chrome-message", function(m) { + dump(uneval(m.json) + "\n"); + sendAsyncMessage("chrome-message-reply", m.json); +}); + +addMessageListener("speed-test-start", function(m) { + // eslint-disable-next-line no-empty + while (sendSyncMessage("speed-test")[0].message != "done") {} +}); + +addMessageListener("async-echo", function(m) { + sendAsyncMessage(m.name); +}); -- cgit v1.2.3