lix-website/themes/lix/assets/bootstrap/node_modules/karma/context/main.js
2024-04-26 22:49:34 -06:00

22 lines
913 B
JavaScript

// Load in our dependencies
var ContextKarma = require('./karma')
// Resolve our parent window
var parentWindow = window.opener || window.parent
// Define a remote call method for Karma
var callParentKarmaMethod = ContextKarma.getDirectCallParentKarmaMethod(parentWindow)
// If we don't have access to the window, then use `postMessage`
// DEV: In Electron, we don't have access to the parent window due to it being in a separate process
// DEV: We avoid using this in Internet Explorer as they only support strings
// https://caniuse.com/?search=postmessage
var haveParentAccess = false
try { haveParentAccess = !!parentWindow.window } catch (err) { /* Ignore errors (likely permission errors) */ }
if (!haveParentAccess) {
callParentKarmaMethod = ContextKarma.getPostMessageCallParentKarmaMethod(parentWindow)
}
// Define a window-scoped Karma
window.__karma__ = new ContextKarma(callParentKarmaMethod)