| Index: components/password_manager/core/browser/login_database.cc
|
| diff --git a/components/password_manager/core/browser/login_database.cc b/components/password_manager/core/browser/login_database.cc
|
| index d4e913cd7685f159ad0be44805ebfe05b9d6e9e5..c4384129839ee4d6a1bc58698affb1d7818c5ada 100644
|
| --- a/components/password_manager/core/browser/login_database.cc
|
| +++ b/components/password_manager/core/browser/login_database.cc
|
| @@ -8,6 +8,7 @@
|
| #include <stdint.h>
|
| #include <algorithm>
|
| #include <limits>
|
| +#include <map>
|
| #include <utility>
|
|
|
| #include "base/bind.h"
|
| @@ -1057,9 +1058,9 @@ bool LoginDatabase::DisableAutoSignInForAllLogins() {
|
| // static
|
| LoginDatabase::EncryptionResult LoginDatabase::InitPasswordFormFromStatement(
|
| PasswordForm* form,
|
| - sql::Statement& s) {
|
| + sql::Statement* s) {
|
| std::string encrypted_password;
|
| - s.ColumnBlobAsString(COLUMN_PASSWORD_VALUE, &encrypted_password);
|
| + s->ColumnBlobAsString(COLUMN_PASSWORD_VALUE, &encrypted_password);
|
| base::string16 decrypted_password;
|
| EncryptionResult encryption_result =
|
| DecryptedString(encrypted_password, &decrypted_password);
|
| @@ -1069,40 +1070,40 @@ LoginDatabase::EncryptionResult LoginDatabase::InitPasswordFormFromStatement(
|
| return encryption_result;
|
| }
|
|
|
| - std::string tmp = s.ColumnString(COLUMN_ORIGIN_URL);
|
| + std::string tmp = s->ColumnString(COLUMN_ORIGIN_URL);
|
| form->origin = GURL(tmp);
|
| - tmp = s.ColumnString(COLUMN_ACTION_URL);
|
| + tmp = s->ColumnString(COLUMN_ACTION_URL);
|
| form->action = GURL(tmp);
|
| - form->username_element = s.ColumnString16(COLUMN_USERNAME_ELEMENT);
|
| - form->username_value = s.ColumnString16(COLUMN_USERNAME_VALUE);
|
| - form->password_element = s.ColumnString16(COLUMN_PASSWORD_ELEMENT);
|
| + form->username_element = s->ColumnString16(COLUMN_USERNAME_ELEMENT);
|
| + form->username_value = s->ColumnString16(COLUMN_USERNAME_VALUE);
|
| + form->password_element = s->ColumnString16(COLUMN_PASSWORD_ELEMENT);
|
| form->password_value = decrypted_password;
|
| - form->submit_element = s.ColumnString16(COLUMN_SUBMIT_ELEMENT);
|
| - tmp = s.ColumnString(COLUMN_SIGNON_REALM);
|
| + form->submit_element = s->ColumnString16(COLUMN_SUBMIT_ELEMENT);
|
| + tmp = s->ColumnString(COLUMN_SIGNON_REALM);
|
| form->signon_realm = tmp;
|
| - form->ssl_valid = (s.ColumnInt(COLUMN_SSL_VALID) > 0);
|
| - form->preferred = (s.ColumnInt(COLUMN_PREFERRED) > 0);
|
| + form->ssl_valid = (s->ColumnInt(COLUMN_SSL_VALID) > 0);
|
| + form->preferred = (s->ColumnInt(COLUMN_PREFERRED) > 0);
|
| form->date_created =
|
| - base::Time::FromInternalValue(s.ColumnInt64(COLUMN_DATE_CREATED));
|
| - form->blacklisted_by_user = (s.ColumnInt(COLUMN_BLACKLISTED_BY_USER) > 0);
|
| - int scheme_int = s.ColumnInt(COLUMN_SCHEME);
|
| + base::Time::FromInternalValue(s->ColumnInt64(COLUMN_DATE_CREATED));
|
| + form->blacklisted_by_user = (s->ColumnInt(COLUMN_BLACKLISTED_BY_USER) > 0);
|
| + int scheme_int = s->ColumnInt(COLUMN_SCHEME);
|
| DCHECK_LE(0, scheme_int);
|
| DCHECK_GE(PasswordForm::SCHEME_LAST, scheme_int);
|
| form->scheme = static_cast<PasswordForm::Scheme>(scheme_int);
|
| - int type_int = s.ColumnInt(COLUMN_PASSWORD_TYPE);
|
| + int type_int = s->ColumnInt(COLUMN_PASSWORD_TYPE);
|
| DCHECK(type_int >= 0 && type_int <= PasswordForm::TYPE_LAST) << type_int;
|
| form->type = static_cast<PasswordForm::Type>(type_int);
|
| - if (s.ColumnByteLength(COLUMN_POSSIBLE_USERNAMES)) {
|
| + if (s->ColumnByteLength(COLUMN_POSSIBLE_USERNAMES)) {
|
| base::Pickle pickle(
|
| - static_cast<const char*>(s.ColumnBlob(COLUMN_POSSIBLE_USERNAMES)),
|
| - s.ColumnByteLength(COLUMN_POSSIBLE_USERNAMES));
|
| + static_cast<const char*>(s->ColumnBlob(COLUMN_POSSIBLE_USERNAMES)),
|
| + s->ColumnByteLength(COLUMN_POSSIBLE_USERNAMES));
|
| form->other_possible_usernames = DeserializeVector(pickle);
|
| }
|
| - form->times_used = s.ColumnInt(COLUMN_TIMES_USED);
|
| - if (s.ColumnByteLength(COLUMN_FORM_DATA)) {
|
| + form->times_used = s->ColumnInt(COLUMN_TIMES_USED);
|
| + if (s->ColumnByteLength(COLUMN_FORM_DATA)) {
|
| base::Pickle form_data_pickle(
|
| - static_cast<const char*>(s.ColumnBlob(COLUMN_FORM_DATA)),
|
| - s.ColumnByteLength(COLUMN_FORM_DATA));
|
| + static_cast<const char*>(s->ColumnBlob(COLUMN_FORM_DATA)),
|
| + s->ColumnByteLength(COLUMN_FORM_DATA));
|
| base::PickleIterator form_data_iter(form_data_pickle);
|
| bool success =
|
| autofill::DeserializeFormData(&form_data_iter, &form->form_data);
|
| @@ -1112,14 +1113,14 @@ LoginDatabase::EncryptionResult LoginDatabase::InitPasswordFormFromStatement(
|
| metrics_util::LogFormDataDeserializationStatus(status);
|
| }
|
| form->date_synced =
|
| - base::Time::FromInternalValue(s.ColumnInt64(COLUMN_DATE_SYNCED));
|
| - form->display_name = s.ColumnString16(COLUMN_DISPLAY_NAME);
|
| - form->icon_url = GURL(s.ColumnString(COLUMN_ICON_URL));
|
| + base::Time::FromInternalValue(s->ColumnInt64(COLUMN_DATE_SYNCED));
|
| + form->display_name = s->ColumnString16(COLUMN_DISPLAY_NAME);
|
| + form->icon_url = GURL(s->ColumnString(COLUMN_ICON_URL));
|
| form->federation_origin =
|
| - url::Origin(GURL(s.ColumnString(COLUMN_FEDERATION_URL)));
|
| - form->skip_zero_click = (s.ColumnInt(COLUMN_SKIP_ZERO_CLICK) > 0);
|
| + url::Origin(GURL(s->ColumnString(COLUMN_FEDERATION_URL)));
|
| + form->skip_zero_click = (s->ColumnInt(COLUMN_SKIP_ZERO_CLICK) > 0);
|
| int generation_upload_status_int =
|
| - s.ColumnInt(COLUMN_GENERATION_UPLOAD_STATUS);
|
| + s->ColumnInt(COLUMN_GENERATION_UPLOAD_STATUS);
|
| DCHECK(generation_upload_status_int >= 0 &&
|
| generation_upload_status_int <= PasswordForm::UNKNOWN_STATUS);
|
| form->generation_upload_status =
|
| @@ -1323,7 +1324,7 @@ bool LoginDatabase::StatementToForms(
|
| while (statement->Step()) {
|
| std::unique_ptr<PasswordForm> new_form(new PasswordForm());
|
| EncryptionResult result =
|
| - InitPasswordFormFromStatement(new_form.get(), *statement);
|
| + InitPasswordFormFromStatement(new_form.get(), statement);
|
| if (result == ENCRYPTION_RESULT_SERVICE_FAILURE)
|
| return false;
|
| if (result == ENCRYPTION_RESULT_ITEM_FAILURE)
|
|
|