am bf691348: am 352cf1a4: Merge changes Ic9531e3c,I3f04433b into froyo

Merge commit 'bf6913481eff68a69d1e6ba312227e2fcea29793' into kraken

* commit 'bf6913481eff68a69d1e6ba312227e2fcea29793':
  Cherry pick from master.
  Cherry pick from master.
This commit is contained in:
Ben Murdoch
2010-04-01 08:47:58 -07:00
committed by Android Git Automerger
5 changed files with 24 additions and 39 deletions

View File

@@ -736,14 +736,12 @@ class CallbackProxy extends Handler {
} }
break; break;
case AUTH_CREDENTIALS: case AUTH_CREDENTIALS:
if (mWebViewClient != null) { String host = msg.getData().getString("host");
String host = msg.getData().getString("host"); String realm = msg.getData().getString("realm");
String realm = msg.getData().getString("realm"); username = msg.getData().getString("username");
username = msg.getData().getString("username"); password = msg.getData().getString("password");
password = msg.getData().getString("password"); mWebView.setHttpAuthUsernamePassword(
mWebViewClient.onReceivedHttpAuthCredentials( host, realm, username, password);
mWebView, host, realm, username, password);
}
break; break;
} }
} }
@@ -929,19 +927,6 @@ class CallbackProxy extends Handler {
sendMessage(msg); 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. * @hide - hide this because it contains a parameter of type SslError.
* SslError is located in a hidden package. * SslError is located in a hidden package.
@@ -1078,6 +1063,16 @@ class CallbackProxy extends Handler {
return false; 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 // WebChromeClient methods
//-------------------------------------------------------------------------- //--------------------------------------------------------------------------

View File

@@ -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 * @hide Pending API council review
*/ */
public static void onReceivedCredentials(LoadListener loader, public static void onReceivedCredentials(LoadListener loader,

View File

@@ -196,22 +196,6 @@ public class WebViewClient {
handler.cancel(); handler.cancel();
} }
/**
* 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. * 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 * e.g. menu shortcut key events need to be filtered this way. If return

View File

@@ -82,7 +82,6 @@ public class FileFilter {
// This first block of tests are for HTML5 features, for which Android // This first block of tests are for HTML5 features, for which Android
// should pass all tests. They are skipped only temporarily. // should pass all tests. They are skipped only temporarily.
// TODO: Fix these failing tests and remove them from this list. // 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/empty-manifest.html"); // flaky
ignoreResultList.add("http/tests/appcache/foreign-iframe-main.html"); // flaky - skips states ignoreResultList.add("http/tests/appcache/foreign-iframe-main.html"); // flaky - skips states
ignoreResultList.add("http/tests/appcache/manifest-with-empty-file.html"); // flaky ignoreResultList.add("http/tests/appcache/manifest-with-empty-file.html"); // flaky

View File

@@ -515,6 +515,13 @@ public class TestShellActivity extends Activity implements LayoutTestController
@Override @Override
public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler,
String host, String realm) { 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(); handler.cancel();
} }