Home | History | Annotate | Download | only in common
      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