summaryrefslogtreecommitdiff
path: root/platform/platform-api/src/com/intellij/ide/browsers/chrome/ChromeSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-api/src/com/intellij/ide/browsers/chrome/ChromeSettings.java')
-rw-r--r--platform/platform-api/src/com/intellij/ide/browsers/chrome/ChromeSettings.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/platform/platform-api/src/com/intellij/ide/browsers/chrome/ChromeSettings.java b/platform/platform-api/src/com/intellij/ide/browsers/chrome/ChromeSettings.java
index b6ca3e7ac44f..555097bb546c 100644
--- a/platform/platform-api/src/com/intellij/ide/browsers/chrome/ChromeSettings.java
+++ b/platform/platform-api/src/com/intellij/ide/browsers/chrome/ChromeSettings.java
@@ -21,7 +21,9 @@ import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.PathUtil;
import com.intellij.util.execution.ParametersListUtil;
+import com.intellij.util.xmlb.annotations.MapAnnotation;
import com.intellij.util.xmlb.annotations.Tag;
+import gnu.trove.THashMap;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -33,6 +35,7 @@ public final class ChromeSettings extends BrowserSpecificSettings {
private @Nullable String myCommandLineOptions;
private @Nullable String myUserDataDirectoryPath;
private boolean myUseCustomProfile;
+ private @NotNull THashMap<String, String> myEnvironmentVariables = new THashMap<String, String>();
public ChromeSettings() {
}
@@ -85,6 +88,18 @@ public final class ChromeSettings extends BrowserSpecificSettings {
return cliOptions;
}
+ @Override
+ @NotNull
+ @Tag("environment-variables")
+ @MapAnnotation(surroundWithTag = false, surroundKeyWithTag = false, surroundValueWithTag = false)
+ public THashMap<String, String> getEnvironmentVariables() {
+ return myEnvironmentVariables;
+ }
+
+ public void setEnvironmentVariables(@NotNull final THashMap<String, String> environmentVariables) {
+ myEnvironmentVariables = environmentVariables;
+ }
+
@NotNull
@Override
public ChromeSettingsConfigurable createConfigurable() {
@@ -92,6 +107,13 @@ public final class ChromeSettings extends BrowserSpecificSettings {
}
@Override
+ public ChromeSettings clone() {
+ ChromeSettings clone = (ChromeSettings)super.clone();
+ clone.myEnvironmentVariables = myEnvironmentVariables.clone();
+ return clone;
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) {
return true;
@@ -103,6 +125,7 @@ public final class ChromeSettings extends BrowserSpecificSettings {
ChromeSettings settings = (ChromeSettings)o;
return myUseCustomProfile == settings.myUseCustomProfile &&
Comparing.equal(myCommandLineOptions, settings.myCommandLineOptions) &&
- (!myUseCustomProfile || Comparing.equal(myUserDataDirectoryPath, settings.myUserDataDirectoryPath));
+ (!myUseCustomProfile || Comparing.equal(myUserDataDirectoryPath, settings.myUserDataDirectoryPath)) &&
+ myEnvironmentVariables.equals(settings.myEnvironmentVariables);
}
}