<?xml version="1.0"?> <!-- Copyright (c) 2017 Haggai Nuchi Available for use under the MIT License: https://opensource.org/licenses/MIT --> <bindings id="generalBindings" xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xbl="http://www.mozilla.org/xbl"> <binding id="js"> <implementation> <constructor><![CDATA[ function makeRelativePathURI(name) { let absolutePath = Components.stack.filename; return absolutePath.substring(0, absolutePath.lastIndexOf("/") + 1) + name; } // The following code executes in the browser context, // i.e. chrome://browser/content/browser.xul Services.scriptloader.loadSubScriptWithOptions( makeRelativePathURI("userChrome.js"), {target: window, ignoreCache: true}, ); ]]></constructor> </implementation> </binding> </bindings>