diff --git a/lib/browser/api/dialog.js b/lib/browser/api/dialog.js index 378822c6fb33..6669d8cab89a 100644 --- a/lib/browser/api/dialog.js +++ b/lib/browser/api/dialog.js @@ -20,18 +20,25 @@ var messageBoxOptions = { noLink: 1 << 0 } -var parseArgs = function (window, options, callback) { +var parseArgs = function (window, options, callback, ...args) { if (!(window === null || (window != null ? window.constructor : void 0) === BrowserWindow)) { // Shift. callback = options options = window window = null } + if ((callback == null) && typeof options === 'function') { // Shift. callback = options options = null } + + // Fallback to using very last argument as the callback function + if ((callback == null) && typeof args[args.length - 1] === 'function') { + callback = args[args.length - 1] + } + return [window, options, callback] }