From ae66f965708342c4f6ae0f57bed9e3a300a3ab53 Mon Sep 17 00:00:00 2001 From: Deathamns Date: Fri, 16 Jan 2015 11:42:34 +0100 Subject: [PATCH] Firefox: minimal effort to support older versions --- platform/firefox/frameModule.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/platform/firefox/frameModule.js b/platform/firefox/frameModule.js index ad24e49..8288fcf 100644 --- a/platform/firefox/frameModule.js +++ b/platform/firefox/frameModule.js @@ -153,13 +153,24 @@ const contentObserver = { // so check context.top instead of context if ( context.top && context.location ) { // https://bugzil.la/1092216 - getMessageManager(context).sendRpcMessage(this.cpMessageName, { + let messageManager = getMessageManager(context); + let details = { openerURL: openerURL || null, url: location.spec, type: type, frameId: type === this.MAIN_FRAME ? -1 : (context === context.top ? 0 : 1), parentFrameId: context === context.top ? -1 : 0 - }); + }; + + // TODO: frameId from outerWindowID? + // https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindowUtils + + if ( typeof messageManager.sendRpcMessage === 'function' ) { + messageManager.sendRpcMessage(this.cpMessageName, details); + } else { + // Compatibility for older versions + messageManager.sendSyncMessage(this.cpMessageName, details); + } } return this.ACCEPT;