diff --git a/platform/chromium/vapi-background.js b/platform/chromium/vapi-background.js index 791afb7d9..6a0a15f41 100644 --- a/platform/chromium/vapi-background.js +++ b/platform/chromium/vapi-background.js @@ -36,6 +36,7 @@ var vAPI = self.vAPI = self.vAPI || {}; var chrome = self.chrome; var manifest = chrome.runtime.getManifest(); +vAPI.isMainProcess = true; vAPI.chrome = true; var noopFunc = function(){}; diff --git a/platform/chromium/vapi-common.js b/platform/chromium/vapi-common.js index 094f55a29..3e95b3f10 100644 --- a/platform/chromium/vapi-common.js +++ b/platform/chromium/vapi-common.js @@ -61,14 +61,22 @@ vAPI.download = function(details) { a.dispatchEvent(new MouseEvent('click')); return; } - var messager = vAPI.messaging.channel('_download'); - messager.send({ + + var request = { what: 'gotoURL', details: { url: details.url, index: -1 } - }); + }; + + if ( vAPI.isMainProcess ) { + vAPI.tabs.open(request); + return; + } + + var messager = vAPI.messaging.channel('_download'); + messager.send(request); messager.close(); }; diff --git a/platform/firefox/vapi-background.js b/platform/firefox/vapi-background.js index 10cb25deb..1821f932c 100644 --- a/platform/firefox/vapi-background.js +++ b/platform/firefox/vapi-background.js @@ -38,6 +38,7 @@ const {Services} = Cu.import('resource://gre/modules/Services.jsm', null); /******************************************************************************/ var vAPI = self.vAPI = self.vAPI || {}; +vAPI.isMainProcess = true; vAPI.firefox = true; vAPI.fennec = Services.appinfo.ID === '{aa3c5121-dab2-40e2-81ca-7ea25febc110}';