OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/autofill/autofill_profile.h" | 5 #include "chrome/browser/autofill/autofill_profile.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
536 const string16 AutofillProfile::PrimaryValue() const { | 536 const string16 AutofillProfile::PrimaryValue() const { |
537 return GetInfo(ADDRESS_HOME_LINE1) + | 537 return GetInfo(ADDRESS_HOME_LINE1) + |
538 GetInfo(ADDRESS_HOME_CITY); | 538 GetInfo(ADDRESS_HOME_CITY); |
539 } | 539 } |
540 | 540 |
541 // Functor used to check for case-insensitive equality of two strings. | 541 // Functor used to check for case-insensitive equality of two strings. |
542 struct CaseInsensitiveStringEquals | 542 struct CaseInsensitiveStringEquals |
543 : public std::binary_function<string16, string16, bool> | 543 : public std::binary_function<string16, string16, bool> |
544 { | 544 { |
545 bool operator()(const string16& x, const string16& y) const { | 545 bool operator()(const string16& x, const string16& y) const { |
546 return std::equal(x.begin(), x.end(), y.begin(), | 546 if (x.size() != y.size()) return false; |
Ilya Sherman
2011/08/17 00:58:55
nit: The size check isn't actually necessary if us
| |
547 base::CaseInsensitiveCompare<string16::value_type>()); | 547 return StringToLowerASCII(x) == StringToLowerASCII(y); |
548 } | 548 } |
549 }; | 549 }; |
550 | 550 |
551 void AutofillProfile::OverwriteWithOrAddTo(const AutofillProfile& profile) { | 551 void AutofillProfile::OverwriteWithOrAddTo(const AutofillProfile& profile) { |
552 FieldTypeSet field_types; | 552 FieldTypeSet field_types; |
553 profile.GetNonEmptyTypes(&field_types); | 553 profile.GetNonEmptyTypes(&field_types); |
554 | 554 |
555 // Only transfer "full" types (e.g. full name) and not fragments (e.g. | 555 // Only transfer "full" types (e.g. full name) and not fragments (e.g. |
556 // first name, last name). | 556 // first name, last name). |
557 CollapseCompoundFieldTypes(&field_types); | 557 CollapseCompoundFieldTypes(&field_types); |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
774 << UTF16ToUTF8(profile.GetInfo(ADDRESS_HOME_STATE)) | 774 << UTF16ToUTF8(profile.GetInfo(ADDRESS_HOME_STATE)) |
775 << " " | 775 << " " |
776 << UTF16ToUTF8(profile.GetInfo(ADDRESS_HOME_ZIP)) | 776 << UTF16ToUTF8(profile.GetInfo(ADDRESS_HOME_ZIP)) |
777 << " " | 777 << " " |
778 << UTF16ToUTF8(profile.GetInfo(ADDRESS_HOME_COUNTRY)) | 778 << UTF16ToUTF8(profile.GetInfo(ADDRESS_HOME_COUNTRY)) |
779 << " " | 779 << " " |
780 << UTF16ToUTF8(MultiString(profile, PHONE_HOME_WHOLE_NUMBER)) | 780 << UTF16ToUTF8(MultiString(profile, PHONE_HOME_WHOLE_NUMBER)) |
781 << " " | 781 << " " |
782 << UTF16ToUTF8(MultiString(profile, PHONE_FAX_WHOLE_NUMBER)); | 782 << UTF16ToUTF8(MultiString(profile, PHONE_FAX_WHOLE_NUMBER)); |
783 } | 783 } |
OLD | NEW |