DO NOT MERGE Add a delimiter between scheme and host
Bug: 6923539 Change-Id: I219accd5db0c8a0e64b8aab3b049a8cee7dc168f
This commit is contained in:
committed by
Geremy Condra
parent
38915fd4d4
commit
7918cf4e6b
@ -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.
|
||||
|
@ -588,7 +588,8 @@ public class WebView extends AbsoluteLayout
|
||||
* Saves the username and password for a particular host in this WebView's
|
||||
* internal database.
|
||||
*
|
||||
* @param host the host that required the credentials
|
||||
* @param host the host that required the credentials. It is recommended that
|
||||
* the host is given using scheme://hostname format.
|
||||
* @param username the username for the given host
|
||||
* @param password the password for the given host
|
||||
*/
|
||||
|
@ -37,7 +37,7 @@ final class WebViewDatabaseClassic extends WebViewDatabase {
|
||||
private static final String DATABASE_FILE = "webview.db";
|
||||
private static final String CACHE_DATABASE_FILE = "webviewCache.db";
|
||||
|
||||
private static final int DATABASE_VERSION = 11;
|
||||
private static final int DATABASE_VERSION = 12;
|
||||
// 2 -> 3 Modified Cache table to allow cache of redirects
|
||||
// 3 -> 4 Added Oma-Downloads table
|
||||
// 4 -> 5 Modified Cache table to support persistent contentLength
|
||||
@ -50,6 +50,7 @@ final class WebViewDatabaseClassic extends WebViewDatabase {
|
||||
// 10 -> 11 Drop cookies and cache now managed by the chromium stack,
|
||||
// and update the form data table to use the new format
|
||||
// implemented for b/5265606.
|
||||
// 11 -> 12 Add a delimiter between scheme and host when storing passwords
|
||||
|
||||
private static WebViewDatabaseClassic sInstance = null;
|
||||
|
||||
@ -165,11 +166,23 @@ final class WebViewDatabaseClassic extends WebViewDatabase {
|
||||
private static void upgradeDatabase() {
|
||||
upgradeDatabaseToV10();
|
||||
upgradeDatabaseFromV10ToV11();
|
||||
upgradeDatabaseFromV11ToV12();
|
||||
// Add future database upgrade functions here, one version at a
|
||||
// time.
|
||||
sDatabase.setVersion(DATABASE_VERSION);
|
||||
}
|
||||
|
||||
private static void upgradeDatabaseFromV11ToV12() {
|
||||
int oldVersion = sDatabase.getVersion();
|
||||
|
||||
if (oldVersion >= 12) {
|
||||
// Nothing to do.
|
||||
return;
|
||||
}
|
||||
// delete the rows in the database.
|
||||
sDatabase.delete(mTableNames[TABLE_PASSWORD_ID], null, null);
|
||||
}
|
||||
|
||||
private static void upgradeDatabaseFromV10ToV11() {
|
||||
int oldVersion = sDatabase.getVersion();
|
||||
|
||||
|
Reference in New Issue
Block a user