From ee8281730e0847530cb3c5db21bedb1301b6f7eb Mon Sep 17 00:00:00 2001 From: Mahadevan Sreenivasan Date: Mon, 15 Jun 2020 15:04:34 +0000 Subject: Open Documents inside Ferdi instead of external browser (#787) * Bump version number * no message * Revert "no message" This reverts commit 060f3084460d07e3b08394cd7703611f28095ea9. * fix: Documents opened in Google drive should open inside Ferdi as a new BrowserWindow - modify 'new-window' listener of service webview in Service.js to open links in external browser only when event.disposition != 'foreground-tab'. If event.disposition === 'foreground-tab' send an ipc-message to main to open the link inside Ferdi as a new Browser window - Listen to 'open-browser-window' in index.js (main process) and check for event disposition - create a child BrowserWindow with the main Ferdi window as parent - Copy session information from the appropriate service (here google drive) - Load the URL that was sent from the service renderer. * Update src/index.js refactor: Remove extra spaces in index.js Co-authored-by: Sampath Kumar Krishnan Co-authored-by: Amine Mouafik Co-authored-by: vantezzen Co-authored-by: Sampath Kumar Krishnan --- src/models/Service.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/models/Service.js') diff --git a/src/models/Service.js b/src/models/Service.js index fb8a4298b..45dc55fce 100644 --- a/src/models/Service.js +++ b/src/models/Service.js @@ -266,12 +266,17 @@ export default class Service { })); this.webview.addEventListener('new-window', (event, url, frameName, options) => { - openWindow({ - event, - url, - frameName, - options, - }); + debug('new-window', event, url, frameName, options); + if (event.disposition === 'foreground-tab') { + ipcRenderer.send('open-browser-window', event, this.id); + } else { + openWindow({ + event, + url, + frameName, + options, + }); + } }); -- cgit v1.2.3-70-g09d2