--- a/toolkit/modules/RemoteFinder.jsm
+++ b/toolkit/modules/RemoteFinder.jsm
@@ -21,27 +21,17 @@ XPCOMUtils.defineLazyGetter(this, "Rect"
function RemoteFinder(browser) {
this._listeners = new Set();
this._searchString = null;
this.swapBrowser(browser);
}
RemoteFinder.prototype = {
- destroy() {
- this._browser.messageManager.sendAsyncMessage("Finder:Destroy");
- if (this._messageManager) {
- this._messageManager.removeMessageListener("Finder:Result", this);
- this._messageManager.removeMessageListener("Finder:MatchesResult", this);
- this._messageManager.removeMessageListener("Finder:CurrentSelectionResult", this);
- this._messageManager.removeMessageListener("Finder:HighlightFinished", this);
- }
- this._listeners.clear();
- this._browser = this._messageManager = null;
- },
+ destroy() {},
swapBrowser: function(aBrowser) {
if (this._messageManager) {
this._messageManager.removeMessageListener("Finder:Result", this);
this._messageManager.removeMessageListener("Finder:MatchesResult", this);
this._messageManager.removeMessageListener("Finder:CurrentSelectionResult", this);
this._messageManager.removeMessageListener("Finder:HighlightFinished", this);
}
@@ -222,23 +212,21 @@ function RemoteFinderListener(global) {
let {Finder} = Cu.import("resource://gre/modules/Finder.jsm", {});
this._finder = new Finder(global.docShell);
this._finder.addResultListener(this);
this._global = global;
for (let msg of this.MESSAGES) {
global.addMessageListener(msg, this);
}
- global.addEventListener("unload", this.destroy.bind(this));
}
RemoteFinderListener.prototype = {
MESSAGES: [
"Finder:CaseSensitive",
- "Finder:Destroy",
"Finder:EntireWord",
"Finder:FastFind",
"Finder:FindAgain",
"Finder:SetSearchStringToSelection",
"Finder:GetInitialSelection",
"Finder:Highlight",
"Finder:HighlightAllChange",
"Finder:EnableSelection",
@@ -246,23 +234,16 @@ RemoteFinderListener.prototype = {
"Finder:FocusContent",
"Finder:FindbarClose",
"Finder:FindbarOpen",
"Finder:KeyPress",
"Finder:MatchesCount",
"Finder:ModalHighlightChange"
],
- destroy() {
- this._finder.destroy();
- for (let msg of this.MESSAGES)
- this._global.removeMessageListener(msg, this);
- this._finder = this._global = null;
- },
-
onFindResult: function (aData) {
this._global.sendAsyncMessage("Finder:Result", aData);
},
// When the child receives messages with results of requestMatchesCount,
// it passes them forward to the parent.
onMatchesCountResult: function (aData) {
this._global.sendAsyncMessage("Finder:MatchesResult", aData);
@@ -271,20 +252,16 @@ RemoteFinderListener.prototype = {
onHighlightFinished: function(aData) {
this._global.sendAsyncMessage("Finder:HighlightFinished", aData);
},
receiveMessage: function (aMessage) {
let data = aMessage.data;
switch (aMessage.name) {
- case "Finder:Destroy":
- this._finder.destroy();
- break;
-
case "Finder:CaseSensitive":
this._finder.caseSensitive = data.caseSensitive;
break;
case "Finder:EntireWord":
this._finder.entireWord = data.entireWord;
break;