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 "base/strings/string_util.h" | 5 #include "base/strings/string_util.h" |
6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
7 #include "components/password_manager/core/browser/password_form_data.h" | 7 #include "components/password_manager/core/browser/password_form_data.h" |
8 | 8 |
9 using autofill::PasswordForm; | 9 using autofill::PasswordForm; |
10 | 10 |
11 namespace password_manager { | 11 namespace password_manager { |
12 | 12 |
13 PasswordForm* CreatePasswordFormFromData(const PasswordFormData& form_data) { | 13 scoped_ptr<PasswordForm> CreatePasswordFormFromData( |
14 PasswordForm* form = new PasswordForm(); | 14 const PasswordFormData& form_data) { |
| 15 scoped_ptr<PasswordForm> form(new PasswordForm()); |
15 form->scheme = form_data.scheme; | 16 form->scheme = form_data.scheme; |
16 form->preferred = form_data.preferred; | 17 form->preferred = form_data.preferred; |
17 form->ssl_valid = form_data.ssl_valid; | 18 form->ssl_valid = form_data.ssl_valid; |
18 form->date_created = base::Time::FromDoubleT(form_data.creation_time); | 19 form->date_created = base::Time::FromDoubleT(form_data.creation_time); |
19 if (form_data.signon_realm) | 20 if (form_data.signon_realm) |
20 form->signon_realm = std::string(form_data.signon_realm); | 21 form->signon_realm = std::string(form_data.signon_realm); |
21 if (form_data.origin) | 22 if (form_data.origin) |
22 form->origin = GURL(form_data.origin); | 23 form->origin = GURL(form_data.origin); |
23 if (form_data.action) | 24 if (form_data.action) |
24 form->action = GURL(form_data.action); | 25 form->action = GURL(form_data.action); |
25 if (form_data.submit_element) | 26 if (form_data.submit_element) |
26 form->submit_element = base::WideToUTF16(form_data.submit_element); | 27 form->submit_element = base::WideToUTF16(form_data.submit_element); |
27 if (form_data.username_element) | 28 if (form_data.username_element) |
28 form->username_element = base::WideToUTF16(form_data.username_element); | 29 form->username_element = base::WideToUTF16(form_data.username_element); |
29 if (form_data.password_element) | 30 if (form_data.password_element) |
30 form->password_element = base::WideToUTF16(form_data.password_element); | 31 form->password_element = base::WideToUTF16(form_data.password_element); |
31 if (form_data.username_value) { | 32 if (form_data.username_value) { |
32 form->username_value = base::WideToUTF16(form_data.username_value); | 33 form->username_value = base::WideToUTF16(form_data.username_value); |
33 if (form_data.password_value) | 34 if (form_data.password_value) |
34 form->password_value = base::WideToUTF16(form_data.password_value); | 35 form->password_value = base::WideToUTF16(form_data.password_value); |
35 } else { | 36 } else { |
36 form->blacklisted_by_user = true; | 37 form->blacklisted_by_user = true; |
37 } | 38 } |
38 return form; | 39 return form.Pass(); |
39 } | 40 } |
40 | 41 |
41 typedef std::set<const autofill::PasswordForm*> SetOfForms; | 42 typedef std::set<const autofill::PasswordForm*> SetOfForms; |
42 | 43 |
43 bool ContainsSamePasswordFormsPtr(const std::vector<PasswordForm*>& first, | 44 bool ContainsSamePasswordFormsPtr(const std::vector<PasswordForm*>& first, |
44 const std::vector<PasswordForm*>& second) { | 45 const std::vector<PasswordForm*>& second) { |
45 if (first.size() != second.size()) | 46 if (first.size() != second.size()) |
46 return false; | 47 return false; |
47 | 48 |
48 // TODO(cramya): As per b/7079906, the STLport of Android causes a crash | 49 // TODO(cramya): As per b/7079906, the STLport of Android causes a crash |
(...skipping 16 matching lines...) Expand all Loading... |
65 } | 66 } |
66 } | 67 } |
67 if (!found_match) { | 68 if (!found_match) { |
68 LOG(ERROR) << "No match for:" << std::endl << *actual; | 69 LOG(ERROR) << "No match for:" << std::endl << *actual; |
69 return false; | 70 return false; |
70 } | 71 } |
71 } | 72 } |
72 return true; | 73 return true; |
73 } | 74 } |
74 | 75 |
75 bool ContainsSamePasswordForms(std::vector<autofill::PasswordForm>& first, | |
76 std::vector<autofill::PasswordForm>& second) { | |
77 std::vector<PasswordForm*> first_ptr; | |
78 for (unsigned int i = 0; i < first.size(); ++i) { | |
79 first_ptr.push_back(&first[i]); | |
80 } | |
81 std::vector<PasswordForm*> second_ptr; | |
82 for (unsigned int i = 0; i < second.size(); ++i) { | |
83 second_ptr.push_back(&second[i]); | |
84 } | |
85 return ContainsSamePasswordFormsPtr(first_ptr, second_ptr); | |
86 } | |
87 | |
88 } // namespace password_manager | 76 } // namespace password_manager |
OLD | NEW |