diff --git a/lib/browser/api/menu-item-roles.js b/lib/browser/api/menu-item-roles.js index 254283b86be..8919b8d10ec 100644 --- a/lib/browser/api/menu-item-roles.js +++ b/lib/browser/api/menu-item-roles.js @@ -178,8 +178,7 @@ const roles = { role: 'paste' }, - process.platform === 'darwin' ? - { + process.platform === 'darwin' ? { role: 'pasteandmatchstyle' } : {}, @@ -187,9 +186,8 @@ const roles = { role: 'delete' }, - process.platform === 'win32' ? - { - type: 'separator' + process.platform === 'win32' ? { + type: 'separator' } : {}, { @@ -209,13 +207,11 @@ const roles = { role: 'close' }, - process.platform === 'darwin' ? - { + process.platform === 'darwin' ? { type: 'separator' } : {}, - process.platform === 'darwin' ? - { + process.platform === 'darwin' ? { label: 'Bring All to Front', role: 'front' } : {} @@ -245,13 +241,14 @@ exports.getDefaultAccelerator = (role) => { exports.getDefaultSubmenu = (role) => { if (roles.hasOwnProperty(role)) { - submenu = roles[role].submenu + let submenu = roles[role].submenu // remove empty objects from within the submenu - if (Array.isArray(submenu)) - submenu = submenu.filter(function(n){ + if (Array.isArray(submenu)) { + submenu = submenu.filter(function (n) { return n.constructor !== Object || Object.keys(n).length > 0 }) + } return submenu }