am 18a259fe: am 36ac304c: Merge "Fix for bug 4144936: [Proxy setting]: traffic to a bypass domain doesn\'t bypass proxy DO NOT MERGE" into honeycomb-mr2
* commit '18a259fe37861a78632a0667d746ea7d06356ced': Fix for bug 4144936: [Proxy setting]: traffic to a bypass domain doesn't bypass proxy DO NOT MERGE
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package android.webkit;
|
package android.webkit;
|
||||||
|
|
||||||
|
import android.net.ProxyProperties;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
@@ -294,6 +295,20 @@ final class JWebCoreJavaBridge extends Handler {
|
|||||||
mContentUriToFilePathMap.put(contentUri, path);
|
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 nativeConstructor();
|
||||||
private native void nativeFinalize();
|
private native void nativeFinalize();
|
||||||
private native void sharedTimerFired();
|
private native void sharedTimerFired();
|
||||||
@@ -304,5 +319,5 @@ final class JWebCoreJavaBridge extends Handler {
|
|||||||
public native void addPackageNames(Set<String> packageNames);
|
public native void addPackageNames(Set<String> packageNames);
|
||||||
public native void addPackageName(String packageName);
|
public native void addPackageName(String packageName);
|
||||||
public native void removePackageName(String packageName);
|
public native void removePackageName(String packageName);
|
||||||
public native void updateProxy(String newProxy);
|
public native void nativeUpdateProxy(String newProxy, String exclusionList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1045,20 +1045,10 @@ public class WebView extends AbsoluteLayout
|
|||||||
private static void handleProxyBroadcast(Intent intent) {
|
private static void handleProxyBroadcast(Intent intent) {
|
||||||
ProxyProperties proxyProperties = (ProxyProperties)intent.getExtra(Proxy.EXTRA_PROXY_INFO);
|
ProxyProperties proxyProperties = (ProxyProperties)intent.getExtra(Proxy.EXTRA_PROXY_INFO);
|
||||||
if (proxyProperties == null || proxyProperties.getHost() == null) {
|
if (proxyProperties == null || proxyProperties.getHost() == null) {
|
||||||
WebViewCore.sendStaticMessage(EventHub.PROXY_CHANGED, "");
|
WebViewCore.sendStaticMessage(EventHub.PROXY_CHANGED, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
WebViewCore.sendStaticMessage(EventHub.PROXY_CHANGED, proxyProperties);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import android.graphics.Point;
|
|||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.graphics.Region;
|
import android.graphics.Region;
|
||||||
import android.media.MediaFile;
|
import android.media.MediaFile;
|
||||||
|
import android.net.ProxyProperties;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
@@ -705,7 +706,7 @@ final class WebViewCore {
|
|||||||
throw new IllegalStateException(
|
throw new IllegalStateException(
|
||||||
"No WebView has been created in this process!");
|
"No WebView has been created in this process!");
|
||||||
}
|
}
|
||||||
BrowserFrame.sJavaBridge.updateProxy((String) msg.obj);
|
BrowserFrame.sJavaBridge.updateProxy((ProxyProperties)msg.obj);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user