From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- js/xpconnect/tests/unit/head.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 js/xpconnect/tests/unit/head.js (limited to 'js/xpconnect/tests/unit/head.js') diff --git a/js/xpconnect/tests/unit/head.js b/js/xpconnect/tests/unit/head.js new file mode 100644 index 0000000000..be3d74401a --- /dev/null +++ b/js/xpconnect/tests/unit/head.js @@ -0,0 +1,32 @@ +"use strict"; + +// Wraps the given object in an XPConnect wrapper and, if an interface +// is passed, queries the result to that interface. +function xpcWrap(obj, iface) { + let ifacePointer = Cc[ + "@mozilla.org/supports-interface-pointer;1" + ].createInstance(Ci.nsISupportsInterfacePointer); + + ifacePointer.data = obj; + if (iface) { + return ifacePointer.data.QueryInterface(iface); + } + return ifacePointer.data; +} + +function createContentWindow(uri) { + const principal = Services.scriptSecurityManager + .createContentPrincipalFromOrigin(uri); + const webnav = Services.appShell.createWindowlessBrowser(false); + const docShell = webnav.docShell; + docShell.createAboutBlankDocumentViewer(principal, principal); + return webnav.document.defaultView; +} + +function createChromeWindow() { + const principal = Services.scriptSecurityManager.getSystemPrincipal(); + const webnav = Services.appShell.createWindowlessBrowser(true); + const docShell = webnav.docShell; + docShell.createAboutBlankDocumentViewer(principal, principal); + return webnav.document.defaultView; +} -- cgit v1.2.3