Chrome not found on Mac when launching React Native (WEB-27607)

This commit is contained in:
Konstantin Ulitin
2017-08-24 18:24:34 +03:00
parent d4b2a8c077
commit 95560357a9
2 changed files with 26 additions and 5 deletions
@@ -45,9 +45,18 @@ abstract class BrowserLauncher {
abstract fun browse(url: String, browser: WebBrowser? = null, project: Project? = null)
fun browseUsingPath(url: String?,
browserPath: String? = null,
browser: WebBrowser? = null,
project: Project? = null,
additionalParameters: Array<String> = ArrayUtil.EMPTY_STRING_ARRAY): Boolean {
return browseUsingPath(url, browserPath, browser, project, false, additionalParameters)
}
abstract fun browseUsingPath(url: String?,
browserPath: String? = null,
browser: WebBrowser? = null,
project: Project? = null,
openInNewWindow: Boolean = false,
additionalParameters: Array<String> = ArrayUtil.EMPTY_STRING_ARRAY): Boolean
}
@@ -188,21 +188,33 @@ open class BrowserLauncherAppless : BrowserLauncher() {
}
}
override fun browseUsingPath(url: String?, browserPath: String?, browser: WebBrowser?, project: Project?, additionalParameters: Array<String>): Boolean {
override fun browseUsingPath(url: String?,
browserPath: String?,
browser: WebBrowser?,
project: Project?,
openInNewWindow: Boolean,
additionalParameters: Array<String>): Boolean {
var browserPathEffective = browserPath
var launchTask: (() -> Unit)? = null
if (browserPath == null && browser != null) {
browserPathEffective = PathUtil.toSystemDependentName(browser.path)
launchTask = { browseUsingPath(url, null, browser, project, additionalParameters) }
launchTask = { browseUsingPath(url, null, browser, project, openInNewWindow, additionalParameters) }
}
return doLaunch(url, browserPathEffective, browser, project, additionalParameters, launchTask)
return doLaunch(url, browserPathEffective, browser, project, openInNewWindow, additionalParameters, launchTask)
}
private fun doLaunch(url: String?, browserPath: String?, browser: WebBrowser?, project: Project?, additionalParameters: Array<String>, launchTask: (() -> Unit)?): Boolean {
private fun doLaunch(url: String?,
browserPath: String?,
browser: WebBrowser?,
project: Project?,
openInNewWindow: Boolean,
additionalParameters: Array<String>,
launchTask: (() -> Unit)?): Boolean {
if (!checkPath(browserPath, browser, project, launchTask)) {
return false
}
return doLaunch(url, BrowserUtil.getOpenBrowserCommand(browserPath!!, false), browser, project, additionalParameters, launchTask)
return doLaunch(url, BrowserUtil.getOpenBrowserCommand(browserPath!!, openInNewWindow), browser, project, additionalParameters,
launchTask)
}
@Contract("null, _, _, _ -> false")