Add a JNI method to determine which HTTP stack is in use

This will be required when hooking up CookieManager to the Chromium
stack, as we need to decide in Java whether or not to call into native
code.

Bug: 3116410
Change-Id: Ibe2f7687655a93993b19f4fb9b4fed137b3b9466
This commit is contained in:
Steve Block
2010-10-22 13:49:52 +01:00
parent 1c9ca4f1fa
commit 2d80ede01a

View File

@@ -98,6 +98,10 @@ public final class CookieManager {
private boolean mAcceptCookie = true;
// TODO: Remove this if/when we permanently switch to the Chromium HTTP stack
// http:/b/3118772
private static Boolean sUseChromiumHttpStack;
/**
* This contains a list of 2nd-level domains that aren't allowed to have
* wildcards when combined with country-codes. For example: [.co.uk].
@@ -257,6 +261,13 @@ public final class CookieManager {
return sRef;
}
private static boolean useChromiumHttpStack() {
if (sUseChromiumHttpStack == null) {
sUseChromiumHttpStack = nativeUseChromiumHttpStack();
}
return sUseChromiumHttpStack;
}
/**
* Control whether cookie is enabled or disabled
* @param accept TRUE if accept cookie
@@ -524,11 +535,11 @@ public final class CookieManager {
* Remove all cookies
*/
public void removeAllCookie() {
// Clear cookies for the Chromium HTTP stack
nativeRemoveAllCookie();
// Clear cookies for the Android HTTP stack
// TODO: Remove this if/when we permanently switch to the Chromium HTTP stack
// http:/b/3118772
if (useChromiumHttpStack()) {
nativeRemoveAllCookie();
return;
}
final Runnable clearCache = new Runnable() {
public void run() {
synchronized(CookieManager.this) {
@@ -1023,5 +1034,6 @@ public final class CookieManager {
}
// Native functions
private static native boolean nativeUseChromiumHttpStack();
private static native void nativeRemoveAllCookie();
}