Skip to content

Commit

Permalink
fix unloading finally
Browse files Browse the repository at this point in the history
  • Loading branch information
gavinsharp committed Jan 16, 2013
1 parent 7e6bd08 commit 23160e3
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 13 deletions.
Binary file modified SaveAsFilename.xpi
Binary file not shown.
14 changes: 1 addition & 13 deletions bootstrap.js
Expand Up @@ -57,30 +57,20 @@ function startup(aData, aReason) {
} }


function shutdown(aData, aReason) { function shutdown(aData, aReason) {
function log(msg) {
Components.utils.reportError("Gavin: " + msg);
}
log("Shutdown");
if (aReason != APP_SHUTDOWN) { if (aReason != APP_SHUTDOWN) {
log("Not app shutdown");
let enumerator = Services.wm.getEnumerator("navigator:browser"); let enumerator = Services.wm.getEnumerator("navigator:browser");
while (enumerator.hasMoreElements()) { while (enumerator.hasMoreElements()) {
let win = XPCNativeWrapper.unwrap(enumerator.getNext()); let win = XPCNativeWrapper.unwrap(enumerator.getNext());
log("Found window");
if (win._saveAsFilename_getDefaultFileName) { if (win._saveAsFilename_getDefaultFileName) {
log("removing prop from window");
win.getDefaultFileName = win._saveAsFilename_getDefaultFileName; win.getDefaultFileName = win._saveAsFilename_getDefaultFileName;
delete win._saveAsFilename_getDefaultFileName; delete win._saveAsFilename_getDefaultFileName;
} }
} }


unloaders.forEach(function (f) { unloaders.forEach(function (f) {
try { try {
log("unloading");
f(); f();
} catch (ex) { } catch (ex) {}
log("unloading failed: " + ex);
}
}); });
} }
} }
Expand All @@ -89,7 +79,6 @@ function install(aData, aReason) { }


function uninstall(aData, aReason) { } function uninstall(aData, aReason) { }



/* Code from: https://github.com/Mardak/restartless/blob/watchWindows/bootstrap.js */ /* Code from: https://github.com/Mardak/restartless/blob/watchWindows/bootstrap.js */
let unloaders = []; let unloaders = [];


Expand Down Expand Up @@ -134,4 +123,3 @@ function watchWindows(callback) {
Services.ww.registerNotification(windowWatcher); Services.ww.registerNotification(windowWatcher);
unloaders.push(function() Services.ww.unregisterNotification(windowWatcher)); unloaders.push(function() Services.ww.unregisterNotification(windowWatcher));
} }

0 comments on commit 23160e3

Please sign in to comment.