OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <ostream> | 5 #include <ostream> |
6 | 6 |
7 #include "base/strings/string16.h" | 7 #include "base/strings/string16.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "components/autofill/core/common/password_form.h" | 10 #include "components/autofill/core/common/password_form.h" |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 display_name == form.display_name && | 57 display_name == form.display_name && |
58 avatar_url == form.avatar_url && | 58 avatar_url == form.avatar_url && |
59 federation_url == form.federation_url && | 59 federation_url == form.federation_url && |
60 skip_zero_click == form.skip_zero_click; | 60 skip_zero_click == form.skip_zero_click; |
61 } | 61 } |
62 | 62 |
63 bool PasswordForm::operator!=(const PasswordForm& form) const { | 63 bool PasswordForm::operator!=(const PasswordForm& form) const { |
64 return !operator==(form); | 64 return !operator==(form); |
65 } | 65 } |
66 | 66 |
| 67 bool IsEqualUniqueKey(const PasswordForm& left, const PasswordForm& right) { |
| 68 return left.signon_realm == right.signon_realm && |
| 69 left.origin == right.origin && |
| 70 left.username_element == right.username_element && |
| 71 left.username_value == right.username_value && |
| 72 left.password_element == right.password_element; |
| 73 } |
| 74 |
67 std::ostream& operator<<(std::ostream& os, const PasswordForm& form) { | 75 std::ostream& operator<<(std::ostream& os, const PasswordForm& form) { |
68 return os << "scheme: " << form.scheme | 76 return os << "scheme: " << form.scheme |
69 << " signon_realm: " << form.signon_realm | 77 << " signon_realm: " << form.signon_realm |
70 << " origin: " << form.origin | 78 << " origin: " << form.origin |
71 << " action: " << form.action | 79 << " action: " << form.action |
72 << " submit_element: " << base::UTF16ToUTF8(form.submit_element) | 80 << " submit_element: " << base::UTF16ToUTF8(form.submit_element) |
73 << " username_elem: " << base::UTF16ToUTF8(form.username_element) | 81 << " username_elem: " << base::UTF16ToUTF8(form.username_element) |
74 << " username_marked_by_site: " << form.username_marked_by_site | 82 << " username_marked_by_site: " << form.username_marked_by_site |
75 << " username_value: " << base::UTF16ToUTF8(form.username_value) | 83 << " username_value: " << base::UTF16ToUTF8(form.username_value) |
76 << " password_elem: " << base::UTF16ToUTF8(form.password_element) | 84 << " password_elem: " << base::UTF16ToUTF8(form.password_element) |
(...skipping 14 matching lines...) Expand all Loading... |
91 << " times_used: " << form.times_used | 99 << " times_used: " << form.times_used |
92 << " form_data: " << form.form_data | 100 << " form_data: " << form.form_data |
93 << " generation_upload_status: " << form.generation_upload_status | 101 << " generation_upload_status: " << form.generation_upload_status |
94 << " display_name: " << base::UTF16ToUTF8(form.display_name) | 102 << " display_name: " << base::UTF16ToUTF8(form.display_name) |
95 << " avatar_url: " << form.avatar_url | 103 << " avatar_url: " << form.avatar_url |
96 << " federation_url: " << form.federation_url | 104 << " federation_url: " << form.federation_url |
97 << " skip_next_zero_click: " << form.skip_zero_click; | 105 << " skip_next_zero_click: " << form.skip_zero_click; |
98 } | 106 } |
99 | 107 |
100 } // namespace autofill | 108 } // namespace autofill |
OLD | NEW |