aboutsummaryrefslogtreecommitdiff
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/content/overlay.js7
-rw-r--r--chrome/content/redirectList.js30
-rw-r--r--chrome/content/redirector.js4
3 files changed, 27 insertions, 14 deletions
diff --git a/chrome/content/overlay.js b/chrome/content/overlay.js
index ca198e6..7795372 100644
--- a/chrome/content/overlay.js
+++ b/chrome/content/overlay.js
@@ -82,7 +82,7 @@ var RedirectorOverlay = {
if (redirectUrl.url && oHttp.notificationCallbacks) {
const NS_BINDING_ABORTED = 0x804b0002;
aRequest.cancel(NS_BINDING_ABORTED);
- var newStateFlags = Ci.nsIWebProgressListener.STATE_STOP | Ci.nsIWebProgressListener.STATE_IS_NETWORK;
+ var newStateFlags = Ci.nsIWebProgressListener.STATE_STOP | Ci.nsIWebProgressListener.STATE_IS_NETWORK | Ci.nsIWebProgressListener.STATE_IS_REQUEST;
origOnStateChange.call(this, aWebProgress, aRequest, newStateFlags, "");
var interfaceRequestor = oHttp.notificationCallbacks.QueryInterface(Ci.nsIInterfaceRequestor);
var targetDoc = interfaceRequestor.getInterface(Ci.nsIDOMWindow).document;
@@ -92,7 +92,10 @@ var RedirectorOverlay = {
origOnStateChange.apply(this, arguments);
}
+ } else {
+ origOnStateChange.apply(this, arguments);
}
+
};
},
@@ -111,6 +114,8 @@ var RedirectorOverlay = {
onUnload : function(event) {
+ RedirectorOverlay.prefObserver.unregister();
+ Redirector.prefObserver.unregister();
//Clean up here
RedirLib.debug("Finished cleanup");
},
diff --git a/chrome/content/redirectList.js b/chrome/content/redirectList.js
index 159bc8a..4680075 100644
--- a/chrome/content/redirectList.js
+++ b/chrome/content/redirectList.js
@@ -24,18 +24,18 @@ var RedirectList = {
row.appendChild(cell);
},
- createRow : function(item) {
- var row = document.createElement('listitem');
+ createRow : function(item) {
+ var row = document.createElement('listitem');
- this.createCell(row, item.pattern);
- this.createCell(row, item.exampleUrl);
- this.createCell(row, item.redirectUrl);
- this.createCell(row, item.onlyIfLinkExists);
- this.createCell(row, item.patternType);
+ this.createCell(row, item.pattern);
+ this.createCell(row, item.exampleUrl);
+ this.createCell(row, item.redirectUrl);
+ this.createCell(row, item.onlyIfLinkExists);
+ this.createCell(row, item.patternType);
- row.item = item;
- return row;
- },
+ row.item = item;
+ return row;
+ },
onLoad : function() {
try {
@@ -63,9 +63,9 @@ var RedirectList = {
"chrome,dialog,modal,centerscreen", item);
if (item.saved) {
- var row = this.createRow(item);
- $('lstRedirects').appendChild(row);
- Redirector.addRedirect(item);
+ var row = this.createRow(item);
+ $('lstRedirects').appendChild(row);
+ Redirector.addRedirect(item);
}
},
@@ -118,3 +118,7 @@ var RedirectList = {
}
};
+
+window.addEventListener('unload', function() {
+ Redirector.unload();
+}, false); \ No newline at end of file
diff --git a/chrome/content/redirector.js b/chrome/content/redirector.js
index cab38c3..1c77ed6 100644
--- a/chrome/content/redirector.js
+++ b/chrome/content/redirector.js
@@ -11,6 +11,10 @@ var Redirector = {
this.load();
this.prefObserver.register();
},
+
+ unload : function() {
+ this.prefObserver.unregister();
+ },
save : function() {
var r