| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/password_manager/password_store_x.h" | 5 #include "chrome/browser/password_manager/password_store_x.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 } | 85 } |
| 86 | 86 |
| 87 bool DisableAutoSignInForOrigins( | 87 bool DisableAutoSignInForOrigins( |
| 88 const base::Callback<bool(const GURL&)>& origin_filter, | 88 const base::Callback<bool(const GURL&)>& origin_filter, |
| 89 password_manager::PasswordStoreChangeList* changes) override { | 89 password_manager::PasswordStoreChangeList* changes) override { |
| 90 return false; | 90 return false; |
| 91 } | 91 } |
| 92 | 92 |
| 93 // Use this as a landmine to check whether results of failed Get*Logins calls | 93 // Use this as a landmine to check whether results of failed Get*Logins calls |
| 94 // get ignored. | 94 // get ignored. |
| 95 static ScopedVector<autofill::PasswordForm> CreateTrashForms() { | 95 static std::vector<std::unique_ptr<PasswordForm>> CreateTrashForms() { |
| 96 ScopedVector<autofill::PasswordForm> forms; | 96 std::vector<std::unique_ptr<PasswordForm>> forms; |
| 97 PasswordForm trash; | 97 PasswordForm trash; |
| 98 trash.username_element = base::ASCIIToUTF16("trash u. element"); | 98 trash.username_element = base::ASCIIToUTF16("trash u. element"); |
| 99 trash.username_value = base::ASCIIToUTF16("trash u. value"); | 99 trash.username_value = base::ASCIIToUTF16("trash u. value"); |
| 100 trash.password_element = base::ASCIIToUTF16("trash p. element"); | 100 trash.password_element = base::ASCIIToUTF16("trash p. element"); |
| 101 trash.password_value = base::ASCIIToUTF16("trash p. value"); | 101 trash.password_value = base::ASCIIToUTF16("trash p. value"); |
| 102 for (size_t i = 0; i < 3; ++i) { | 102 for (size_t i = 0; i < 3; ++i) { |
| 103 trash.origin = GURL(base::StringPrintf("http://trash%zu.com", i)); | 103 trash.origin = GURL(base::StringPrintf("http://trash%zu.com", i)); |
| 104 forms.push_back(new PasswordForm(trash)); | 104 forms.push_back(base::MakeUnique<PasswordForm>(trash)); |
| 105 } | 105 } |
| 106 return forms; | 106 return forms; |
| 107 } | 107 } |
| 108 | 108 |
| 109 bool GetLogins(const PasswordStore::FormDigest& form, | 109 bool GetLogins(const PasswordStore::FormDigest& form, |
| 110 ScopedVector<autofill::PasswordForm>* forms) override { | 110 std::vector<std::unique_ptr<PasswordForm>>* forms) override { |
| 111 *forms = CreateTrashForms(); | 111 *forms = CreateTrashForms(); |
| 112 return false; | 112 return false; |
| 113 } | 113 } |
| 114 | 114 |
| 115 bool GetAutofillableLogins( | 115 bool GetAutofillableLogins( |
| 116 ScopedVector<autofill::PasswordForm>* forms) override { | 116 std::vector<std::unique_ptr<PasswordForm>>* forms) override { |
| 117 *forms = CreateTrashForms(); | 117 *forms = CreateTrashForms(); |
| 118 return false; | 118 return false; |
| 119 } | 119 } |
| 120 | 120 |
| 121 bool GetBlacklistLogins( | 121 bool GetBlacklistLogins( |
| 122 ScopedVector<autofill::PasswordForm>* forms) override { | 122 std::vector<std::unique_ptr<PasswordForm>>* forms) override { |
| 123 *forms = CreateTrashForms(); | 123 *forms = CreateTrashForms(); |
| 124 return false; | 124 return false; |
| 125 } | 125 } |
| 126 | 126 |
| 127 bool GetAllLogins(ScopedVector<autofill::PasswordForm>* forms) override { | 127 bool GetAllLogins( |
| 128 std::vector<std::unique_ptr<PasswordForm>>* forms) override { |
| 128 *forms = CreateTrashForms(); | 129 *forms = CreateTrashForms(); |
| 129 return false; | 130 return false; |
| 130 } | 131 } |
| 131 }; | 132 }; |
| 132 | 133 |
| 133 class MockBackend : public PasswordStoreX::NativeBackend { | 134 class MockBackend : public PasswordStoreX::NativeBackend { |
| 134 public: | 135 public: |
| 135 bool Init() override { return true; } | 136 bool Init() override { return true; } |
| 136 | 137 |
| 137 PasswordStoreChangeList AddLogin(const PasswordForm& form) override { | 138 PasswordStoreChangeList AddLogin(const PasswordForm& form) override { |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 return true; | 193 return true; |
| 193 } | 194 } |
| 194 | 195 |
| 195 bool DisableAutoSignInForOrigins( | 196 bool DisableAutoSignInForOrigins( |
| 196 const base::Callback<bool(const GURL&)>& origin_filter, | 197 const base::Callback<bool(const GURL&)>& origin_filter, |
| 197 password_manager::PasswordStoreChangeList* changes) override { | 198 password_manager::PasswordStoreChangeList* changes) override { |
| 198 return true; | 199 return true; |
| 199 } | 200 } |
| 200 | 201 |
| 201 bool GetLogins(const PasswordStore::FormDigest& form, | 202 bool GetLogins(const PasswordStore::FormDigest& form, |
| 202 ScopedVector<autofill::PasswordForm>* forms) override { | 203 std::vector<std::unique_ptr<PasswordForm>>* forms) override { |
| 203 for (size_t i = 0; i < all_forms_.size(); ++i) | 204 for (size_t i = 0; i < all_forms_.size(); ++i) |
| 204 if (all_forms_[i].signon_realm == form.signon_realm) | 205 if (all_forms_[i].signon_realm == form.signon_realm) |
| 205 forms->push_back(new PasswordForm(all_forms_[i])); | 206 forms->push_back(base::MakeUnique<PasswordForm>(all_forms_[i])); |
| 206 return true; | 207 return true; |
| 207 } | 208 } |
| 208 | 209 |
| 209 bool GetAutofillableLogins( | 210 bool GetAutofillableLogins( |
| 210 ScopedVector<autofill::PasswordForm>* forms) override { | 211 std::vector<std::unique_ptr<PasswordForm>>* forms) override { |
| 211 for (size_t i = 0; i < all_forms_.size(); ++i) | 212 for (size_t i = 0; i < all_forms_.size(); ++i) |
| 212 if (!all_forms_[i].blacklisted_by_user) | 213 if (!all_forms_[i].blacklisted_by_user) |
| 213 forms->push_back(new PasswordForm(all_forms_[i])); | 214 forms->push_back(base::MakeUnique<PasswordForm>(all_forms_[i])); |
| 214 return true; | 215 return true; |
| 215 } | 216 } |
| 216 | 217 |
| 217 bool GetBlacklistLogins( | 218 bool GetBlacklistLogins( |
| 218 ScopedVector<autofill::PasswordForm>* forms) override { | 219 std::vector<std::unique_ptr<PasswordForm>>* forms) override { |
| 219 for (size_t i = 0; i < all_forms_.size(); ++i) | 220 for (size_t i = 0; i < all_forms_.size(); ++i) |
| 220 if (all_forms_[i].blacklisted_by_user) | 221 if (all_forms_[i].blacklisted_by_user) |
| 221 forms->push_back(new PasswordForm(all_forms_[i])); | 222 forms->push_back(base::MakeUnique<PasswordForm>(all_forms_[i])); |
| 222 return true; | 223 return true; |
| 223 } | 224 } |
| 224 | 225 |
| 225 bool GetAllLogins(ScopedVector<autofill::PasswordForm>* forms) override { | 226 bool GetAllLogins( |
| 227 std::vector<std::unique_ptr<PasswordForm>>* forms) override { |
| 226 for (size_t i = 0; i < all_forms_.size(); ++i) | 228 for (size_t i = 0; i < all_forms_.size(); ++i) |
| 227 forms->push_back(new PasswordForm(all_forms_[i])); | 229 forms->push_back(base::MakeUnique<PasswordForm>(all_forms_[i])); |
| 228 return true; | 230 return true; |
| 229 } | 231 } |
| 230 | 232 |
| 231 private: | 233 private: |
| 232 void erase(size_t index) { | 234 void erase(size_t index) { |
| 233 if (index < all_forms_.size() - 1) | 235 if (index < all_forms_.size() - 1) |
| 234 all_forms_[index] = all_forms_.back(); | 236 all_forms_[index] = all_forms_.back(); |
| 235 all_forms_.pop_back(); | 237 all_forms_.pop_back(); |
| 236 } | 238 } |
| 237 | 239 |
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 | 580 |
| 579 INSTANTIATE_TEST_CASE_P(NoBackend, | 581 INSTANTIATE_TEST_CASE_P(NoBackend, |
| 580 PasswordStoreXTest, | 582 PasswordStoreXTest, |
| 581 testing::Values(NO_BACKEND)); | 583 testing::Values(NO_BACKEND)); |
| 582 INSTANTIATE_TEST_CASE_P(FailingBackend, | 584 INSTANTIATE_TEST_CASE_P(FailingBackend, |
| 583 PasswordStoreXTest, | 585 PasswordStoreXTest, |
| 584 testing::Values(FAILING_BACKEND)); | 586 testing::Values(FAILING_BACKEND)); |
| 585 INSTANTIATE_TEST_CASE_P(WorkingBackend, | 587 INSTANTIATE_TEST_CASE_P(WorkingBackend, |
| 586 PasswordStoreXTest, | 588 PasswordStoreXTest, |
| 587 testing::Values(WORKING_BACKEND)); | 589 testing::Values(WORKING_BACKEND)); |
| OLD | NEW |