diff options
Diffstat (limited to 'tools/addon-sdk-1.3/python-lib/cuddlefish/app-extension/bootstrap.js')
-rw-r--r-- | tools/addon-sdk-1.3/python-lib/cuddlefish/app-extension/bootstrap.js | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/tools/addon-sdk-1.3/python-lib/cuddlefish/app-extension/bootstrap.js b/tools/addon-sdk-1.3/python-lib/cuddlefish/app-extension/bootstrap.js deleted file mode 100644 index 2d72ec2..0000000 --- a/tools/addon-sdk-1.3/python-lib/cuddlefish/app-extension/bootstrap.js +++ /dev/null @@ -1,154 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Weave. - * - * The Initial Developer of the Original Code is Mozilla. - * Portions created by the Initial Developer are Copyright (C) 2008 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Dan Mills <thunder@mozilla.com> - * Atul Varma <atul@mozilla.com> - * Drew Willcoxon <adw@mozilla.com> - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -"use strict"; - -// For more information on the context in which this script is executed, see: -// https://developer.mozilla.org/en/Extensions/Bootstrapped_extensions - -const Cc = Components.classes; -const Ci = Components.interfaces; -const Cu = Components.utils; -const Cr = Components.results; - -// Object containing information about the XPCOM harness service -// that manages our addon. - -var gHarness; - -var ios = Cc['@mozilla.org/network/io-service;1'] - .getService(Ci.nsIIOService); - -var manager = Components.manager.QueryInterface(Ci.nsIComponentRegistrar); - -// Dynamically evaluate and initialize the XPCOM component in -// components/harness.js, which bootstraps our addon. (We want to keep -// components/harness.js around so that versions of Gecko that don't -// support rebootless addons can still work.) - -function setupHarness(installPath, loadReason) { - var harnessJs = installPath.clone(); - harnessJs.append("components"); - harnessJs.append("harness.js"); - var path = ios.newFileURI(harnessJs).spec; - var harness = {}; - var loader = Cc["@mozilla.org/moz/jssubscript-loader;1"] - .getService(Ci.mozIJSSubScriptLoader); - loader.loadSubScript(path, harness); - - var HarnessService = harness.buildHarnessService(installPath); - var factory = HarnessService.prototype._xpcom_factory; - var proto = HarnessService.prototype; - - // We want to keep this factory around for the lifetime of - // the addon so legacy code with access to Components can - // access the addon if needed. - manager.registerFactory(proto.classID, - proto.classDescription, - proto.contractID, - factory); - - var harnessService = factory.createInstance(null, Ci.nsISupports); - harnessService = harnessService.wrappedJSObject; - - gHarness = { - service: harnessService, - classID: proto.classID, - contractID: proto.contractID, - factory: factory - }; - - if (loadReason == "startup") - // Simulate a startup event; the harness service will take care of - // waiting until the app is ready for the extension's code to run. - harnessService.observe(null, "profile-after-change", null); - else - harnessService.load(loadReason); -} - -function reasonToString(reason) { - // If you change these names, change them in harness.js's lifeCycleObserver192 - // too. - switch (reason) { - case ADDON_INSTALL: - return "install"; - case ADDON_UNINSTALL: - return "uninstall"; - case ADDON_ENABLE: - return "enable"; - case ADDON_DISABLE: - return "disable"; - case ADDON_UPGRADE: - return "upgrade"; - case ADDON_DOWNGRADE: - return "downgrade"; - // The startup and shutdown strings are also used outside of - // lifeCycleObserver192. - case APP_STARTUP: - return "startup"; - case APP_SHUTDOWN: - return "shutdown"; - } - return undefined; -} - -function install(data, reason) { - // We shouldn't start up here; startup() will always be called when - // an extension should load, and install() sometimes gets called when - // an extension has been installed but is disabled. -} - -function startup(data, reason) { - if (!gHarness) - setupHarness(data.installPath, reasonToString(reason)); -} - -function shutdown(data, reason) { - if (gHarness) { - var harness = gHarness; - gHarness = undefined; - harness.service.unload(reasonToString(reason)); - manager.unregisterFactory(harness.classID, harness.factory); - } -} - -function uninstall(data, reason) { - // We shouldn't shutdown here; shutdown() will always be called when - // an extension should shutdown, and uninstall() sometimes gets - // called when startup() has never been called before it. -} |