Backed out 2 changesets (bug 1302996) for being the likely cause of browser chrome crashes a=backout
Backed out changeset 8a97f217ebe8 (bug 1302996) Backed out changeset 45bcf45afca2 (bug 1302996)
This commit is contained in:
@@ -18,6 +18,7 @@ const promise = require("promise");
|
||||
const defer = require("devtools/shared/defer");
|
||||
const Telemetry = require("devtools/client/shared/telemetry");
|
||||
const { gDevTools } = require("./devtools");
|
||||
const { when: unload } = require("sdk/system/unload");
|
||||
|
||||
// Load target and toolbox lazily as they need gDevTools to be fully initialized
|
||||
loader.lazyRequireGetter(this, "TargetFactory", "devtools/client/framework/target", true);
|
||||
@@ -141,16 +142,6 @@ var gDevToolsBrowser = exports.gDevToolsBrowser = {
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "quit-application":
|
||||
gDevToolsBrowser.destroy({ shuttingDown: true });
|
||||
break;
|
||||
case "sdk:loader:destroy":
|
||||
// This event is fired when the devtools loader unloads, which happens
|
||||
// only when the add-on workflow ask devtools to be reloaded.
|
||||
if (subject.wrappedJSObject == require('@loader/unload')) {
|
||||
gDevToolsBrowser.destroy({ shuttingDown: false });
|
||||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
@@ -739,19 +730,12 @@ var gDevToolsBrowser = exports.gDevToolsBrowser = {
|
||||
},
|
||||
|
||||
/**
|
||||
* Either the SDK Loader has been destroyed by the add-on contribution
|
||||
* workflow, or firefox is shutting down.
|
||||
|
||||
* @param {boolean} shuttingDown
|
||||
* True if firefox is currently shutting down. We may prevent doing
|
||||
* some cleanups to speed it up. Otherwise everything need to be
|
||||
* cleaned up in order to be able to load devtools again.
|
||||
* All browser windows have been closed, tidy up remaining objects.
|
||||
*/
|
||||
destroy: function ({ shuttingDown }) {
|
||||
destroy: function () {
|
||||
Services.prefs.removeObserver("devtools.", gDevToolsBrowser);
|
||||
Services.obs.removeObserver(gDevToolsBrowser, "browser-delayed-startup-finished");
|
||||
Services.obs.removeObserver(gDevToolsBrowser, "quit-application");
|
||||
Services.obs.removeObserver(gDevToolsBrowser, "sdk:loader:destroy");
|
||||
Services.obs.removeObserver(gDevToolsBrowser.destroy, "quit-application");
|
||||
|
||||
gDevToolsBrowser._pingTelemetry();
|
||||
gDevToolsBrowser._telemetry = null;
|
||||
@@ -759,8 +743,6 @@ var gDevToolsBrowser = exports.gDevToolsBrowser = {
|
||||
for (let win of gDevToolsBrowser._trackedBrowserWindows) {
|
||||
gDevToolsBrowser._forgetBrowserWindow(win);
|
||||
}
|
||||
|
||||
gDevTools.destroy({ shuttingDown });
|
||||
},
|
||||
};
|
||||
|
||||
@@ -784,10 +766,8 @@ gDevTools.on("tool-unregistered", function (ev, toolId) {
|
||||
gDevTools.on("toolbox-ready", gDevToolsBrowser._updateMenuCheckbox);
|
||||
gDevTools.on("toolbox-destroyed", gDevToolsBrowser._updateMenuCheckbox);
|
||||
|
||||
Services.obs.addObserver(gDevToolsBrowser, "quit-application", false);
|
||||
Services.obs.addObserver(gDevToolsBrowser.destroy, "quit-application", false);
|
||||
Services.obs.addObserver(gDevToolsBrowser, "browser-delayed-startup-finished", false);
|
||||
// Watch for module loader unload. Fires when the tools are reloaded.
|
||||
Services.obs.addObserver(gDevToolsBrowser, "sdk:loader:destroy", false);
|
||||
|
||||
// Fake end of browser window load event for all already opened windows
|
||||
// that is already fully loaded.
|
||||
@@ -798,3 +778,8 @@ while (enumerator.hasMoreElements()) {
|
||||
gDevToolsBrowser._registerBrowserWindow(win);
|
||||
}
|
||||
}
|
||||
|
||||
// Watch for module loader unload. Fires when the tools are reloaded.
|
||||
unload(function () {
|
||||
gDevToolsBrowser.destroy();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user