summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nate Fischer <ntfschr@google.com> 2018-09-25 18:27:25 -0700
committer Nate Fischer <ntfschr@google.com> 2018-09-25 19:13:57 -0700
commit1e13fae31cc05baef8bbca641d5fe2cb4403dc09 (patch)
tree1903b675a2d584c177896d933477377831beb93f
parentabdaf5b51f798a4d9a1bae7b515df6ae40c2d591 (diff)
WebView: deprecate accidentally-exposed constructors
This deprecates public-exposed constructors. These constructors were exposed by accident. These classes shouldn't be instantiated by applications, but should only be instantiated by WebView. In some cases, the app should get a singleton instance using a #getInstance method. In these cases, we document this explicitly in the deprecation note. Bug: 110807530 Test: make docs, manually verify docs look good. Change-Id: Ibe73b3399c9ced0cf4fbb01e1df13564476df252
-rwxr-xr-xapi/current.txt12
-rw-r--r--core/java/android/webkit/CookieManager.java7
-rw-r--r--core/java/android/webkit/RenderProcessGoneDetail.java7
-rw-r--r--core/java/android/webkit/SafeBrowsingResponse.java6
-rw-r--r--core/java/android/webkit/ServiceWorkerController.java8
-rw-r--r--core/java/android/webkit/TracingController.java7
-rw-r--r--core/java/android/webkit/WebViewDatabase.java8
7 files changed, 49 insertions, 6 deletions
diff --git a/api/current.txt b/api/current.txt
index bcd35d19ed1d..b8c1d18de166 100755
--- a/api/current.txt
+++ b/api/current.txt
@@ -51406,7 +51406,7 @@ package android.webkit {
}
public abstract class CookieManager {
- ctor public CookieManager();
+ ctor public deprecated CookieManager();
method public abstract boolean acceptCookie();
method public abstract boolean acceptThirdPartyCookies(android.webkit.WebView);
method public static boolean allowFileSchemeCookies();
@@ -51506,13 +51506,13 @@ package android.webkit {
}
public abstract class RenderProcessGoneDetail {
- ctor public RenderProcessGoneDetail();
+ ctor public deprecated RenderProcessGoneDetail();
method public abstract boolean didCrash();
method public abstract int rendererPriorityAtExit();
}
public abstract class SafeBrowsingResponse {
- ctor public SafeBrowsingResponse();
+ ctor public deprecated SafeBrowsingResponse();
method public abstract void backToSafety(boolean);
method public abstract void proceed(boolean);
method public abstract void showInterstitial(boolean);
@@ -51524,7 +51524,7 @@ package android.webkit {
}
public abstract class ServiceWorkerController {
- ctor public ServiceWorkerController();
+ ctor public deprecated ServiceWorkerController();
method public static android.webkit.ServiceWorkerController getInstance();
method public abstract android.webkit.ServiceWorkerWebSettings getServiceWorkerWebSettings();
method public abstract void setServiceWorkerClient(android.webkit.ServiceWorkerClient);
@@ -51573,7 +51573,7 @@ package android.webkit {
}
public abstract class TracingController {
- ctor public TracingController();
+ ctor public deprecated TracingController();
method public static android.webkit.TracingController getInstance();
method public abstract boolean isTracing();
method public abstract void start(android.webkit.TracingConfig);
@@ -52113,7 +52113,7 @@ package android.webkit {
}
public abstract class WebViewDatabase {
- ctor public WebViewDatabase();
+ ctor public deprecated WebViewDatabase();
method public abstract deprecated void clearFormData();
method public abstract void clearHttpAuthUsernamePassword();
method public abstract deprecated void clearUsernamePassword();
diff --git a/core/java/android/webkit/CookieManager.java b/core/java/android/webkit/CookieManager.java
index ae6a2fd787d7..23d12374453f 100644
--- a/core/java/android/webkit/CookieManager.java
+++ b/core/java/android/webkit/CookieManager.java
@@ -25,6 +25,13 @@ import android.net.WebAddress;
* Cookies are manipulated according to RFC2109.
*/
public abstract class CookieManager {
+ /**
+ * @deprecated This class should not be constructed by applications, use {@link #getInstance}
+ * instead to fetch the singleton instance.
+ */
+ // TODO(ntfschr): mark this as @SystemApi after a year.
+ @Deprecated
+ public CookieManager() {}
@Override
protected Object clone() throws CloneNotSupportedException {
diff --git a/core/java/android/webkit/RenderProcessGoneDetail.java b/core/java/android/webkit/RenderProcessGoneDetail.java
index 0843e26ea19c..9beeaa5c1524 100644
--- a/core/java/android/webkit/RenderProcessGoneDetail.java
+++ b/core/java/android/webkit/RenderProcessGoneDetail.java
@@ -22,6 +22,13 @@ package android.webkit;
**/
public abstract class RenderProcessGoneDetail {
/**
+ * @deprecated This class should not be constructed by applications.
+ */
+ // TODO(ntfschr): mark this as @SystemApi after a year.
+ @Deprecated
+ public RenderProcessGoneDetail() {}
+
+ /**
* Indicates whether the render process was observed to crash, or whether
* it was killed by the system.
*
diff --git a/core/java/android/webkit/SafeBrowsingResponse.java b/core/java/android/webkit/SafeBrowsingResponse.java
index 7839a00eff69..ca33a0c659af 100644
--- a/core/java/android/webkit/SafeBrowsingResponse.java
+++ b/core/java/android/webkit/SafeBrowsingResponse.java
@@ -27,6 +27,12 @@ package android.webkit;
* {@link android.webkit.WebView#getSafeBrowsingPrivacyPolicyUrl()}.
*/
public abstract class SafeBrowsingResponse {
+ /**
+ * @deprecated This class should not be constructed by applications.
+ */
+ // TODO(ntfschr): mark this as @SystemApi after a year.
+ @Deprecated
+ public SafeBrowsingResponse() {}
/**
* Display the default interstitial.
diff --git a/core/java/android/webkit/ServiceWorkerController.java b/core/java/android/webkit/ServiceWorkerController.java
index 3517c74b680e..d7e0715a3770 100644
--- a/core/java/android/webkit/ServiceWorkerController.java
+++ b/core/java/android/webkit/ServiceWorkerController.java
@@ -38,6 +38,14 @@ import android.annotation.Nullable;
public abstract class ServiceWorkerController {
/**
+ * @deprecated This class should not be constructed by applications, use {@link #getInstance()}
+ * instead to fetch the singleton instance.
+ */
+ // TODO(ntfschr): mark this as @SystemApi after a year.
+ @Deprecated
+ public ServiceWorkerController() {}
+
+ /**
* Returns the default ServiceWorkerController instance. At present there is
* only one ServiceWorkerController instance for all WebView instances,
* however this restriction may be relaxed in the future.
diff --git a/core/java/android/webkit/TracingController.java b/core/java/android/webkit/TracingController.java
index 30f465cb42c6..99081827658a 100644
--- a/core/java/android/webkit/TracingController.java
+++ b/core/java/android/webkit/TracingController.java
@@ -43,6 +43,13 @@ import java.util.concurrent.Executor;
* </pre></p>
*/
public abstract class TracingController {
+ /**
+ * @deprecated This class should not be constructed by applications, use {@link #getInstance}
+ * instead to fetch the singleton instance.
+ */
+ // TODO(ntfschr): mark this as @SystemApi after a year.
+ @Deprecated
+ public TracingController() {}
/**
* Returns the default TracingController instance. At present there is
diff --git a/core/java/android/webkit/WebViewDatabase.java b/core/java/android/webkit/WebViewDatabase.java
index f6166c58a4c9..f346c602c3b6 100644
--- a/core/java/android/webkit/WebViewDatabase.java
+++ b/core/java/android/webkit/WebViewDatabase.java
@@ -31,6 +31,14 @@ import android.content.Context;
*/
public abstract class WebViewDatabase {
/**
+ * @deprecated This class should not be constructed by applications, use {@link
+ * #getInstance(Context)} instead to fetch the singleton instance.
+ */
+ // TODO(ntfschr): mark this as @SystemApi after a year.
+ @Deprecated
+ public WebViewDatabase() {}
+
+ /**
* @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
*/
protected static final String LOGTAG = "webviewdatabase";