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
3 // found in the LICENSE file.
7 #include "base/strings/string16.h"
8 #include "base/strings/utf_string_conversions.h"
9 #include "components/autofill/core/common/password_form.h"
13 PasswordForm::PasswordForm()
14 : scheme(SCHEME_HTML
),
15 password_autocomplete_set(true),
18 blacklisted_by_user(false),
21 use_additional_authentication(false),
22 is_zero_click(false) {
25 PasswordForm::~PasswordForm() {
28 bool PasswordForm::IsPublicSuffixMatch() const {
29 return !original_signon_realm
.empty();
32 bool PasswordForm::operator==(const PasswordForm
& form
) const {
33 return signon_realm
== form
.signon_realm
&&
34 origin
== form
.origin
&&
35 action
== form
.action
&&
36 submit_element
== form
.submit_element
&&
37 username_element
== form
.username_element
&&
38 username_value
== form
.username_value
&&
39 other_possible_usernames
== form
.other_possible_usernames
&&
40 password_element
== form
.password_element
&&
41 password_value
== form
.password_value
&&
42 password_autocomplete_set
== form
.password_autocomplete_set
&&
43 new_password_element
== form
.new_password_element
&&
44 new_password_value
== form
.new_password_value
&&
45 ssl_valid
== form
.ssl_valid
&&
46 preferred
== form
.preferred
&&
47 date_created
== form
.date_created
&&
48 date_synced
== form
.date_synced
&&
49 blacklisted_by_user
== form
.blacklisted_by_user
&&
51 times_used
== form
.times_used
&&
52 use_additional_authentication
== form
.use_additional_authentication
&&
53 form_data
== form
.form_data
&&
54 display_name
== form
.display_name
&&
55 avatar_url
== form
.avatar_url
&&
56 federation_url
== form
.federation_url
&&
57 is_zero_click
== form
.is_zero_click
;
60 bool PasswordForm::operator!=(const PasswordForm
& form
) const {
61 return !operator==(form
);
64 std::ostream
& operator<<(std::ostream
& os
, const PasswordForm
& form
) {
65 return os
<< "scheme: " << form
.scheme
66 << " signon_realm: " << form
.signon_realm
67 << " origin: " << form
.origin
68 << " action: " << form
.action
69 << " submit_element: " << base::UTF16ToUTF8(form
.submit_element
)
70 << " username_elem: " << base::UTF16ToUTF8(form
.username_element
)
71 << " username_value: " << base::UTF16ToUTF8(form
.username_value
)
72 << " password_elem: " << base::UTF16ToUTF8(form
.password_element
)
73 << " password_value: " << base::UTF16ToUTF8(form
.password_value
)
74 << " new_password_element: "
75 << base::UTF16ToUTF8(form
.new_password_element
)
76 << " new_password_value: "
77 << base::UTF16ToUTF8(form
.new_password_value
)
78 << " autocomplete_set:" << form
.password_autocomplete_set
79 << " blacklisted: " << form
.blacklisted_by_user
80 << " preferred: " << form
.preferred
81 << " ssl_valid: " << form
.ssl_valid
82 << " date_created: " << form
.date_created
.ToDoubleT()
83 << " date_synced: " << form
.date_synced
.ToDoubleT()
84 << " type: " << form
.type
85 << " times_used: " << form
.times_used
86 << " use additional authentication: "
87 << form
.use_additional_authentication
88 << " form_data: " << form
.form_data
89 << " display_name: " << base::UTF16ToUTF8(form
.display_name
)
90 << " avatar_url: " << form
.avatar_url
91 << " federation_url: " << form
.federation_url
92 << " is_zero_click: " << form
.is_zero_click
;
95 } // namespace autofill