Add togglefullscreen role
authorKevin Sawicki <kevinsawicki@gmail.com>
Tue, 21 Jun 2016 16:31:17 +0000 (09:31 -0700)
committerKevin Sawicki <kevinsawicki@gmail.com>
Tue, 21 Jun 2016 16:31:17 +0000 (09:31 -0700)
lib/browser/api/menu-item.js

index f38ab97..de5aab2 100644 (file)
@@ -14,13 +14,17 @@ const rolesMap = {
   minimize: 'minimize',
   close: 'close',
   delete: 'delete',
-  quit: 'quit'
+  quit: 'quit',
+  togglefullscreen: 'toggleFullScreen'
 }
 
 // Maps methods that should be called directly on the BrowserWindow instance
 const methodInBrowserWindow = {
   minimize: true,
-  close: true
+  close: true,
+  toggleFullScreen: function (window) {
+    window.setFullScreen(!window.isFullScreen())
+  }
 }
 
 const methodInApp = {
@@ -79,7 +83,11 @@ const MenuItem = (function () {
         if (methodInApp[methodName]) {
           return app[methodName]()
         } else if (methodInBrowserWindow[methodName]) {
-          return focusedWindow[methodName]()
+          if (typeof methodName === 'function') {
+            return methodName(focusedWindow)
+          } else {
+            return focusedWindow[methodName]()
+          }
         } else {
           const {webContents} = focusedWindow
           return webContents != null ? webContents[methodName]() : void 0