diff options
author | Ben Murdoch <benm@google.com> | 2010-04-01 08:42:14 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-04-01 08:42:14 -0700 |
commit | 352cf1a45e26803a466d096ca2d679ea5a3ac249 (patch) | |
tree | 318f0498635a64c18bd4fac40a0ed7674a5f585c | |
parent | 461cef5d209fd072c82f6a70eb106e4690b7ef97 (diff) | |
parent | 2bb2553a20f33a2587ea33619d6be92343101eba (diff) | |
download | frameworks_base-352cf1a45e26803a466d096ca2d679ea5a3ac249.zip frameworks_base-352cf1a45e26803a466d096ca2d679ea5a3ac249.tar.gz frameworks_base-352cf1a45e26803a466d096ca2d679ea5a3ac249.tar.bz2 |
Merge changes Ic9531e3c,I3f04433b into froyo
* changes:
Cherry pick from master.
Cherry pick from master.
5 files changed, 24 insertions, 39 deletions
diff --git a/core/java/android/webkit/CallbackProxy.java b/core/java/android/webkit/CallbackProxy.java index 188ab2a..8af2492 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 6a8d88d..ed85da6 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 4ac660e..02c7210 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 diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java b/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java index d10e382..77fd3ed 100644 --- a/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java +++ b/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java @@ -82,7 +82,6 @@ public class FileFilter { // This first block of tests are for HTML5 features, for which Android // should pass all tests. They are skipped only temporarily. // TODO: Fix these failing tests and remove them from this list. - ignoreResultList.add("http/tests/appcache/auth.html"); // DumpRenderTree throws exception when authentication fails ignoreResultList.add("http/tests/appcache/empty-manifest.html"); // flaky ignoreResultList.add("http/tests/appcache/foreign-iframe-main.html"); // flaky - skips states ignoreResultList.add("http/tests/appcache/manifest-with-empty-file.html"); // flaky diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java b/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java index 24f58b2..81d5b08 100644 --- a/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java +++ b/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java @@ -515,6 +515,13 @@ public class TestShellActivity extends Activity implements LayoutTestController @Override public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) { + if (handler.useHttpAuthUsernamePassword() && view != null) { + String[] credentials = view.getHttpAuthUsernamePassword(host, realm); + if (credentials != null && credentials.length == 2) { + handler.proceed(credentials[0], credentials[1]); + return; + } + } handler.cancel(); } |