Deprecate WebView#{get,set}HttpAuthUsernamePassword

Deprecate these methods and move them to WebViewDatabase.

BUG: 31318603
Test: N/A
Change-Id: Ie4613e8de9c6120fa1d21263b15ef2467c6ccdef
This commit is contained in:
Nate Fischer
2016-09-23 15:59:21 -07:00
parent ef76fb9570
commit c7edfb02bd
5 changed files with 68 additions and 35 deletions

View File

@@ -45816,7 +45816,7 @@ package android.webkit {
method public int getContentHeight();
method public android.graphics.Bitmap getFavicon();
method public android.webkit.WebView.HitTestResult getHitTestResult();
method public java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public deprecated java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public java.lang.String getOriginalUrl();
method public int getProgress();
method public deprecated float getScale();
@@ -45859,7 +45859,7 @@ package android.webkit {
method public void setDownloadListener(android.webkit.DownloadListener);
method public void setFindListener(android.webkit.WebView.FindListener);
method public deprecated void setHorizontalScrollbarOverlay(boolean);
method public void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
method public deprecated void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
method public void setInitialScale(int);
method public deprecated void setMapTrackballToArrowKeys(boolean);
method public void setNetworkAvailable(boolean);
@@ -45957,10 +45957,12 @@ package android.webkit {
method public abstract void clearFormData();
method public abstract void clearHttpAuthUsernamePassword();
method public abstract deprecated void clearUsernamePassword();
method public abstract java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public static android.webkit.WebViewDatabase getInstance(android.content.Context);
method public abstract boolean hasFormData();
method public abstract boolean hasHttpAuthUsernamePassword();
method public abstract deprecated boolean hasUsernamePassword();
method public abstract void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
}
public class WebViewFragment extends android.app.Fragment {

View File

@@ -49083,7 +49083,7 @@ package android.webkit {
method public int getContentHeight();
method public android.graphics.Bitmap getFavicon();
method public android.webkit.WebView.HitTestResult getHitTestResult();
method public java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public deprecated java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public java.lang.String getOriginalUrl();
method public int getProgress();
method public deprecated float getScale();
@@ -49127,7 +49127,7 @@ package android.webkit {
method public void setDownloadListener(android.webkit.DownloadListener);
method public void setFindListener(android.webkit.WebView.FindListener);
method public deprecated void setHorizontalScrollbarOverlay(boolean);
method public void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
method public deprecated void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
method public void setInitialScale(int);
method public deprecated void setMapTrackballToArrowKeys(boolean);
method public void setNetworkAvailable(boolean);
@@ -49256,10 +49256,12 @@ package android.webkit {
method public abstract void clearFormData();
method public abstract void clearHttpAuthUsernamePassword();
method public abstract deprecated void clearUsernamePassword();
method public abstract java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public static android.webkit.WebViewDatabase getInstance(android.content.Context);
method public abstract boolean hasFormData();
method public abstract boolean hasHttpAuthUsernamePassword();
method public abstract deprecated boolean hasUsernamePassword();
method public abstract void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
}
public final class WebViewDelegate {

View File

@@ -45899,7 +45899,7 @@ package android.webkit {
method public int getContentHeight();
method public android.graphics.Bitmap getFavicon();
method public android.webkit.WebView.HitTestResult getHitTestResult();
method public java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public deprecated java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public java.lang.String getOriginalUrl();
method public int getProgress();
method public deprecated float getScale();
@@ -45942,7 +45942,7 @@ package android.webkit {
method public void setDownloadListener(android.webkit.DownloadListener);
method public void setFindListener(android.webkit.WebView.FindListener);
method public deprecated void setHorizontalScrollbarOverlay(boolean);
method public void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
method public deprecated void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
method public void setInitialScale(int);
method public deprecated void setMapTrackballToArrowKeys(boolean);
method public void setNetworkAvailable(boolean);
@@ -46040,10 +46040,12 @@ package android.webkit {
method public abstract void clearFormData();
method public abstract void clearHttpAuthUsernamePassword();
method public abstract deprecated void clearUsernamePassword();
method public abstract java.lang.String[] getHttpAuthUsernamePassword(java.lang.String, java.lang.String);
method public static android.webkit.WebViewDatabase getInstance(android.content.Context);
method public abstract boolean hasFormData();
method public abstract boolean hasHttpAuthUsernamePassword();
method public abstract deprecated boolean hasUsernamePassword();
method public abstract void setHttpAuthUsernamePassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
}
public class WebViewFragment extends android.app.Fragment {

View File

@@ -743,33 +743,14 @@ public class WebView extends AbsoluteLayout
/**
* Stores HTTP authentication credentials for a given host and realm to the {@link WebViewDatabase}
* instance.
* <p>
* To use HTTP authentication, the embedder application has to implement
* {@link WebViewClient#onReceivedHttpAuthRequest}, and call {@link HttpAuthHandler#proceed}
* with the correct username and password.
* <p>
* The embedder app can get the username and password any way it chooses, and does not have to
* use {@link WebViewDatabase}.
* <p>
* Notes:
* <li>
* {@link WebViewDatabase} is provided only as a convenience to store and retrieve http
* authentication credentials. WebView does not read from it during HTTP authentication.
* </li>
* <li>
* WebView does not provide a special mechanism to clear HTTP authentication credentials for
* implementing client logout. The client logout mechanism should be implemented by the Web site
* designer (such as server sending a HTTP 401 for invalidating credentials).
* </li>
*
* @param host the host to which the credentials apply
* @param realm the realm to which the credentials apply
* @param username the username
* @param password the password
* @see #getHttpAuthUsernamePassword
* @see WebViewDatabase#hasHttpAuthUsernamePassword
* @see WebViewDatabase#clearHttpAuthUsernamePassword
* @deprecated Use {@link WebViewDatabase#setHttpAuthUsernamePassword} instead
*/
@Deprecated
public void setHttpAuthUsernamePassword(String host, String realm,
String username, String password) {
checkThread();
@@ -779,16 +760,14 @@ public class WebView extends AbsoluteLayout
/**
* Retrieves HTTP authentication credentials for a given host and realm from the {@link
* WebViewDatabase} instance.
*
* @param host the host to which the credentials apply
* @param realm the realm to which the credentials apply
* @return the credentials as a String array, if found. The first element
* is the username and the second element is the password. Null if
* no credentials are found.
* @see #setHttpAuthUsernamePassword
* @see WebViewDatabase#hasHttpAuthUsernamePassword
* @see WebViewDatabase#clearHttpAuthUsernamePassword
* @deprecated Use {@link WebViewDatabase#getHttpAuthUsernamePassword} instead
*/
@Deprecated
public String[] getHttpAuthUsernamePassword(String host, String realm) {
checkThread();
return mProvider.getHttpAuthUsernamePassword(host, realm);

View File

@@ -65,8 +65,8 @@ public abstract class WebViewDatabase {
* Gets whether there are any saved credentials for HTTP authentication.
*
* @return whether there are any saved credentials
* @see WebView#getHttpAuthUsernamePassword
* @see WebView#setHttpAuthUsernamePassword
* @see #getHttpAuthUsernamePassword
* @see #setHttpAuthUsernamePassword
* @see #clearHttpAuthUsernamePassword
*/
public abstract boolean hasHttpAuthUsernamePassword();
@@ -83,12 +83,60 @@ public abstract class WebViewDatabase {
* mechanism should be implemented by the Web site designer (such as server sending a HTTP 401
* for invalidating credentials).
*
* @see WebView#getHttpAuthUsernamePassword
* @see WebView#setHttpAuthUsernamePassword
* @see #getHttpAuthUsernamePassword
* @see #setHttpAuthUsernamePassword
* @see #hasHttpAuthUsernamePassword
*/
public abstract void clearHttpAuthUsernamePassword();
/**
* Stores HTTP authentication credentials for a given host and realm to the {@link WebViewDatabase}
* instance.
* <p>
* To use HTTP authentication, the embedder application has to implement
* {@link WebViewClient#onReceivedHttpAuthRequest}, and call {@link HttpAuthHandler#proceed}
* with the correct username and password.
* <p>
* The embedder app can get the username and password any way it chooses, and does not have to
* use {@link WebViewDatabase}.
* <p>
* Notes:
* <li>
* {@link WebViewDatabase} is provided only as a convenience to store and retrieve http
* authentication credentials. WebView does not read from it during HTTP authentication.
* </li>
* <li>
* WebView does not provide a special mechanism to clear HTTP authentication credentials for
* implementing client logout. The client logout mechanism should be implemented by the Web site
* designer (such as server sending a HTTP 401 for invalidating credentials).
* </li>
*
* @param host the host to which the credentials apply
* @param realm the realm to which the credentials apply
* @param username the username
* @param password the password
* @see #getHttpAuthUsernamePassword
* @see #hasHttpAuthUsernamePassword
* @see #clearHttpAuthUsernamePassword
*/
public abstract void setHttpAuthUsernamePassword(String host, String realm,
String username, String password);
/**
* Retrieves HTTP authentication credentials for a given host and realm from the {@link
* WebViewDatabase} instance.
*
* @param host the host to which the credentials apply
* @param realm the realm to which the credentials apply
* @return the credentials as a String array, if found. The first element
* is the username and the second element is the password. Null if
* no credentials are found.
* @see #setHttpAuthUsernamePassword
* @see #hasHttpAuthUsernamePassword
* @see #clearHttpAuthUsernamePassword
*/
public abstract String[] getHttpAuthUsernamePassword(String host, String realm);
/**
* Gets whether there is any saved data for web forms.
*