diff options
| author | Steve Block <steveblock@google.com> | 2010-03-26 09:10:58 +0000 |
|---|---|---|
| committer | Ben Murdoch <benm@google.com> | 2010-04-01 16:19:39 +0100 |
| commit | 0348440e4ad665f9fa7ed73a5c6b533e183a9e1f (patch) | |
| tree | 9f231ac0e8717f73b0611c12db27bca1d6a68d6f /core/java | |
| parent | 3fe1708d9d204fa63e8abe6e434378d89e963752 (diff) | |
Cherry pick from master.
This change forwards to the WebView HTTP authentication credentials that
are supplied to an XHR from JavaScript. This allows the WebView to store these
credentials for use with later requests.
This is a re-working of https://android-git.corp.google.com/g/46430
Bug: 2544330
Change-Id: I3f04433b00233d7b7bf4f7e3471d8d15d8817f93
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/webkit/CallbackProxy.java | 37 | ||||
| -rw-r--r-- | core/java/android/webkit/HttpAuthHandler.java | 2 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewClient.java | 16 |
3 files changed, 17 insertions, 38 deletions
diff --git a/core/java/android/webkit/CallbackProxy.java b/core/java/android/webkit/CallbackProxy.java index 188ab2ac5f8b..8af2492b1cdf 100644 --- a/core/java/android/webkit/CallbackProxy.java +++ b/core/java/android/webkit/CallbackProxy.java @@ -736,14 +736,12 @@ class CallbackProxy extends Handler { } break; case AUTH_CREDENTIALS: - if (mWebViewClient != null) { - String host = msg.getData().getString("host"); - String realm = msg.getData().getString("realm"); - username = msg.getData().getString("username"); - password = msg.getData().getString("password"); - mWebViewClient.onReceivedHttpAuthCredentials( - mWebView, host, realm, username, password); - } + String host = msg.getData().getString("host"); + String realm = msg.getData().getString("realm"); + username = msg.getData().getString("username"); + password = msg.getData().getString("password"); + mWebView.setHttpAuthUsernamePassword( + host, realm, username, password); break; } } @@ -929,19 +927,6 @@ class CallbackProxy extends Handler { sendMessage(msg); } - public void onReceivedHttpAuthCredentials(String host, String realm, - String username, String password) { - if (mWebViewClient == null) { - return; - } - Message msg = obtainMessage(AUTH_CREDENTIALS); - msg.getData().putString("host", host); - msg.getData().putString("realm", realm); - msg.getData().putString("username", username); - msg.getData().putString("password", password); - sendMessage(msg); - } - /** * @hide - hide this because it contains a parameter of type SslError. * SslError is located in a hidden package. @@ -1078,6 +1063,16 @@ class CallbackProxy extends Handler { return false; } + public void onReceivedHttpAuthCredentials(String host, String realm, + String username, String password) { + Message msg = obtainMessage(AUTH_CREDENTIALS); + msg.getData().putString("host", host); + msg.getData().putString("realm", realm); + msg.getData().putString("username", username); + msg.getData().putString("password", password); + sendMessage(msg); + } + //-------------------------------------------------------------------------- // WebChromeClient methods //-------------------------------------------------------------------------- diff --git a/core/java/android/webkit/HttpAuthHandler.java b/core/java/android/webkit/HttpAuthHandler.java index 6a8d88d58296..ed85da604744 100644 --- a/core/java/android/webkit/HttpAuthHandler.java +++ b/core/java/android/webkit/HttpAuthHandler.java @@ -269,7 +269,7 @@ public class HttpAuthHandler extends Handler { } /** - * Informs the proxy of a new set of credentials. + * Informs the WebView of a new set of credentials. * @hide Pending API council review */ public static void onReceivedCredentials(LoadListener loader, diff --git a/core/java/android/webkit/WebViewClient.java b/core/java/android/webkit/WebViewClient.java index 4ac660e68513..02c721009b10 100644 --- a/core/java/android/webkit/WebViewClient.java +++ b/core/java/android/webkit/WebViewClient.java @@ -197,22 +197,6 @@ public class WebViewClient { } /** - * Notify the host application that authentication credentials have been - * supplied from Script. - * The default behavior is to do nothing. - * @hide Pending API council review - * - * @param view The WebView that is initiating the callback. - * @param host The host requiring authentication. - * @param realm A description to help store user credentials for future - * @param username The username - * @param password The password - */ - public void onReceivedHttpAuthCredentials(WebView view, String host, - String realm, String username, String password) { - } - - /** * Give the host application a chance to handle the key event synchronously. * e.g. menu shortcut key events need to be filtered this way. If return * true, WebView will not handle the key event. If return false, WebView |
