diff options
author | Kristian Monsen <kristianm@google.com> | 2011-05-24 11:16:39 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-05-24 11:16:39 -0700 |
commit | 36ac304c6e62dbb1caaf729c70d7aa956aff63be (patch) | |
tree | ce00c225b84cb7190ef9d46772cb329666e1cbf2 | |
parent | 2959916b13165f56431f3993bd6b16364032af14 (diff) | |
parent | f147b5f2a61ab0842adaa430d9a8bbe98a83e4a4 (diff) | |
download | frameworks_base-36ac304c6e62dbb1caaf729c70d7aa956aff63be.zip frameworks_base-36ac304c6e62dbb1caaf729c70d7aa956aff63be.tar.gz frameworks_base-36ac304c6e62dbb1caaf729c70d7aa956aff63be.tar.bz2 |
Merge "Fix for bug 4144936: [Proxy setting]: traffic to a bypass domain doesn't bypass proxy DO NOT MERGE" into honeycomb-mr2
-rw-r--r-- | core/java/android/webkit/JWebCoreJavaBridge.java | 17 | ||||
-rw-r--r-- | core/java/android/webkit/WebView.java | 14 | ||||
-rw-r--r-- | core/java/android/webkit/WebViewCore.java | 3 |
3 files changed, 20 insertions, 14 deletions
diff --git a/core/java/android/webkit/JWebCoreJavaBridge.java b/core/java/android/webkit/JWebCoreJavaBridge.java index 12391df..5b78586 100644 --- a/core/java/android/webkit/JWebCoreJavaBridge.java +++ b/core/java/android/webkit/JWebCoreJavaBridge.java @@ -16,6 +16,7 @@ package android.webkit; +import android.net.ProxyProperties; import android.net.Uri; import android.os.Handler; import android.os.Message; @@ -294,6 +295,20 @@ final class JWebCoreJavaBridge extends Handler { mContentUriToFilePathMap.put(contentUri, path); } + public void updateProxy(ProxyProperties proxyProperties) { + if (proxyProperties == null) { + nativeUpdateProxy("", ""); + return; + } + + String host = proxyProperties.getHost(); + int port = proxyProperties.getPort(); + if (port != 0) + host += ":" + port; + + nativeUpdateProxy(host, proxyProperties.getExclusionList()); + } + private native void nativeConstructor(); private native void nativeFinalize(); private native void sharedTimerFired(); @@ -304,5 +319,5 @@ final class JWebCoreJavaBridge extends Handler { public native void addPackageNames(Set<String> packageNames); public native void addPackageName(String packageName); public native void removePackageName(String packageName); - public native void updateProxy(String newProxy); + public native void nativeUpdateProxy(String newProxy, String exclusionList); } diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index cf83456..0d34ff6 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -1045,20 +1045,10 @@ public class WebView extends AbsoluteLayout private static void handleProxyBroadcast(Intent intent) { ProxyProperties proxyProperties = (ProxyProperties)intent.getExtra(Proxy.EXTRA_PROXY_INFO); if (proxyProperties == null || proxyProperties.getHost() == null) { - WebViewCore.sendStaticMessage(EventHub.PROXY_CHANGED, ""); + WebViewCore.sendStaticMessage(EventHub.PROXY_CHANGED, null); return; } - - String host = proxyProperties.getHost(); - int port = proxyProperties.getPort(); - if (port != 0) - host += ":" + port; - - // TODO: Handle exclusion list - // The plan is to make an AndroidProxyResolver, and handle the blacklist - // there - String exclusionList = proxyProperties.getExclusionList(); - WebViewCore.sendStaticMessage(EventHub.PROXY_CHANGED, host); + WebViewCore.sendStaticMessage(EventHub.PROXY_CHANGED, proxyProperties); } /* diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index 0271695..5d53554 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -24,6 +24,7 @@ import android.graphics.Point; import android.graphics.Rect; import android.graphics.Region; import android.media.MediaFile; +import android.net.ProxyProperties; import android.net.Uri; import android.os.Handler; import android.os.Looper; @@ -705,7 +706,7 @@ final class WebViewCore { throw new IllegalStateException( "No WebView has been created in this process!"); } - BrowserFrame.sJavaBridge.updateProxy((String) msg.obj); + BrowserFrame.sJavaBridge.updateProxy((ProxyProperties)msg.obj); break; } } |