Bug 1254657 - change how we send Content:LoadURIResult to avoid upsetting RemoteWebProgress.jsm, r?mconley
MozReview-Commit-ID: 7GR6H19ZUuN
--- a/toolkit/content/browser-child.js
+++ b/toolkit/content/browser-child.js
@@ -205,17 +205,17 @@ var WebProgressListener = {
this._send("Content:SecurityChange", json, objects);
},
onRefreshAttempted: function onRefreshAttempted(aWebProgress, aURI, aDelay, aSameURI) {
return true;
},
sendLoadCallResult() {
- this._send("Content:LoadURIResult");
+ sendAsyncMessage("Content:LoadURIResult");
},
QueryInterface: function QueryInterface(aIID) {
if (aIID.equals(Ci.nsIWebProgressListener) ||
aIID.equals(Ci.nsIWebProgressListener2) ||
aIID.equals(Ci.nsISupportsWeakReference) ||
aIID.equals(Ci.nsISupports)) {
return this;
--- a/toolkit/modules/RemoteWebProgress.jsm
+++ b/toolkit/modules/RemoteWebProgress.jsm
@@ -179,16 +179,20 @@ RemoteWebProgressManager.prototype = {
}
}
}
},
receiveMessage: function (aMessage) {
let json = aMessage.json;
let objects = aMessage.objects;
+ if (aMessage.name == "Content:LoadURIResult") {
+ this._browser.inLoadURI = false;
+ return;
+ }
let webProgress = null;
let isTopLevel = json.webProgress && json.webProgress.isTopLevel;
// The top-level WebProgress is always the same, but because we don't
// really have a concept of subframes/content we always create a new object
// for those.
if (json.webProgress) {
webProgress = isTopLevel ? this._topLevelWebProgress
@@ -266,14 +270,11 @@ RemoteWebProgressManager.prototype = {
case "Content:StatusChange":
this._callProgressListeners("onStatusChange", webProgress, request, json.status, json.message);
break;
case "Content:ProgressChange":
this._callProgressListeners("onProgressChange", webProgress, request, json.curSelf, json.maxSelf, json.curTotal, json.maxTotal);
break;
- case "Content:LoadURIResult":
- this._browser.inLoadURI = false;
- break;
}
},
};