Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d80ede0 authored by Steve Block's avatar Steve Block
Browse files

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
parent 1c9ca4f1
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -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
        if (useChromiumHttpStack()) {
            nativeRemoveAllCookie();
        // Clear cookies for the Android HTTP stack
        // TODO: Remove this if/when we permanently switch to the Chromium HTTP stack
        // http:/b/3118772
            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();
}