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

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: Just rebased on mkwst's changes 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 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 const IPC::Message* message = 445 const IPC::Message* message =
453 process()->sink().GetFirstMessageMatching(kMsgID); 446 process()->sink().GetFirstMessageMatching(kMsgID);
454 ASSERT_TRUE(message); 447 ASSERT_TRUE(message);
455 CredentialManagerMsg_SendCredential::Param param; 448 CredentialManagerMsg_SendCredential::Param param;
456 CredentialManagerMsg_SendCredential::Read(message, &param); 449 CredentialManagerMsg_SendCredential::Read(message, &param);
457 EXPECT_EQ(CredentialType::CREDENTIAL_TYPE_EMPTY, get<1>(param).type); 450 EXPECT_EQ(CredentialType::CREDENTIAL_TYPE_EMPTY, get<1>(param).type);
458 EXPECT_FALSE(client_->did_prompt_user_to_choose()); 451 EXPECT_FALSE(client_->did_prompt_user_to_choose());
459 } 452 }
460 453
461 } // namespace password_manager 454 } // namespace password_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698