Index: lib/child/dataCollector.js |
=================================================================== |
--- a/lib/child/dataCollector.js |
+++ b/lib/child/dataCollector.js |
@@ -21,57 +21,36 @@ |
*/ |
"use strict"; |
let {Services} = Cu.import("resource://gre/modules/Services.jsm", {}); |
let {Task} = Cu.import("resource://gre/modules/Task.jsm", {}); |
let {PrivateBrowsingUtils} = Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm", {}); |
+let {port} = require("messaging"); |
let {Utils} = require("utils"); |
-addMessageListener("AdblockPlus:CollectData", onCollectData); |
-onShutdown.add(() => { |
- removeMessageListener("AdblockPlus:CollectData", onCollectData); |
-}); |
+port.on("collectData", onCollectData); |
-function onCollectData(message) |
+function onCollectData({outerWindowID, screenshotWidth}, sender) |
{ |
- let {outerWindowID, screenshotWidth, responseID} = message.data; |
- |
- function success(data) |
- { |
- sendAsyncMessage("AdblockPlus:CollectDataResponse", { |
- responseID, |
- data |
- }); |
- } |
- |
- function error(e) |
- { |
- Cu.reportError(e); |
- sendAsyncMessage("AdblockPlus:CollectDataResponse", { |
- responseID, |
- data: null |
- }); |
- } |
- |
let window = Services.wm.getOuterWindowWithId(outerWindowID); |
if (window) |
{ |
- Task.spawn(function*() |
+ return Task.spawn(function*() |
{ |
let data = {}; |
data.isPrivate = PrivateBrowsingUtils.isContentWindowPrivate(window); |
data.opener = window.opener ? window.opener.location.href : null; |
data.referrer = window.document.referrer; |
data.frames = yield scanFrames(window); |
data.screenshot = yield createScreenshot(window, screenshotWidth); |
return data; |
- }).then(success, error); |
+ }); |
} |
} |
function scanFrames(window) |
{ |
let frames = []; |
for (let i = 0; i < window.frames.length; i++) |
{ |