diff options
Diffstat (limited to 'core/java/android/webkit/BrowserFrame.java')
| -rw-r--r-- | core/java/android/webkit/BrowserFrame.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java index 9e454a7b1934..66c2727a03eb 100644 --- a/core/java/android/webkit/BrowserFrame.java +++ b/core/java/android/webkit/BrowserFrame.java @@ -70,6 +70,7 @@ class BrowserFrame extends Handler { * request's LoadListener */ private final static int MAX_OUTSTANDING_REQUESTS = 300; + private final static String SCHEME_HOST_DELIMITER = "://"; private final CallbackProxy mCallbackProxy; private final WebSettingsClassic mSettings; @@ -504,10 +505,14 @@ class BrowserFrame extends Handler { .getCurrentItem(); if (item != null) { WebAddress uri = new WebAddress(item.getUrl()); - String schemePlusHost = uri.getScheme() + uri.getHost(); - String[] up = - WebViewDatabaseClassic.getInstance(mContext) - .getUsernamePassword(schemePlusHost); + String schemePlusHost = uri.getScheme() + SCHEME_HOST_DELIMITER + + uri.getHost(); + String[] up = mDatabase.getUsernamePassword( + schemePlusHost); + if (up == null) { // no row found, try again using the legacy method + schemePlusHost = uri.getScheme() + uri.getHost(); + up = mDatabase.getUsernamePassword(schemePlusHost); + } if (up != null && up[0] != null) { setUsernamePassword(up[0], up[1]); } @@ -820,7 +825,7 @@ class BrowserFrame extends Handler { } WebAddress uri = new WebAddress(mCallbackProxy .getBackForwardList().getCurrentItem().getUrl()); - String schemePlusHost = uri.getScheme() + uri.getHost(); + String schemePlusHost = uri.getScheme() + SCHEME_HOST_DELIMITER + uri.getHost(); // Check to see if the username & password appear in // the post data (there could be another form on the // page and that was posted instead. |
