diff --git a/src/background.js b/src/background.js index fcd5f155cb..6737e5fd74 100644 --- a/src/background.js +++ b/src/background.js @@ -58,7 +58,7 @@ const appIsReady = new Promise(resolve => { } }); if (process.platform === 'darwin') { -// Open protocol urls on mac as open-url is not yet implemented on other OS's + // Open protocol urls on mac as open-url is not yet implemented on other OS's app.on('open-url', function (e, url) { e.preventDefault(); const site = processProtocolArgv([url]); diff --git a/src/scripts/menus.js b/src/scripts/menus.js index ec0761b798..96f478dd63 100644 --- a/src/scripts/menus.js +++ b/src/scripts/menus.js @@ -5,6 +5,7 @@ import servers from './servers'; import appMenu from './menus/app'; import editMenu from './menus/edit'; import viewMenu from './menus/view'; +import historyMenu from './menus/history'; import windowMenu from './menus/window'; import helpMenu from './menus/help'; @@ -31,6 +32,10 @@ const menuTemplate = [ label: getLabel('View'), submenu: viewMenu }, + { + label: getLabel('History'), + submenu: historyMenu + }, { label: getLabel('Window'), id: 'window', diff --git a/src/scripts/menus/history.js b/src/scripts/menus/history.js new file mode 100644 index 0000000000..582089b2c4 --- /dev/null +++ b/src/scripts/menus/history.js @@ -0,0 +1,30 @@ +import webview from '../webview'; +const isMac = process.platform === 'darwin'; + +const macWindowTemplate = [ + { + label: 'Back', + accelerator: 'Command+left', + click: () => { webview.goBack(); } + }, + { + label: 'Forward', + accelerator: 'Command+right', + click: () => { webview.goForward(); } + } +]; + +const windowTemplate = [ + { + label: 'Back', + accelerator: 'Alt+Left', + click: () => { webview.goBack(); } + }, + { + label: 'Forward', + accelerator: 'Alt+Right', + click: () => { webview.goForward(); } + }, +]; + +export default isMac ? macWindowTemplate : windowTemplate; diff --git a/src/scripts/webview.js b/src/scripts/webview.js index d082be733d..44182288d3 100644 --- a/src/scripts/webview.js +++ b/src/scripts/webview.js @@ -73,7 +73,7 @@ class WebView extends EventEmitter { } }); - webviewObj.addEventListener('console-message', function (e) { + webviewObj.addEventListener('console-message', (e) => { console.log('webview:', e.message); }); @@ -193,6 +193,14 @@ class WebView extends EventEmitter { } return false; } + + goBack () { + this.getActive().goBack(); + } + + goForward () { + this.getActive().goForward(); + } } export default new WebView();