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. 4 5 #include <ostream> 6 7 #include "base/strings/string16.h" 8 #include "base/strings/utf_string_conversions.h" 9 #include "components/autofill/core/common/password_form.h" 10 11 namespace autofill { 12 13 PasswordForm::PasswordForm() 14 : scheme(SCHEME_HTML), 15 password_autocomplete_set(true), 16 ssl_valid(false), 17 preferred(false), 18 blacklisted_by_user(false), 19 type(TYPE_MANUAL), 20 times_used(0), 21 use_additional_authentication(false) { 22 } 23 24 PasswordForm::~PasswordForm() { 25 } 26 27 bool PasswordForm::IsPublicSuffixMatch() const { 28 return !original_signon_realm.empty(); 29 } 30 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 date_synced == form.date_synced && 48 blacklisted_by_user == form.blacklisted_by_user && 49 type == form.type && 50 times_used == form.times_used && 51 use_additional_authentication == form.use_additional_authentication && 52 form_data == form.form_data; 53 } 54 55 bool PasswordForm::operator!=(const PasswordForm& form) const { 56 return !operator==(form); 57 } 58 59 std::ostream& operator<<(std::ostream& os, const PasswordForm& form) { 60 return os << "scheme: " << form.scheme 61 << " signon_realm: " << form.signon_realm 62 << " origin: " << form.origin 63 << " action: " << form.action 64 << " submit_element: " << base::UTF16ToUTF8(form.submit_element) 65 << " username_elem: " << base::UTF16ToUTF8(form.username_element) 66 << " username_value: " << base::UTF16ToUTF8(form.username_value) 67 << " password_elem: " << base::UTF16ToUTF8(form.password_element) 68 << " password_value: " << base::UTF16ToUTF8(form.password_value) 69 << " old_password_element: " 70 << base::UTF16ToUTF8(form.old_password_element) 71 << " old_password_value: " 72 << base::UTF16ToUTF8(form.old_password_value) 73 << " autocomplete_set:" << form.password_autocomplete_set 74 << " blacklisted: " << form.blacklisted_by_user 75 << " preferred: " << form.preferred 76 << " ssl_valid: " << form.ssl_valid 77 << " date_created: " << form.date_created.ToDoubleT() 78 << " date_synced: " << form.date_synced.ToDoubleT() 79 << " type: " << form.type 80 << " times_used: " << form.times_used 81 << " use additional authentication: " 82 << form.use_additional_authentication 83 << " form_data: " << form.form_data; 84 } 85 86 } // namespace autofill 87