diff --git a/.idea/libraries/proxy_vole.xml b/.idea/libraries/proxy_vole.xml
new file mode 100644
index 000000000000..e59c52e5eb6e
--- /dev/null
+++ b/.idea/libraries/proxy_vole.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/rhino_js_1_7R3.xml b/.idea/libraries/rhino_js_1_7R3.xml
new file mode 100644
index 000000000000..fa737c39c463
--- /dev/null
+++ b/.idea/libraries/rhino_js_1_7R3.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/scripts/libLicenses.gant b/build/scripts/libLicenses.gant
index ff02012c094d..9182b9961798 100644
--- a/build/scripts/libLicenses.gant
+++ b/build/scripts/libLicenses.gant
@@ -170,7 +170,7 @@ libraryLicense(name: "Apache Sanselan", libraryName: "Sanselan", version: "0.98"
libraryLicense(name: "Automaton", libraryName: "automaton.jar", version: "1.11", license: "BSD", url: "http://www.brics.dk/automaton/", licenseUrl: "http://www.opensource.org/licenses/bsd-license.php")
libraryLicense(name: "DTDParser", version: "1.13", license: "LGPL", url: "http://sourceforge.net/projects/dtdparser/", licenseUrl: "http://www.opensource.org/licenses/lgpl-2.1")
libraryLicense(name: "Ganymed", version: "bundled with SVNKit", libraryName: "svnkit.jar", license: "BSD", url: "http://www.ganymed.ethz.ch/ssh2/", licenseUrl: "http://www.ganymed.ethz.ch/ssh2/LICENSE.txt")
-libraryLicense(name: "sqljet", version: "bundled with SVNKit", libraryName: "sqljet.jar", license: "GPLv2", url: "http://sqljet.com", licenseUrl: "http://www.opensource.org/licenses/lgpl-2.1")
+libraryLicense(name: "sqljet", version: "bundled with SVNKit", libraryName: "sqljet.jar", license: "link (commercial license)", url: "http://sqljet.com", licenseUrl: "http://svnkit.com/license.html")
libraryLicense(name: "svnkit-javahl", version: "bundled with SVNKit", libraryName: "svnkit-javahl.jar", license: "link (commercial license)", url: "http://www.svnkit.com/", licenseUrl: "http://svnkit.com/license.html")
libraryLicense(name: "javahl", version: "1.7.2", libraryName: "javahl.jar", license: "Apache", url: "http://subversion.apache.org", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0")
libraryLicense(name: "Apache Commons HTTPClient", libraryName: "httpclient-4.1.1.jar", version:"4.1.1", license: "Apache 2.0",
@@ -239,6 +239,8 @@ libraryLicense(name: "Snappy-Java", libraryName: "Snappy-Java", version: "1.0.4.
libraryLicense(name: "Cucumber-JVM", libraryName: "cucumber-jvm", version: "1.0.11", license: "MIT License", url: "https://github.com/cucumber/cucumber-jvm/", licenseUrl: "http://www.opensource.org/licenses/mit-license.html")
libraryLicense(name: "Cucumber-Groovy", libraryName: "cucumber-groovy", version: "1.0.14", license: "MIT License", url: "https://github.com/cucumber/cucumber-jvm/", licenseUrl: "http://www.opensource.org/licenses/mit-license.html")
libraryLicense(name: "Mantis", libraryName: "mantis", license: "GNU General Public License, version 2", url: "https://github.com/rombert/mantis-axis-soap-client")
+libraryLicense(name: "proxy-vole", libraryName: "proxy-vole", version: "20120920", license: "New BSD License", url: "http://code.google.com/p/proxy-vole/", licenseUrl: "http://opensource.org/licenses/BSD-3-Clause")
+libraryLicense(name: "Rhino JavaScript Engine", libraryName: "rhino-js-1_7R3", version: "1.7R3", license: "MPL 1.1", url: "http://www.mozilla.org/rhino/", licenseUrl: "http://www.mozilla.org/MPL/MPL-1.1.html")
jetbrainsLibrary("JPS")
jetbrainsLibrary("Maven Embedder")
jetbrainsLibrary("tcServiceMessages")
diff --git a/lib/proxy-vole_20120920.jar b/lib/proxy-vole_20120920.jar
new file mode 100644
index 000000000000..29db3d34eec3
Binary files /dev/null and b/lib/proxy-vole_20120920.jar differ
diff --git a/lib/required_for_dist.txt b/lib/required_for_dist.txt
index d254215c9399..a6c887fa9bf2 100644
--- a/lib/required_for_dist.txt
+++ b/lib/required_for_dist.txt
@@ -47,3 +47,5 @@ xstream.jar
swingx-core-1.6.2.jar
netty-3.5.8.Final.jar
protobuf-2.4.1.jar
+rhino-js-1_7R3.jar
+proxy-vole_20120920.jar
diff --git a/lib/rhino-js-1_7R3.jar b/lib/rhino-js-1_7R3.jar
new file mode 100644
index 000000000000..878b0d9422bc
Binary files /dev/null and b/lib/rhino-js-1_7R3.jar differ
diff --git a/lib/src/rhino-js-1_7R3.zip b/lib/src/rhino-js-1_7R3.zip
new file mode 100644
index 000000000000..d1aa76d15b4a
Binary files /dev/null and b/lib/src/rhino-js-1_7R3.zip differ
diff --git a/platform/platform-api/platform-api.iml b/platform/platform-api/platform-api.iml
index 0390d5bca2f6..f4bf7bd64800 100644
--- a/platform/platform-api/platform-api.iml
+++ b/platform/platform-api/platform-api.iml
@@ -29,6 +29,7 @@
+
diff --git a/platform/platform-api/src/com/intellij/util/net/HTTPProxySettings.form b/platform/platform-api/src/com/intellij/util/net/HTTPProxySettings.form
index 76a323725672..c2563418649f 100644
--- a/platform/platform-api/src/com/intellij/util/net/HTTPProxySettings.form
+++ b/platform/platform-api/src/com/intellij/util/net/HTTPProxySettings.form
@@ -1,9 +1,9 @@
+
\ No newline at end of file
diff --git a/platform/platform-api/src/com/intellij/util/net/HTTPProxySettingsPanel.java b/platform/platform-api/src/com/intellij/util/net/HTTPProxySettingsPanel.java
index cb7f06e5b98a..6bc0f62eb9bd 100644
--- a/platform/platform-api/src/com/intellij/util/net/HTTPProxySettingsPanel.java
+++ b/platform/platform-api/src/com/intellij/util/net/HTTPProxySettingsPanel.java
@@ -49,11 +49,13 @@ public class HTTPProxySettingsPanel implements SearchableConfigurable, Configura
private JLabel myProxyPasswordLabel;
private JLabel myHostNameLabel;
private JLabel myPortNumberLabel;
+ private JCheckBox myUseProxyPacCheckBox;
private final HttpConfigurable myHttpConfigurable;
public boolean isModified() {
boolean isModified = false;
HttpConfigurable httpConfigurable = myHttpConfigurable;
+ isModified |= httpConfigurable.USE_PROXY_PAC != myUseProxyPacCheckBox.isSelected();
isModified |= httpConfigurable.USE_HTTP_PROXY != myUseProxyCheckBox.isSelected();
isModified |= httpConfigurable.PROXY_AUTHENTICATION != myProxyAuthCheckBox.isSelected();
isModified |= httpConfigurable.KEEP_PROXY_PASSWORD != myRememberProxyPasswordCheckBox.isSelected();
@@ -87,6 +89,7 @@ public class HTTPProxySettingsPanel implements SearchableConfigurable, Configura
public void reset() {
HttpConfigurable httpConfigurable = myHttpConfigurable;
+ myUseProxyPacCheckBox.setSelected(httpConfigurable.USE_PROXY_PAC);
myUseProxyCheckBox.setSelected(httpConfigurable.USE_HTTP_PROXY);
myProxyAuthCheckBox.setSelected(httpConfigurable.PROXY_AUTHENTICATION);
@@ -103,6 +106,7 @@ public class HTTPProxySettingsPanel implements SearchableConfigurable, Configura
public void apply () {
HttpConfigurable httpConfigurable = myHttpConfigurable;
+ httpConfigurable.USE_PROXY_PAC = myUseProxyPacCheckBox.isSelected();
httpConfigurable.USE_HTTP_PROXY = myUseProxyCheckBox.isSelected();
httpConfigurable.PROXY_AUTHENTICATION = myProxyAuthCheckBox.isSelected();
httpConfigurable.KEEP_PROXY_PASSWORD = myRememberProxyPasswordCheckBox.isSelected();
diff --git a/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java b/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java
index a3ecad1ccfd7..81751a2f6793 100644
--- a/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java
+++ b/platform/platform-api/src/com/intellij/util/net/HttpConfigurable.java
@@ -15,6 +15,7 @@
*/
package com.intellij.util.net;
+import com.btr.proxy.search.ProxySearch;
import com.intellij.openapi.components.*;
import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.util.InvalidDataException;
@@ -49,6 +50,7 @@ import java.util.List;
)
public class HttpConfigurable implements PersistentStateComponent, JDOMExternalizable {
public boolean USE_HTTP_PROXY = false;
+ public boolean USE_PROXY_PAC = false;
public String PROXY_HOST = "";
public int PROXY_PORT = 80;
@@ -165,6 +167,11 @@ public class HttpConfigurable implements PersistentStateComponent