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) {
24 PasswordForm::~PasswordForm() {
27 bool PasswordForm::IsPublicSuffixMatch() const {
28 return !original_signon_realm.empty();
31 bool PasswordForm::operator==(const PasswordForm& form) const {
32 return signon_realm == form.signon_realm &&
33 origin == form.origin &&
34 action == form.action &&
35 submit_element == form.submit_element &&
36 username_element == form.username_element &&
37 username_value == form.username_value &&
38 other_possible_usernames == form.other_possible_usernames &&
39 password_element == form.password_element &&
40 password_value == form.password_value &&
41 password_autocomplete_set == form.password_autocomplete_set &&
42 old_password_element == form.old_password_element &&
43 old_password_value == form.old_password_value &&
44 ssl_valid == form.ssl_valid &&
45 preferred == form.preferred &&
46 date_created == form.date_created &&
47 blacklisted_by_user == form.blacklisted_by_user &&
49 times_used == form.times_used &&
50 use_additional_authentication == form.use_additional_authentication &&
51 form_data == form.form_data;
54 bool PasswordForm::operator!=(const PasswordForm& form) const {
55 return !operator==(form);
58 std::ostream& operator<<(std::ostream& os, const PasswordForm& form) {
59 return os << "scheme: " << form.scheme
60 << " signon_realm: " << form.signon_realm
61 << " origin: " << form.origin
62 << " action: " << form.action
63 << " submit_element: " << base::UTF16ToUTF8(form.submit_element)
64 << " username_elem: " << base::UTF16ToUTF8(form.username_element)
65 << " username_value: " << base::UTF16ToUTF8(form.username_value)
66 << " password_elem: " << base::UTF16ToUTF8(form.password_element)
67 << " password_value: " << base::UTF16ToUTF8(form.password_value)
68 << " old_password_element: "
69 << base::UTF16ToUTF8(form.old_password_element)
70 << " old_password_value: "
71 << base::UTF16ToUTF8(form.old_password_value)
72 << " autocomplete_set:" << form.password_autocomplete_set
73 << " blacklisted: " << form.blacklisted_by_user
74 << " preferred: " << form.preferred
75 << " ssl_valid: " << form.ssl_valid
76 << " date_created: " << form.date_created.ToDoubleT()
77 << " type: " << form.type
78 << " times_used: " << form.times_used
79 << " use additional authentication: "
80 << form.use_additional_authentication
81 << " form_data: " << form.form_data;
84 } // namespace autofill