Index: net/android/java/src/org/chromium/net/ProxyChangeListener.java |
diff --git a/net/android/java/src/org/chromium/net/ProxyChangeListener.java b/net/android/java/src/org/chromium/net/ProxyChangeListener.java |
index 634c379ff7077d60bee256240f2c6394b454ee33..f49714fe2b282447e8bffd2d7afa38f50ec73cef 100644 |
--- a/net/android/java/src/org/chromium/net/ProxyChangeListener.java |
+++ b/net/android/java/src/org/chromium/net/ProxyChangeListener.java |
@@ -32,14 +32,19 @@ public class ProxyChangeListener { |
private Delegate mDelegate; |
private static class ProxyConfig { |
- public ProxyConfig(String host, int port) { |
+ public ProxyConfig(String host, int port, String exclusionList) { |
mHost = host; |
mPort = port; |
+ mExclusionList = exclusionList; |
} |
public final String mHost; |
public final int mPort; |
+ public final String mExclusionList; |
} |
+ /** |
+ * The delegate for ProxyChangeListener. Use for testing. |
+ */ |
public interface Delegate { |
public void proxySettingsChanged(); |
} |
@@ -99,6 +104,7 @@ public class ProxyChangeListener { |
final String CLASS_NAME = "android.net.ProxyProperties"; |
final String GET_HOST_NAME = "getHost"; |
final String GET_PORT_NAME = "getPort"; |
+ final String GET_EXCLUSION_LIST = "getExclusionList"; |
Object props = intent.getExtras().get("proxy"); |
if (props == null) { |
return null; |
@@ -106,11 +112,12 @@ public class ProxyChangeListener { |
Class<?> cls = Class.forName(CLASS_NAME); |
Method getHostMethod = cls.getDeclaredMethod(GET_HOST_NAME); |
Method getPortMethod = cls.getDeclaredMethod(GET_PORT_NAME); |
+ Method getExclusionListMethod = cls.getDeclaredMethod(GET_EXCLUSION_LIST); |
String host = (String) getHostMethod.invoke(props); |
int port = (Integer) getPortMethod.invoke(props); |
- |
- return new ProxyConfig(host, port); |
+ String exclusionList = (String) getExclusionListMethod.invoke(props); |
+ return new ProxyConfig(host, port, exclusionList); |
} catch (ClassNotFoundException ex) { |
return null; |
} catch (NoSuchMethodException ex) { |
@@ -138,7 +145,7 @@ public class ProxyChangeListener { |
// Note that this code currently runs on a MESSAGE_LOOP_UI thread, but |
// the C++ code must run the callbacks on the network thread. |
if (cfg != null) { |
- nativeProxySettingsChangedTo(mNativePtr, cfg.mHost, cfg.mPort); |
+ nativeProxySettingsChangedTo(mNativePtr, cfg.mHost, cfg.mPort, cfg.mExclusionList); |
} else { |
nativeProxySettingsChanged(mNativePtr); |
} |
@@ -168,7 +175,8 @@ public class ProxyChangeListener { |
@NativeClassQualifiedName("ProxyConfigServiceAndroid::JNIDelegate") |
private native void nativeProxySettingsChangedTo(long nativePtr, |
String host, |
- int port); |
+ int port, |
+ String exclusionList); |
@NativeClassQualifiedName("ProxyConfigServiceAndroid::JNIDelegate") |
private native void nativeProxySettingsChanged(long nativePtr); |
} |