summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-04-01 08:42:14 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-04-01 08:42:14 -0700
commit352cf1a45e26803a466d096ca2d679ea5a3ac249 (patch)
tree318f0498635a64c18bd4fac40a0ed7674a5f585c
parent461cef5d209fd072c82f6a70eb106e4690b7ef97 (diff)
parent2bb2553a20f33a2587ea33619d6be92343101eba (diff)
downloadframeworks_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.
-rw-r--r--core/java/android/webkit/CallbackProxy.java37
-rw-r--r--core/java/android/webkit/HttpAuthHandler.java2
-rw-r--r--core/java/android/webkit/WebViewClient.java16
-rw-r--r--tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java1
-rw-r--r--tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java7
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();
}