| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/password_manager/core/browser/login_database.h" | 5 #include "components/password_manager/core/browser/login_database.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 usernames_pickle.data(), | 105 usernames_pickle.data(), |
| 106 usernames_pickle.size()); | 106 usernames_pickle.size()); |
| 107 s->BindInt(COLUMN_TIMES_USED, form.times_used); | 107 s->BindInt(COLUMN_TIMES_USED, form.times_used); |
| 108 base::Pickle form_data_pickle; | 108 base::Pickle form_data_pickle; |
| 109 autofill::SerializeFormData(form.form_data, &form_data_pickle); | 109 autofill::SerializeFormData(form.form_data, &form_data_pickle); |
| 110 s->BindBlob(COLUMN_FORM_DATA, | 110 s->BindBlob(COLUMN_FORM_DATA, |
| 111 form_data_pickle.data(), | 111 form_data_pickle.data(), |
| 112 form_data_pickle.size()); | 112 form_data_pickle.size()); |
| 113 s->BindInt64(COLUMN_DATE_SYNCED, form.date_synced.ToInternalValue()); | 113 s->BindInt64(COLUMN_DATE_SYNCED, form.date_synced.ToInternalValue()); |
| 114 s->BindString16(COLUMN_DISPLAY_NAME, form.display_name); | 114 s->BindString16(COLUMN_DISPLAY_NAME, form.display_name); |
| 115 s->BindString(COLUMN_AVATAR_URL, form.avatar_url.spec()); | 115 s->BindString(COLUMN_AVATAR_URL, form.icon_url.spec()); |
| 116 s->BindString(COLUMN_FEDERATION_URL, form.federation_url.spec()); | 116 s->BindString(COLUMN_FEDERATION_URL, form.federation_url.spec()); |
| 117 s->BindInt(COLUMN_SKIP_ZERO_CLICK, form.skip_zero_click); | 117 s->BindInt(COLUMN_SKIP_ZERO_CLICK, form.skip_zero_click); |
| 118 s->BindInt(COLUMN_GENERATION_UPLOAD_STATUS, form.generation_upload_status); | 118 s->BindInt(COLUMN_GENERATION_UPLOAD_STATUS, form.generation_upload_status); |
| 119 } | 119 } |
| 120 | 120 |
| 121 void AddCallback(int err, sql::Statement* /*stmt*/) { | 121 void AddCallback(int err, sql::Statement* /*stmt*/) { |
| 122 if (err == 19 /*SQLITE_CONSTRAINT*/) | 122 if (err == 19 /*SQLITE_CONSTRAINT*/) |
| 123 DLOG(WARNING) << "LoginDatabase::AddLogin updated an existing form"; | 123 DLOG(WARNING) << "LoginDatabase::AddLogin updated an existing form"; |
| 124 } | 124 } |
| 125 | 125 |
| (...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 646 base::Pickle pickle = SerializeVector(form.other_possible_usernames); | 646 base::Pickle pickle = SerializeVector(form.other_possible_usernames); |
| 647 s.BindBlob(4, pickle.data(), pickle.size()); | 647 s.BindBlob(4, pickle.data(), pickle.size()); |
| 648 s.BindInt(5, form.times_used); | 648 s.BindInt(5, form.times_used); |
| 649 s.BindString16(6, form.submit_element); | 649 s.BindString16(6, form.submit_element); |
| 650 s.BindInt64(7, form.date_synced.ToInternalValue()); | 650 s.BindInt64(7, form.date_synced.ToInternalValue()); |
| 651 s.BindInt64(8, form.date_created.ToInternalValue()); | 651 s.BindInt64(8, form.date_created.ToInternalValue()); |
| 652 s.BindInt(9, form.blacklisted_by_user); | 652 s.BindInt(9, form.blacklisted_by_user); |
| 653 s.BindInt(10, form.scheme); | 653 s.BindInt(10, form.scheme); |
| 654 s.BindInt(11, form.type); | 654 s.BindInt(11, form.type); |
| 655 s.BindString16(12, form.display_name); | 655 s.BindString16(12, form.display_name); |
| 656 s.BindString(13, form.avatar_url.spec()); | 656 s.BindString(13, form.icon_url.spec()); |
| 657 s.BindString(14, form.federation_url.spec()); | 657 s.BindString(14, form.federation_url.spec()); |
| 658 s.BindInt(15, form.skip_zero_click); | 658 s.BindInt(15, form.skip_zero_click); |
| 659 s.BindInt(16, form.generation_upload_status); | 659 s.BindInt(16, form.generation_upload_status); |
| 660 | 660 |
| 661 // WHERE starts here. | 661 // WHERE starts here. |
| 662 s.BindString(17, form.origin.spec()); | 662 s.BindString(17, form.origin.spec()); |
| 663 s.BindString16(18, form.username_element); | 663 s.BindString16(18, form.username_element); |
| 664 s.BindString16(19, form.username_value); | 664 s.BindString16(19, form.username_value); |
| 665 s.BindString16(20, form.password_element); | 665 s.BindString16(20, form.password_element); |
| 666 s.BindString(21, form.signon_realm); | 666 s.BindString(21, form.signon_realm); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 bool success = | 774 bool success = |
| 775 autofill::DeserializeFormData(&form_data_iter, &form->form_data); | 775 autofill::DeserializeFormData(&form_data_iter, &form->form_data); |
| 776 metrics_util::FormDeserializationStatus status = | 776 metrics_util::FormDeserializationStatus status = |
| 777 success ? metrics_util::LOGIN_DATABASE_SUCCESS | 777 success ? metrics_util::LOGIN_DATABASE_SUCCESS |
| 778 : metrics_util::LOGIN_DATABASE_FAILURE; | 778 : metrics_util::LOGIN_DATABASE_FAILURE; |
| 779 metrics_util::LogFormDataDeserializationStatus(status); | 779 metrics_util::LogFormDataDeserializationStatus(status); |
| 780 } | 780 } |
| 781 form->date_synced = | 781 form->date_synced = |
| 782 base::Time::FromInternalValue(s.ColumnInt64(COLUMN_DATE_SYNCED)); | 782 base::Time::FromInternalValue(s.ColumnInt64(COLUMN_DATE_SYNCED)); |
| 783 form->display_name = s.ColumnString16(COLUMN_DISPLAY_NAME); | 783 form->display_name = s.ColumnString16(COLUMN_DISPLAY_NAME); |
| 784 form->avatar_url = GURL(s.ColumnString(COLUMN_AVATAR_URL)); | 784 form->icon_url = GURL(s.ColumnString(COLUMN_AVATAR_URL)); |
| 785 form->federation_url = GURL(s.ColumnString(COLUMN_FEDERATION_URL)); | 785 form->federation_url = GURL(s.ColumnString(COLUMN_FEDERATION_URL)); |
| 786 form->skip_zero_click = (s.ColumnInt(COLUMN_SKIP_ZERO_CLICK) > 0); | 786 form->skip_zero_click = (s.ColumnInt(COLUMN_SKIP_ZERO_CLICK) > 0); |
| 787 int generation_upload_status_int = | 787 int generation_upload_status_int = |
| 788 s.ColumnInt(COLUMN_GENERATION_UPLOAD_STATUS); | 788 s.ColumnInt(COLUMN_GENERATION_UPLOAD_STATUS); |
| 789 DCHECK(generation_upload_status_int >= 0 && | 789 DCHECK(generation_upload_status_int >= 0 && |
| 790 generation_upload_status_int <= PasswordForm::UNKNOWN_STATUS); | 790 generation_upload_status_int <= PasswordForm::UNKNOWN_STATUS); |
| 791 form->generation_upload_status = | 791 form->generation_upload_status = |
| 792 static_cast<PasswordForm::GenerationUploadStatus>( | 792 static_cast<PasswordForm::GenerationUploadStatus>( |
| 793 generation_upload_status_int); | 793 generation_upload_status_int); |
| 794 return ENCRYPTION_RESULT_SUCCESS; | 794 return ENCRYPTION_RESULT_SUCCESS; |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 985 UMA_HISTOGRAM_ENUMERATION("PasswordManager.PslDomainMatchTriggering", | 985 UMA_HISTOGRAM_ENUMERATION("PasswordManager.PslDomainMatchTriggering", |
| 986 psl_domain_match_metric, PSL_DOMAIN_MATCH_COUNT); | 986 psl_domain_match_metric, PSL_DOMAIN_MATCH_COUNT); |
| 987 } | 987 } |
| 988 | 988 |
| 989 if (!statement->Succeeded()) | 989 if (!statement->Succeeded()) |
| 990 return false; | 990 return false; |
| 991 return true; | 991 return true; |
| 992 } | 992 } |
| 993 | 993 |
| 994 } // namespace password_manager | 994 } // namespace password_manager |
| OLD | NEW |