diff --git a/platform/firefox/frameModule.js b/platform/firefox/frameModule.js index aed70d8e3..126a4d9e9 100644 --- a/platform/firefox/frameModule.js +++ b/platform/firefox/frameModule.js @@ -84,11 +84,13 @@ let contentPolicy = { ); }, shouldLoad: function(type, location, origin, context) { - if (type === 6 || !context || !/^https?$/.test(location.scheme)) { + if (!context || !/^https?$/.test(location.scheme)) { return this.ACCEPT; } - let win = (context.ownerDocument || context).defaultView; + let win = type === 6 + ? context.contentWindow + : (context.ownerDocument || context).defaultView; if (!win) { return this.ACCEPT; @@ -98,7 +100,7 @@ let contentPolicy = { url: location.spec, type: type, tabId: -1, - frameId: win === win.top ? 0 : 1, + frameId: type === 6 ? -1 : (win === win.top ? 0 : 1), parentFrameId: win === win.top ? -1 : 0 })[0]; diff --git a/platform/firefox/vapi-background.js b/platform/firefox/vapi-background.js index 44c4d8c22..be36e3188 100644 --- a/platform/firefox/vapi-background.js +++ b/platform/firefox/vapi-background.js @@ -832,6 +832,7 @@ vAPI.net.registerListeners = function() { 3: 'image', 4: 'stylesheet', 5: 'object', + 6: 'main_frame', 7: 'sub_frame', 11: 'xmlhttprequest' };