Bug 1240912 - NetworkMonitorManager uses mm instead of frame. r=ochameau
MozReview-Commit-ID: JsvQRwbjJDE
--- a/devtools/server/main.js
+++ b/devtools/server/main.js
@@ -1058,17 +1058,17 @@ var DebuggerServer = {
connection.setForwarding(prefix, childTransport);
dumpn("establishing forwarding for app with prefix " + prefix);
actor = msg.json.actor;
let { NetworkMonitorManager } = require("devtools/shared/webconsole/network-monitor");
- netMonitor = new NetworkMonitorManager(frame, actor.actor);
+ netMonitor = new NetworkMonitorManager(mm, actor.actor);
deferred.resolve(actor);
}).bind(this);
// Listen for browser frame swap
let onBrowserSwap = ({ detail: newFrame }) => {
// Remove listeners from old frame and mm
untrackMessageManager();
--- a/devtools/shared/webconsole/network-monitor.js
+++ b/devtools/shared/webconsole/network-monitor.js
@@ -1559,26 +1559,23 @@ NetworkEventActorProxy.prototype = {
})();
/**
* The NetworkMonitor manager used by the Webapps actor in the main process.
* This object uses the message manager to listen for requests from the child
* process to start/stop the network monitor.
*
* @constructor
- * @param nsIDOMElement frame
- * The browser frame to work with (mozbrowser).
+ * @param nsIMessageManager mm
+ * The message manager for the browser we're filtering on.
* @param string id
* Instance identifier to use for messages.
*/
-function NetworkMonitorManager(frame, id) {
+function NetworkMonitorManager(mm, id) {
this.id = id;
- // Get messageManager from XUL browser (which might be a specialized tunnel for RDM)
- // or else fallback to asking the frameLoader itself.
- let mm = frame.messageManager || frame.frameLoader.messageManager;
this.messageManager = mm;
this.onNetMonitorMessage = this.onNetMonitorMessage.bind(this);
this.onNetworkEvent = this.onNetworkEvent.bind(this);
mm.addMessageListener("debug:netmonitor:" + id, this.onNetMonitorMessage);
}
exports.NetworkMonitorManager = NetworkMonitorManager;