password_form.cc revision 03b57e008b61dfcb1fbad3aea950ae0e001748b0
1227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks// Copyright 2013 The Chromium Authors. All rights reserved. 2227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks// Use of this source code is governed by a BSD-style license that can be 3227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks// found in the LICENSE file. 4227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks 5227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks#include <ostream> 6227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks 7227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks#include "base/strings/string16.h" 8227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks#include "base/strings/utf_string_conversions.h" 9227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks#include "components/autofill/core/common/password_form.h" 10227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks 11227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricksnamespace autofill { 12227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks 13227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin HendricksPasswordForm::PasswordForm() 14227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks : scheme(SCHEME_HTML), 15227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks password_autocomplete_set(true), 16227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks ssl_valid(false), 17227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks preferred(false), 18227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks blacklisted_by_user(false), 19227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks type(TYPE_MANUAL), 20227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks times_used(0), 21227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks use_additional_authentication(false), 22227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks is_zero_click(false) { 23227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks} 24227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks 25227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin HendricksPasswordForm::~PasswordForm() { 26227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks} 27227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks 28227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricksbool PasswordForm::IsPublicSuffixMatch() const { 29227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks return !original_signon_realm.empty(); 30227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks} 31227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks 32227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricksbool PasswordForm::operator==(const PasswordForm& form) const { 33227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks return signon_realm == form.signon_realm && 34227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks origin == form.origin && 35227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks action == form.action && 36227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks submit_element == form.submit_element && 37227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks username_element == form.username_element && 38227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks username_value == form.username_value && 39227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks other_possible_usernames == form.other_possible_usernames && 40227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks password_element == form.password_element && 41227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks password_value == form.password_value && 42227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks password_autocomplete_set == form.password_autocomplete_set && 43227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks new_password_element == form.new_password_element && 44227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks new_password_value == form.new_password_value && 45227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks ssl_valid == form.ssl_valid && 46227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks preferred == form.preferred && 47227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks date_created == form.date_created && 48227b47625d7482b5b47ad0e4c70ce0a246236adeBenjamin Hendricks date_synced == form.date_synced && 49 blacklisted_by_user == form.blacklisted_by_user && 50 type == form.type && 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; 58} 59 60bool PasswordForm::operator!=(const PasswordForm& form) const { 61 return !operator==(form); 62} 63 64std::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; 93} 94 95} // namespace autofill 96