Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(129)

Side by Side Diff: chrome/browser/autofill/contact_info.cc

Issue 2818033: AutoFill: Aggregate profile data. Remove the AutoFill InfoBar. (Closed)
Patch Set: Comment. Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/autofill/contact_info.h ('k') | chrome/browser/autofill/credit_card.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/contact_info.h" 5 #include "chrome/browser/autofill/contact_info.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "chrome/browser/autofill/autofill_type.h" 9 #include "chrome/browser/autofill/autofill_type.h"
10 #include "chrome/browser/autofill/field_types.h" 10 #include "chrome/browser/autofill/field_types.h"
(...skipping 10 matching lines...) Expand all
21 21
22 static const size_t kAutoFillContactInfoLength = 22 static const size_t kAutoFillContactInfoLength =
23 arraysize(kAutoFillContactInfoTypes); 23 arraysize(kAutoFillContactInfoTypes);
24 24
25 FormGroup* ContactInfo::Clone() const { 25 FormGroup* ContactInfo::Clone() const {
26 return new ContactInfo(*this); 26 return new ContactInfo(*this);
27 } 27 }
28 28
29 void ContactInfo::GetPossibleFieldTypes(const string16& text, 29 void ContactInfo::GetPossibleFieldTypes(const string16& text,
30 FieldTypeSet* possible_types) const { 30 FieldTypeSet* possible_types) const {
31 DCHECK(possible_types);
32
31 if (IsFirstName(text)) 33 if (IsFirstName(text))
32 possible_types->insert(NAME_FIRST); 34 possible_types->insert(NAME_FIRST);
33 35
34 if (IsMiddleName(text)) 36 if (IsMiddleName(text))
35 possible_types->insert(NAME_MIDDLE); 37 possible_types->insert(NAME_MIDDLE);
36 38
37 if (IsLastName(text)) 39 if (IsLastName(text))
38 possible_types->insert(NAME_LAST); 40 possible_types->insert(NAME_LAST);
39 41
40 if (IsMiddleInitial(text)) 42 if (IsMiddleInitial(text))
41 possible_types->insert(NAME_MIDDLE_INITIAL); 43 possible_types->insert(NAME_MIDDLE_INITIAL);
42 44
43 if (IsSuffix(text)) 45 if (IsSuffix(text))
44 possible_types->insert(NAME_SUFFIX); 46 possible_types->insert(NAME_SUFFIX);
45 47
46 if (IsFullName(text)) 48 if (IsFullName(text))
47 possible_types->insert(NAME_FULL); 49 possible_types->insert(NAME_FULL);
48 50
49 if (email_ == text) 51 if (email_ == text)
50 possible_types->insert(EMAIL_ADDRESS); 52 possible_types->insert(EMAIL_ADDRESS);
51 53
52 if (company_name_ == text) 54 if (company_name_ == text)
53 possible_types->insert(COMPANY_NAME); 55 possible_types->insert(COMPANY_NAME);
54 } 56 }
55 57
58 void ContactInfo::GetAvailableFieldTypes(FieldTypeSet* available_types) const {
59 DCHECK(available_types);
60
61 if (!first().empty())
62 available_types->insert(NAME_FIRST);
63
64 if (!middle().empty())
65 available_types->insert(NAME_MIDDLE);
66
67 if (!last().empty())
68 available_types->insert(NAME_LAST);
69
70 if (!MiddleInitial().empty())
71 available_types->insert(NAME_MIDDLE_INITIAL);
72
73 if (!FullName().empty())
74 available_types->insert(NAME_FULL);
75
76 if (!suffix().empty())
77 available_types->insert(NAME_SUFFIX);
78
79 if (!email().empty())
80 available_types->insert(EMAIL_ADDRESS);
81
82 if (!company_name().empty())
83 available_types->insert(COMPANY_NAME);
84 }
85
56 void ContactInfo::FindInfoMatches(const AutoFillType& type, 86 void ContactInfo::FindInfoMatches(const AutoFillType& type,
57 const string16& info, 87 const string16& info,
58 std::vector<string16>* matched_text) const { 88 std::vector<string16>* matched_text) const {
59 if (matched_text == NULL) { 89 DCHECK(matched_text);
60 DLOG(ERROR) << "NULL matched vector passed in";
61 return;
62 }
63 90
64 string16 match; 91 string16 match;
65 if (type.field_type() == UNKNOWN_TYPE) { 92 if (type.field_type() == UNKNOWN_TYPE) {
66 for (size_t i = 0; i < kAutoFillContactInfoLength; i++) { 93 for (size_t i = 0; i < kAutoFillContactInfoLength; i++) {
67 if (FindInfoMatchesHelper(kAutoFillContactInfoTypes[i], info, &match)) 94 if (FindInfoMatchesHelper(kAutoFillContactInfoTypes[i], info, &match))
68 matched_text->push_back(match); 95 matched_text->push_back(match);
69 } 96 }
70 } else if (FindInfoMatchesHelper(type.field_type(), info, &match)) { 97 } else if (FindInfoMatchesHelper(type.field_type(), info, &match)) {
71 matched_text->push_back(match); 98 matched_text->push_back(match);
72 } 99 }
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 SetLast(full_name_tokens.back()); 403 SetLast(full_name_tokens.back());
377 if (full_name_tokens.size() > 2) { 404 if (full_name_tokens.size() > 2) {
378 full_name_tokens.erase(full_name_tokens.begin()); 405 full_name_tokens.erase(full_name_tokens.begin());
379 full_name_tokens.pop_back(); 406 full_name_tokens.pop_back();
380 SetMiddle(JoinString(full_name_tokens, ' ')); 407 SetMiddle(JoinString(full_name_tokens, ' '));
381 } 408 }
382 } 409 }
383 } 410 }
384 } 411 }
385 412
OLDNEW
« no previous file with comments | « chrome/browser/autofill/contact_info.h ('k') | chrome/browser/autofill/credit_card.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698