summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/CallbackProxy.java
diff options
context:
space:
mode:
authorPatrick Scott <phanna@android.com>2011-03-09 05:08:15 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2011-03-09 05:08:15 -0800
commit5d534f288d0c29337458e267fd207236bc23fec5 (patch)
tree2f297221224cbf01edd6bff216a06ceb2a1667d0 /core/java/android/webkit/CallbackProxy.java
parentb4ca8b7696ea8559fced8bcdf36e11ed28785c7c (diff)
parentea44c7c71431adbce348cf9ef3f22d9561bb7fc1 (diff)
am ea44c7c7: Merge "Pass the auto login header information to the app." into honeycomb-mr1
* commit 'ea44c7c71431adbce348cf9ef3f22d9561bb7fc1': Pass the auto login header information to the app.
Diffstat (limited to 'core/java/android/webkit/CallbackProxy.java')
-rw-r--r--core/java/android/webkit/CallbackProxy.java29
1 files changed, 28 insertions, 1 deletions
diff --git a/core/java/android/webkit/CallbackProxy.java b/core/java/android/webkit/CallbackProxy.java
index c66d70162adc..23fd12d99f0e 100644
--- a/core/java/android/webkit/CallbackProxy.java
+++ b/core/java/android/webkit/CallbackProxy.java
@@ -117,6 +117,7 @@ class CallbackProxy extends Handler {
private static final int AUTH_CREDENTIALS = 137;
private static final int SET_INSTALLABLE_WEBAPP = 138;
private static final int NOTIFY_SEARCHBOX_LISTENERS = 139;
+ private static final int AUTO_LOGIN = 140;
// Message triggered by the client to resume execution
private static final int NOTIFY = 200;
@@ -770,7 +771,7 @@ class CallbackProxy extends Handler {
(WebHistoryItem) msg.obj, msg.arg1);
}
break;
- case AUTH_CREDENTIALS:
+ case AUTH_CREDENTIALS: {
String host = msg.getData().getString("host");
String realm = msg.getData().getString("realm");
username = msg.getData().getString("username");
@@ -778,6 +779,7 @@ class CallbackProxy extends Handler {
mWebView.setHttpAuthUsernamePassword(
host, realm, username, password);
break;
+ }
case SET_INSTALLABLE_WEBAPP:
if (mWebChromeClient != null) {
mWebChromeClient.setInstallableWebApp();
@@ -789,6 +791,17 @@ class CallbackProxy extends Handler {
@SuppressWarnings("unchecked")
List<String> suggestions = (List<String>) msg.obj;
searchBox.handleSuggestions(msg.getData().getString("query"), suggestions);
+ break;
+ case AUTO_LOGIN: {
+ if (mWebViewClient != null) {
+ String realm = msg.getData().getString("realm");
+ String account = msg.getData().getString("account");
+ String args = msg.getData().getString("args");
+ mWebViewClient.onReceivedLoginRequest(mWebView, realm,
+ account, args);
+ }
+ break;
+ }
}
}
@@ -1051,6 +1064,20 @@ class CallbackProxy extends Handler {
sendMessage(msg);
}
+ void onReceivedLoginRequest(String realm, String account, String args) {
+ // Do an unsynchronized quick check to avoid posting if no callback has
+ // been set.
+ if (mWebViewClient == null) {
+ return;
+ }
+ Message msg = obtainMessage(AUTO_LOGIN);
+ Bundle bundle = msg.getData();
+ bundle.putString("realm", realm);
+ bundle.putString("account", account);
+ bundle.putString("args", args);
+ sendMessage(msg);
+ }
+
//--------------------------------------------------------------------------
// DownloadListener functions.
//--------------------------------------------------------------------------