mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 00:08:39 +09:00
[TychoAM] Make the Add-ons Manager conditionally devtools free
This commit is contained in:
parent
7a6b61c05f
commit
c9446a4319
4 changed files with 27 additions and 0 deletions
|
|
@ -18,10 +18,12 @@ Cu.import("resource://gre/modules/addons/AddonRepository.jsm");
|
|||
XPCOMUtils.defineLazyModuleGetter(this, "PluralForm",
|
||||
"resource://gre/modules/PluralForm.jsm");
|
||||
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
XPCOMUtils.defineLazyGetter(this, "BrowserToolboxProcess", function () {
|
||||
return Cu.import("resource://devtools/client/framework/ToolboxProcess.jsm", {}).
|
||||
BrowserToolboxProcess;
|
||||
});
|
||||
#endif
|
||||
|
||||
const PREF_DISCOVERURL = "extensions.webservice.discoverURL";
|
||||
const PREF_DISCOVER_ENABLED = "extensions.getAddons.showPane";
|
||||
|
|
@ -1002,6 +1004,7 @@ var gViewController = {
|
|||
}
|
||||
},
|
||||
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
cmd_debugItem: {
|
||||
doCommand: function cmd_debugItem_doCommand(aAddon) {
|
||||
BrowserToolboxProcess.init({ addonID: aAddon.id });
|
||||
|
|
@ -1015,6 +1018,7 @@ var gViewController = {
|
|||
return aAddon && aAddon.isDebuggable && debuggerEnabled && remoteEnabled;
|
||||
}
|
||||
},
|
||||
#endif
|
||||
|
||||
cmd_showItemPreferences: {
|
||||
isEnabled: function cmd_showItemPreferences_isEnabled(aAddon) {
|
||||
|
|
|
|||
|
|
@ -1628,11 +1628,13 @@
|
|||
]]></body>
|
||||
</method>
|
||||
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
<method name="debug">
|
||||
<body><![CDATA[
|
||||
gViewController.doCommand("cmd_debugItem", this.mAddon);
|
||||
]]></body>
|
||||
</method>
|
||||
#endif
|
||||
|
||||
<method name="showPreferences">
|
||||
<body><![CDATA[
|
||||
|
|
|
|||
|
|
@ -53,8 +53,10 @@
|
|||
<menuitem id="menuitem_uninstallItem" command="cmd_uninstallItem"
|
||||
label="&cmd.uninstallAddon.label;"
|
||||
accesskey="&cmd.uninstallAddon.accesskey;"/>
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
<menuitem id="menuitem_debugItem" command="cmd_debugItem"
|
||||
label="&cmd.debugAddon.label;"/>
|
||||
#endif
|
||||
<menuseparator id="addonitem-menuseparator" />
|
||||
<menuitem id="menuitem_preferences" command="cmd_showItemPreferences"
|
||||
#ifdef XP_WIN
|
||||
|
|
@ -101,7 +103,9 @@
|
|||
<command id="cmd_findItemUpdates"/>
|
||||
<command id="cmd_showItemPreferences"/>
|
||||
<command id="cmd_showItemAbout"/>
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
<command id="cmd_debugItem"/>
|
||||
#endif
|
||||
<command id="cmd_enableItem"/>
|
||||
<command id="cmd_disableItem"/>
|
||||
<command id="cmd_installItem"/>
|
||||
|
|
@ -631,9 +635,11 @@
|
|||
#endif
|
||||
command="cmd_showItemPreferences"/>
|
||||
<spacer flex="1"/>
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
<button id="detail-debug-btn" class="addon-control debug"
|
||||
label="Debug"
|
||||
command="cmd_debugItem" />
|
||||
#endif
|
||||
<button id="detail-enable-btn" class="addon-control enable"
|
||||
label="&cmd.enableAddon.label;"
|
||||
accesskey="&cmd.enableAddon.accesskey;"
|
||||
|
|
|
|||
|
|
@ -36,8 +36,10 @@ XPCOMUtils.defineLazyModuleGetter(this, "Task",
|
|||
"resource://gre/modules/Task.jsm");
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "OS",
|
||||
"resource://gre/modules/osfile.jsm");
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "BrowserToolboxProcess",
|
||||
"resource://devtools/client/framework/ToolboxProcess.jsm");
|
||||
#endif
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "ConsoleAPI",
|
||||
"resource://gre/modules/Console.jsm");
|
||||
|
||||
|
|
@ -138,7 +140,9 @@ const FIREFOX_APPCOMPATVERSION = "56.9"
|
|||
|
||||
// The value for this is in Makefile.in
|
||||
#expand const DB_SCHEMA = __MOZ_EXTENSIONS_DB_SCHEMA__;
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
const NOTIFICATION_TOOLBOXPROCESS_LOADED = "ToolboxProcessLoaded";
|
||||
#endif
|
||||
|
||||
// Properties that exist in the install manifest
|
||||
const PROP_METADATA = ["id", "version", "type", "internalName", "updateURL",
|
||||
|
|
@ -1846,8 +1850,10 @@ this.XPIProvider = {
|
|||
_enabledExperiments: null,
|
||||
// A Map from an add-on install to its ID
|
||||
_addonFileMap: new Map(),
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
// Flag to know if ToolboxProcess.jsm has already been loaded by someone or not
|
||||
_toolboxProcessLoaded: false,
|
||||
#endif
|
||||
// Have we started shutting down bootstrap add-ons?
|
||||
_closing: false,
|
||||
|
||||
|
|
@ -2083,6 +2089,8 @@ this.XPIProvider = {
|
|||
Services.prefs.addObserver(PREF_EM_MIN_COMPAT_APP_VERSION, this, false);
|
||||
Services.prefs.addObserver(PREF_EM_MIN_COMPAT_PLATFORM_VERSION, this, false);
|
||||
Services.obs.addObserver(this, NOTIFICATION_FLUSH_PERMISSIONS, false);
|
||||
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
if (Cu.isModuleLoaded("resource://devtools/client/framework/ToolboxProcess.jsm")) {
|
||||
// If BrowserToolboxProcess is already loaded, set the boolean to true
|
||||
// and do whatever is needed
|
||||
|
|
@ -2094,6 +2102,7 @@ this.XPIProvider = {
|
|||
// Else, wait for it to load
|
||||
Services.obs.addObserver(this, NOTIFICATION_TOOLBOXPROCESS_LOADED, false);
|
||||
}
|
||||
#endif
|
||||
|
||||
let flushCaches = this.checkForChanges(aAppChanged, aOldAppVersion,
|
||||
aOldPlatformVersion);
|
||||
|
|
@ -4088,12 +4097,14 @@ this.XPIProvider = {
|
|||
}
|
||||
return;
|
||||
}
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
else if (aTopic == NOTIFICATION_TOOLBOXPROCESS_LOADED) {
|
||||
Services.obs.removeObserver(this, NOTIFICATION_TOOLBOXPROCESS_LOADED, false);
|
||||
this._toolboxProcessLoaded = true;
|
||||
BrowserToolboxProcess.on("connectionchange",
|
||||
this.onDebugConnectionChange.bind(this));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (aTopic == "nsPref:changed") {
|
||||
switch (aData) {
|
||||
|
|
@ -4358,12 +4369,14 @@ this.XPIProvider = {
|
|||
logger.warn("Error loading bootstrap.js for " + aId, e);
|
||||
}
|
||||
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
// Only access BrowserToolboxProcess if ToolboxProcess.jsm has been
|
||||
// initialized as otherwise, when it will be initialized, all addons'
|
||||
// globals will be added anyways
|
||||
if (this._toolboxProcessLoaded) {
|
||||
BrowserToolboxProcess.setAddonOptions(aId, { global: this.bootstrapScopes[aId] });
|
||||
}
|
||||
#endif
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
@ -4383,11 +4396,13 @@ this.XPIProvider = {
|
|||
this.persistBootstrappedAddons();
|
||||
this.addAddonsToCrashReporter();
|
||||
|
||||
#ifdef MOZ_DEVTOOLS
|
||||
// Only access BrowserToolboxProcess if ToolboxProcess.jsm has been
|
||||
// initialized as otherwise, there won't be any addon globals added to it
|
||||
if (this._toolboxProcessLoaded) {
|
||||
BrowserToolboxProcess.setAddonOptions(aId, { global: null });
|
||||
}
|
||||
#endif
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue