diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /js/xpconnect/tests/unit/head.js | |
parent | Initial commit. (diff) | |
download | firefox-upstream/124.0.1.tar.xz firefox-upstream/124.0.1.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/xpconnect/tests/unit/head.js')
-rw-r--r-- | js/xpconnect/tests/unit/head.js | 32 |
1 files changed, 32 insertions, 0 deletions
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; +} |