From 968f634120a1bcdf24047115d0dc2324df185887 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 13 Jan 2014 17:26:16 +0100 Subject: [PATCH] =?UTF-8?q?continue=20=E2=80=94=20debug:=20select=20browse?= =?UTF-8?q?r=20instead=20of=20debug=20engine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ide/browsers/BrowserSpecificSettings.java | 8 +++-- .../ide/browsers/CustomWebBrowser.java | 2 -- .../ide/browsers/chrome/ChromeSettings.java | 31 ++++++++++++------- .../ide/browsers/firefox/FirefoxSettings.java | 13 ++++---- .../ide/browsers/impl/DefaultUrlOpener.java | 16 +++++----- 5 files changed, 39 insertions(+), 31 deletions(-) diff --git a/xml/impl/src/com/intellij/ide/browsers/BrowserSpecificSettings.java b/xml/impl/src/com/intellij/ide/browsers/BrowserSpecificSettings.java index 5a8a89354e70..29ccc9452883 100644 --- a/xml/impl/src/com/intellij/ide/browsers/BrowserSpecificSettings.java +++ b/xml/impl/src/com/intellij/ide/browsers/BrowserSpecificSettings.java @@ -16,15 +16,17 @@ package com.intellij.ide.browsers; import com.intellij.openapi.options.Configurable; -import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NotNull; +import java.util.Collections; +import java.util.List; + public abstract class BrowserSpecificSettings { @NotNull public abstract Configurable createConfigurable(); @NotNull - public String[] getAdditionalParameters() { - return ArrayUtil.EMPTY_STRING_ARRAY; + public List getAdditionalParameters() { + return Collections.emptyList(); } } diff --git a/xml/impl/src/com/intellij/ide/browsers/CustomWebBrowser.java b/xml/impl/src/com/intellij/ide/browsers/CustomWebBrowser.java index f3b5af775c9d..892e27359767 100644 --- a/xml/impl/src/com/intellij/ide/browsers/CustomWebBrowser.java +++ b/xml/impl/src/com/intellij/ide/browsers/CustomWebBrowser.java @@ -49,6 +49,4 @@ final class CustomWebBrowser extends WebBrowser { String message = browserNotFoundMessage; return message == null ? super.getBrowserNotFoundMessage() : message; } - - } \ No newline at end of file diff --git a/xml/impl/src/com/intellij/ide/browsers/chrome/ChromeSettings.java b/xml/impl/src/com/intellij/ide/browsers/chrome/ChromeSettings.java index c778b60c0129..f26317973120 100644 --- a/xml/impl/src/com/intellij/ide/browsers/chrome/ChromeSettings.java +++ b/xml/impl/src/com/intellij/ide/browsers/chrome/ChromeSettings.java @@ -15,20 +15,22 @@ */ package com.intellij.ide.browsers.chrome; -import com.intellij.execution.configurations.ParametersList; import com.intellij.ide.browsers.BrowserSpecificSettings; import com.intellij.openapi.util.Comparing; -import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.util.ArrayUtil; +import com.intellij.util.execution.ParametersListUtil; import com.intellij.util.xmlb.annotations.Tag; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Collections; +import java.util.List; + public final class ChromeSettings extends BrowserSpecificSettings { public static final String USER_DATA_DIR_ARG = "--user-data-dir="; - private String myCommandLineOptions; - private String myUserDataDirectoryPath; + private @Nullable String myCommandLineOptions; + private @Nullable String myUserDataDirectoryPath; private boolean myUseCustomProfile; public ChromeSettings() { @@ -64,14 +66,21 @@ public final class ChromeSettings extends BrowserSpecificSettings { @NotNull @Override - public String[] getAdditionalParameters() { - String[] cliOptions = ParametersList.parse(myCommandLineOptions); + public List getAdditionalParameters() { + if (myCommandLineOptions == null) { + if (myUseCustomProfile && myUserDataDirectoryPath != null) { + return Collections.singletonList(USER_DATA_DIR_ARG + FileUtilRt.toSystemDependentName(myUserDataDirectoryPath)); + } + else { + return Collections.emptyList(); + } + } + + List cliOptions = ParametersListUtil.parse(myCommandLineOptions); if (myUseCustomProfile && myUserDataDirectoryPath != null) { - return ArrayUtil.mergeArrays(cliOptions, USER_DATA_DIR_ARG + FileUtil.toSystemDependentName(myUserDataDirectoryPath)); - } - else { - return cliOptions; + cliOptions.add(USER_DATA_DIR_ARG + FileUtilRt.toSystemDependentName(myUserDataDirectoryPath)); } + return cliOptions; } @NotNull diff --git a/xml/impl/src/com/intellij/ide/browsers/firefox/FirefoxSettings.java b/xml/impl/src/com/intellij/ide/browsers/firefox/FirefoxSettings.java index 491a1d76f557..54411bce8ba9 100644 --- a/xml/impl/src/com/intellij/ide/browsers/firefox/FirefoxSettings.java +++ b/xml/impl/src/com/intellij/ide/browsers/firefox/FirefoxSettings.java @@ -20,12 +20,13 @@ import com.intellij.openapi.options.Configurable; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.util.ArrayUtil; import com.intellij.util.xmlb.annotations.Tag; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.File; +import java.util.Arrays; +import java.util.Collections; import java.util.List; public final class FirefoxSettings extends BrowserSpecificSettings { @@ -76,15 +77,15 @@ public final class FirefoxSettings extends BrowserSpecificSettings { @NotNull @Override - public String[] getAdditionalParameters() { - final List profiles = FirefoxUtil.computeProfiles(getProfilesIniFile()); + public List getAdditionalParameters() { + List profiles = FirefoxUtil.computeProfiles(getProfilesIniFile()); if (profiles.size() >= 2) { - final FirefoxProfile profile = FirefoxUtil.findProfileByNameOrDefault(myProfile, profiles); + FirefoxProfile profile = FirefoxUtil.findProfileByNameOrDefault(myProfile, profiles); if (profile != null && !profile.isDefault()) { - return new String[] {"-P", profile.getName()}; + return Arrays.asList("-P", profile.getName()); } } - return ArrayUtil.EMPTY_STRING_ARRAY; + return Collections.emptyList(); } @Override diff --git a/xml/impl/src/com/intellij/ide/browsers/impl/DefaultUrlOpener.java b/xml/impl/src/com/intellij/ide/browsers/impl/DefaultUrlOpener.java index 07d5ca26a30f..cdaace147eb9 100644 --- a/xml/impl/src/com/intellij/ide/browsers/impl/DefaultUrlOpener.java +++ b/xml/impl/src/com/intellij/ide/browsers/impl/DefaultUrlOpener.java @@ -27,7 +27,6 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.util.ArrayUtil; import com.intellij.xml.XmlBundle; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -79,20 +78,19 @@ public class DefaultUrlOpener extends UrlOpener { } private static void addArgs(List command, @Nullable BrowserSpecificSettings settings, String[] additional) { - String[] specific = settings != null ? settings.getAdditionalParameters() : ArrayUtil.EMPTY_STRING_ARRAY; - - if (specific.length + additional.length > 0) { + List specific = settings == null ? Collections.emptyList() : settings.getAdditionalParameters(); + if (specific.size() + additional.length > 0) { if (SystemInfo.isMac && ExecUtil.getOpenCommandPath().equals(command.get(0))) { - if (!BrowserUtil.isOpenCommandSupportArgs()) { - LOG.warn("'open' command doesn't allow to pass command line arguments so they will be ignored: " + - Arrays.toString(specific) + " " + Arrays.toString(additional)); + if (BrowserUtil.isOpenCommandSupportArgs()) { + command.add("--args"); } else { - command.add("--args"); + LOG.warn("'open' command doesn't allow to pass command line arguments so they will be ignored: " + + StringUtil.join(specific, ", ") + " " + Arrays.toString(additional)); } } - Collections.addAll(command, specific); + command.addAll(specific); Collections.addAll(command, additional); } }