1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.chromium.android_webview;
7 import org.chromium.base.CalledByNative;
8 import org.chromium.base.JNINamespace;
9 import org.chromium.base.ThreadUtils;
11 import java.lang.Runnable;
14 * Implementations of various static methods, and also a home for static
15 * data structures that are meant to be shared between all webviews.
17 @JNINamespace("android_webview")
18 public class AwContentsStatics {
20 private static ClientCertLookupTable sClientCertLookupTable;
22 private static String sUnreachableWebDataUrl;
25 * Return the client certificate lookup table.
27 public static ClientCertLookupTable getClientCertLookupTable() {
28 ThreadUtils.assertOnUiThread();
29 if (sClientCertLookupTable == null) {
30 sClientCertLookupTable = new ClientCertLookupTable();
32 return sClientCertLookupTable;
36 * Clear client cert lookup table. Should only be called from UI thread.
38 public static void clearClientCertPreferences(Runnable callback) {
39 ThreadUtils.assertOnUiThread();
40 getClientCertLookupTable().clear();
41 nativeClearClientCertPreferences(callback);
45 private static void clientCertificatesCleared(Runnable callback) {
46 if (callback == null) return;
51 * Set Data Reduction Proxy key for authentication.
53 public static void setDataReductionProxyKey(String key) {
54 ThreadUtils.assertOnUiThread();
55 nativeSetDataReductionProxyKey(key);
59 * Enable or disable data reduction proxy.
61 public static void setDataReductionProxyEnabled(boolean enabled) {
62 ThreadUtils.assertOnUiThread();
63 nativeSetDataReductionProxyEnabled(enabled);
66 public static String getUnreachableWebDataUrl() {
67 if (sUnreachableWebDataUrl == null) {
68 sUnreachableWebDataUrl = nativeGetUnreachableWebDataUrl();
70 return sUnreachableWebDataUrl;
73 //--------------------------------------------------------------------------------------------
75 //--------------------------------------------------------------------------------------------
76 private static native void nativeClearClientCertPreferences(Runnable callback);
77 private static native void nativeSetDataReductionProxyKey(String key);
78 private static native void nativeSetDataReductionProxyEnabled(boolean enabled);
79 private static native String nativeGetUnreachableWebDataUrl();