Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1374)

Side by Side Diff: components/password_manager/content/browser/content_credential_manager_dispatcher_unittest.cc

Issue 866983003: GetLoginsRequest: Use ScopedVector to express ownership of forms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@324291_scopedvector
Patch Set: Fix Mac unittest Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/content/browser/credential_manager_dispatc her.h" 5 #include "components/password_manager/content/browser/credential_manager_dispatc her.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/prefs/pref_registry_simple.h" 9 #include "base/prefs/pref_registry_simple.h"
10 #include "base/prefs/testing_pref_service.h" 10 #include "base/prefs/testing_pref_service.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 PrefService* GetPrefs() override { return &prefs_; } 52 PrefService* GetPrefs() override { return &prefs_; }
53 53
54 bool PromptUserToSavePassword( 54 bool PromptUserToSavePassword(
55 scoped_ptr<password_manager::PasswordFormManager> manager) override { 55 scoped_ptr<password_manager::PasswordFormManager> manager) override {
56 did_prompt_user_to_save_ = true; 56 did_prompt_user_to_save_ = true;
57 manager_.reset(manager.release()); 57 manager_.reset(manager.release());
58 return true; 58 return true;
59 } 59 }
60 60
61 bool PromptUserToChooseCredentials( 61 bool PromptUserToChooseCredentials(
62 const std::vector<autofill::PasswordForm*>& local_forms, 62 ScopedVector<autofill::PasswordForm> local_forms,
63 const std::vector<autofill::PasswordForm*>& federated_forms, 63 ScopedVector<autofill::PasswordForm> federated_forms,
64 base::Callback<void(const password_manager::CredentialInfo&)> callback) 64 base::Callback<void(const password_manager::CredentialInfo&)> callback)
65 override { 65 override {
66 // TODO(melandory): Use ScopedVector instead of std::vector in arguments.
67 // ContentCredentialManagerDispatcher::OnGetPasswordStoreResults contains a
68 // memory leak because of this.
69 EXPECT_FALSE(local_forms.empty() && federated_forms.empty()); 66 EXPECT_FALSE(local_forms.empty() && federated_forms.empty());
70 did_prompt_user_to_choose_ = true; 67 did_prompt_user_to_choose_ = true;
71 ScopedVector<autofill::PasswordForm> local_entries;
72 local_entries.assign(local_forms.begin(), local_forms.end());
73 ScopedVector<autofill::PasswordForm> federated_entries;
74 federated_entries.assign(federated_forms.begin(), federated_forms.end());
75 password_manager::CredentialInfo info( 68 password_manager::CredentialInfo info(
76 local_forms.empty() ? *federated_forms[0] : *local_entries[0], 69 local_forms.empty() ? *federated_forms[0] : *local_forms[0],
77 local_forms.empty() 70 local_forms.empty()
78 ? password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED 71 ? password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED
79 : password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); 72 : password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL);
80 base::MessageLoop::current()->PostTask(FROM_HERE, 73 base::MessageLoop::current()->PostTask(FROM_HERE,
81 base::Bind(callback, info)); 74 base::Bind(callback, info));
82 return true; 75 return true;
83 } 76 }
84 77
85 bool IsOffTheRecord() override { return is_off_the_record_; } 78 bool IsOffTheRecord() override { return is_off_the_record_; }
86 79
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 const IPC::Message* message = 426 const IPC::Message* message =
434 process()->sink().GetFirstMessageMatching(kMsgID); 427 process()->sink().GetFirstMessageMatching(kMsgID);
435 ASSERT_TRUE(message); 428 ASSERT_TRUE(message);
436 CredentialManagerMsg_SendCredential::Param param; 429 CredentialManagerMsg_SendCredential::Param param;
437 CredentialManagerMsg_SendCredential::Read(message, &param); 430 CredentialManagerMsg_SendCredential::Read(message, &param);
438 EXPECT_EQ(CredentialType::CREDENTIAL_TYPE_EMPTY, get<1>(param).type); 431 EXPECT_EQ(CredentialType::CREDENTIAL_TYPE_EMPTY, get<1>(param).type);
439 EXPECT_FALSE(client_->did_prompt_user_to_choose()); 432 EXPECT_FALSE(client_->did_prompt_user_to_choose());
440 } 433 }
441 434
442 } // namespace password_manager 435 } // namespace password_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698