diff --git a/api/system-current.txt b/api/system-current.txt index 580a7601ca814..fbd7db50ba429 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6763,22 +6763,8 @@ package android.webkit { ctor public SslErrorHandler(); } - public abstract class TokenBindingService { + public abstract deprecated class TokenBindingService { ctor public TokenBindingService(); - method public abstract void deleteAllKeys(android.webkit.ValueCallback); - method public abstract void deleteKey(android.net.Uri, android.webkit.ValueCallback); - method public abstract void enableTokenBinding(); - method public static android.webkit.TokenBindingService getInstance(); - method public abstract void getKey(android.net.Uri, java.lang.String[], android.webkit.ValueCallback); - field public static final java.lang.String KEY_ALGORITHM_ECDSAP256 = "ECDSAP256"; - field public static final java.lang.String KEY_ALGORITHM_RSA2048_PKCS_1_5 = "RSA2048_PKCS_1.5"; - field public static final java.lang.String KEY_ALGORITHM_RSA2048_PSS = "RSA2048PSS"; - } - - public static abstract class TokenBindingService.TokenBindingKey { - ctor public TokenBindingService.TokenBindingKey(); - method public abstract java.lang.String getAlgorithm(); - method public abstract java.security.KeyPair getKeyPair(); } public class WebChromeClient { @@ -6908,7 +6894,7 @@ package android.webkit { method public abstract android.webkit.GeolocationPermissions getGeolocationPermissions(); method public abstract android.webkit.ServiceWorkerController getServiceWorkerController(); method public abstract android.webkit.WebViewFactoryProvider.Statics getStatics(); - method public abstract android.webkit.TokenBindingService getTokenBindingService(); + method public abstract deprecated android.webkit.TokenBindingService getTokenBindingService(); method public abstract android.webkit.TracingController getTracingController(); method public abstract android.webkit.WebIconDatabase getWebIconDatabase(); method public abstract android.webkit.WebStorage getWebStorage(); diff --git a/core/java/android/webkit/TokenBindingService.java b/core/java/android/webkit/TokenBindingService.java index b37e1b8962c5e..4d2c046635791 100644 --- a/core/java/android/webkit/TokenBindingService.java +++ b/core/java/android/webkit/TokenBindingService.java @@ -16,12 +16,7 @@ package android.webkit; -import android.annotation.NonNull; -import android.annotation.Nullable; import android.annotation.SystemApi; -import android.net.Uri; - -import java.security.KeyPair; /** * Enables the token binding procotol, and provides access to the keys. See @@ -30,86 +25,9 @@ import java.security.KeyPair; * All methods are required to be called on the UI thread where WebView is * attached to the View hierarchy. * @hide + * @deprecated this is no longer supported. */ @SystemApi +@Deprecated public abstract class TokenBindingService { - - public static final String KEY_ALGORITHM_RSA2048_PKCS_1_5 = "RSA2048_PKCS_1.5"; - public static final String KEY_ALGORITHM_RSA2048_PSS = "RSA2048PSS"; - public static final String KEY_ALGORITHM_ECDSAP256 = "ECDSAP256"; - - /** - * Provides the KeyPair information. - */ - public static abstract class TokenBindingKey { - /** - * The public, private key pair. - */ - public abstract KeyPair getKeyPair(); - - /** - * The algorithm that is used to generate the key pair. - */ - public abstract String getAlgorithm(); - } - - /** - * Returns the default TokenBinding service instance. At present there is - * only one token binding service instance for all WebView instances, - * however this restriction may be relaxed in the future. - * - * @return The default TokenBindingService instance. - */ - public static TokenBindingService getInstance() { - return WebViewFactory.getProvider().getTokenBindingService(); - } - - /** - * Enables the token binding protocol. The token binding protocol - * has to be enabled before creating any WebViews. - * - * @throws IllegalStateException if a WebView was already created. - */ - public abstract void enableTokenBinding(); - - /** - * Retrieves the key pair for a given origin from the internal - * TokenBinding key store asynchronously. - * - * The user can provide a list of acceptable algorithms for the retrieved - * key pair. If a key pair exists and it is in the list of algorithms, then - * the key is returned. If it is not in the list, no key is returned. - * - * If no key pair exists, WebView chooses an algorithm from the list, in - * the order given, to generate a key. - * - * The user can pass {@code null} if any algorithm is acceptable. - * - * @param origin The origin for the server. - * @param algorithm The list of algorithms. An IllegalArgumentException is thrown if array is - * empty. - * @param callback The callback that will be called when key is available. - */ - public abstract void getKey(Uri origin, - @Nullable String[] algorithm, - @NonNull ValueCallback callback); - /** - * Deletes specified key (for use when associated cookie is cleared). - * - * @param origin The origin of the server. - * @param callback The callback that will be called when key is deleted. The - * callback parameter (Boolean) will indicate if operation is - * successful or if failed. - */ - public abstract void deleteKey(Uri origin, - @Nullable ValueCallback callback); - - /** - * Deletes all the keys (for use when cookies are cleared). - * - * @param callback The callback that will be called when keys are deleted. - * The callback parameter (Boolean) will indicate if operation is - * successful or if failed. - */ - public abstract void deleteAllKeys(@Nullable ValueCallback callback); } diff --git a/core/java/android/webkit/WebViewFactoryProvider.java b/core/java/android/webkit/WebViewFactoryProvider.java index 4ff49ea1bbc31..6a1ed39e25b33 100644 --- a/core/java/android/webkit/WebViewFactoryProvider.java +++ b/core/java/android/webkit/WebViewFactoryProvider.java @@ -129,7 +129,8 @@ public interface WebViewFactoryProvider { * Gets the TokenBindingService instance for this WebView implementation. The * implementation must return the same instance on subsequent calls. * - * @return the TokenBindingService instance + * @deprecated this method only returns {@code null} + * @return the TokenBindingService instance (which is always {@code null}) */ TokenBindingService getTokenBindingService();