diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs index 430c6877c81824d8ab318cacc997d4eda4cb6a11..e8a195e1fe09952b90a0d73d13c6c15da2006bd4 100644 --- a/browser/components/BrowserContentHandler.sys.mjs +++ b/browser/components/BrowserContentHandler.sys.mjs @@ -603,6 +603,28 @@ nsBrowserContentHandler.prototype = { } } + try { + let blankWindowParam = cmdLine.handleFlagWithParam("blank-window", false); + if (blankWindowParam !== null) { + let { uri, principal } = resolveURIInternal(cmdLine, blankWindowParam); + if (shouldLoadURI(uri)) { + let win = openBrowserWindow(cmdLine, principal, uri.spec); + win._zenStartupSyncFlag = 'unsynced'; + cmdLine.preventDefault = true; + } + } + } catch (e) { + if (e.result != Cr.NS_ERROR_INVALID_ARG) { + throw e; + } + if (cmdLine.handleFlag("blank-window", false)) { + let win = openBrowserWindow(cmdLine, null, null); + win._zenStartupSyncFlag = 'unsynced'; + cmdLine.preventDefault = true; + } + } + + var searchParam = cmdLine.handleFlagWithParam("search", false); if (searchParam) { doSearch(searchParam, cmdLine); @@ -672,6 +694,7 @@ nsBrowserContentHandler.prototype = { " --new-window Open in a new window.\n" + " --new-tab Open in a new tab.\n" + " --private-window [] Open in a new private window.\n"; + info += " --blank-window [] Open the new blank window.\n"; if (AppConstants.platform == "win") { info += " --preferences Open Options dialog.\n"; } else {