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

Side by Side Diff: chrome/browser/ui/autofill/data_model_wrapper.cc

Issue 22040002: [Autofill] Add a separate enumeration for HTML field type hints. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add docs Created 7 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/autofill/data_model_wrapper.h" 5 #include "chrome/browser/ui/autofill/data_model_wrapper.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/ui/autofill/autofill_dialog_models.h" 10 #include "chrome/browser/ui/autofill/autofill_dialog_models.h"
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 const std::string app_locale = g_browser_process->GetApplicationLocale(); 116 const std::string app_locale = g_browser_process->GetApplicationLocale();
117 for (size_t j = 0; j < inputs->size(); ++j) { 117 for (size_t j = 0; j < inputs->size(); ++j) {
118 std::vector<string16> values; 118 std::vector<string16> values;
119 profile_->GetMultiInfo( 119 profile_->GetMultiInfo(
120 AutofillType((*inputs)[j].type), app_locale, &values); 120 AutofillType((*inputs)[j].type), app_locale, &values);
121 (*inputs)[j].initial_value = values[variant()]; 121 (*inputs)[j].initial_value = values[variant()];
122 } 122 }
123 } 123 }
124 124
125 void AutofillProfileWrapper::FillFormField(AutofillField* field) const { 125 void AutofillProfileWrapper::FillFormField(AutofillField* field) const {
126 AutofillType field_type = field->Type(); 126 HtmlFieldType html_type = field->html_type();
Evan Stade 2013/08/05 18:47:24 nit: declare as late as possible, not at top of fu
Ilya Sherman 2013/08/06 05:05:39 Hmm, I'm not sure where you'd prefer to see this d
Evan Stade 2013/08/06 18:39:59 I see, I missed that. Can you give the variable a
Ilya Sherman 2013/08/06 23:04:56 Done.
127 HtmlFieldMode html_mode = field->html_mode();
127 128
128 if (field_type.native_type() == CREDIT_CARD_NAME) { 129 if (field->Type().GetEquivalentNativeType() == CREDIT_CARD_NAME) {
129 // Requests for the user's credit card are filled from the billing address, 130 // Requests for the user's credit card are filled from the billing address,
130 // but the AutofillProfile class doesn't know how to fill credit card 131 // but the AutofillProfile class doesn't know how to fill credit card
131 // fields. So, temporarily set the type to the corresponding profile type. 132 // fields. So, temporarily set the type to the corresponding profile type.
132 field->set_heuristic_type(NAME_FULL); 133 field->SetHtmlType(HTML_TYPE_NAME, html_mode);
133 } 134 }
134 135
135 AutofillDataModelWrapper::FillFormField(field); 136 AutofillDataModelWrapper::FillFormField(field);
136 137
137 field->set_heuristic_type(field_type.native_type()); 138 field->SetHtmlType(html_type, html_mode);
138 } 139 }
139 140
140 // AutofillCreditCardWrapper 141 // AutofillCreditCardWrapper
141 142
142 AutofillCreditCardWrapper::AutofillCreditCardWrapper(const CreditCard* card) 143 AutofillCreditCardWrapper::AutofillCreditCardWrapper(const CreditCard* card)
143 : AutofillDataModelWrapper(card, 0), 144 : AutofillDataModelWrapper(card, 0),
144 card_(card) {} 145 card_(card) {}
145 146
146 AutofillCreditCardWrapper::~AutofillCreditCardWrapper() {} 147 AutofillCreditCardWrapper::~AutofillCreditCardWrapper() {}
147 148
148 string16 AutofillCreditCardWrapper::GetInfo(const AutofillType& type) const { 149 string16 AutofillCreditCardWrapper::GetInfo(const AutofillType& type) const {
149 if (type.native_type() == CREDIT_CARD_EXP_MONTH) 150 if (type.GetEquivalentNativeType() == CREDIT_CARD_EXP_MONTH)
150 return MonthComboboxModel::FormatMonth(card_->expiration_month()); 151 return MonthComboboxModel::FormatMonth(card_->expiration_month());
151 152
152 return AutofillDataModelWrapper::GetInfo(type); 153 return AutofillDataModelWrapper::GetInfo(type);
153 } 154 }
154 155
155 gfx::Image AutofillCreditCardWrapper::GetIcon() { 156 gfx::Image AutofillCreditCardWrapper::GetIcon() {
156 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); 157 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
157 return rb.GetImageNamed(CreditCard::IconResourceId(card_->type())); 158 return rb.GetImageNamed(CreditCard::IconResourceId(card_->type()));
158 } 159 }
159 160
(...skipping 26 matching lines...) Expand all
186 187
187 // WalletInstrumentWrapper 188 // WalletInstrumentWrapper
188 189
189 WalletInstrumentWrapper::WalletInstrumentWrapper( 190 WalletInstrumentWrapper::WalletInstrumentWrapper(
190 const wallet::WalletItems::MaskedInstrument* instrument) 191 const wallet::WalletItems::MaskedInstrument* instrument)
191 : instrument_(instrument) {} 192 : instrument_(instrument) {}
192 193
193 WalletInstrumentWrapper::~WalletInstrumentWrapper() {} 194 WalletInstrumentWrapper::~WalletInstrumentWrapper() {}
194 195
195 string16 WalletInstrumentWrapper::GetInfo(const AutofillType& type) const { 196 string16 WalletInstrumentWrapper::GetInfo(const AutofillType& type) const {
196 if (type.native_type() == CREDIT_CARD_EXP_MONTH) 197 if (type.GetEquivalentNativeType() == CREDIT_CARD_EXP_MONTH)
197 return MonthComboboxModel::FormatMonth(instrument_->expiration_month()); 198 return MonthComboboxModel::FormatMonth(instrument_->expiration_month());
198 199
199 return instrument_->GetInfo(type, g_browser_process->GetApplicationLocale()); 200 return instrument_->GetInfo(type, g_browser_process->GetApplicationLocale());
200 } 201 }
201 202
202 gfx::Image WalletInstrumentWrapper::GetIcon() { 203 gfx::Image WalletInstrumentWrapper::GetIcon() {
203 return instrument_->CardIcon(); 204 return instrument_->CardIcon();
204 } 205 }
205 206
206 string16 WalletInstrumentWrapper::GetDisplayText() { 207 string16 WalletInstrumentWrapper::GetDisplayText() {
(...skipping 14 matching lines...) Expand all
221 222
222 FullWalletBillingWrapper::FullWalletBillingWrapper( 223 FullWalletBillingWrapper::FullWalletBillingWrapper(
223 wallet::FullWallet* full_wallet) 224 wallet::FullWallet* full_wallet)
224 : full_wallet_(full_wallet) { 225 : full_wallet_(full_wallet) {
225 DCHECK(full_wallet_); 226 DCHECK(full_wallet_);
226 } 227 }
227 228
228 FullWalletBillingWrapper::~FullWalletBillingWrapper() {} 229 FullWalletBillingWrapper::~FullWalletBillingWrapper() {}
229 230
230 string16 FullWalletBillingWrapper::GetInfo(const AutofillType& type) const { 231 string16 FullWalletBillingWrapper::GetInfo(const AutofillType& type) const {
231 if (type.native_type() == CREDIT_CARD_EXP_MONTH) 232 if (type.GetEquivalentNativeType() == CREDIT_CARD_EXP_MONTH)
232 return MonthComboboxModel::FormatMonth(full_wallet_->expiration_month()); 233 return MonthComboboxModel::FormatMonth(full_wallet_->expiration_month());
233 234
234 if (type.group() == CREDIT_CARD) 235 if (type.group() == CREDIT_CARD)
235 return full_wallet_->GetInfo(type); 236 return full_wallet_->GetInfo(type);
236 237
237 return full_wallet_->billing_address()->GetInfo( 238 return full_wallet_->billing_address()->GetInfo(
238 type, g_browser_process->GetApplicationLocale()); 239 type, g_browser_process->GetApplicationLocale());
239 } 240 }
240 241
241 string16 FullWalletBillingWrapper::GetDisplayText() { 242 string16 FullWalletBillingWrapper::GetDisplayText() {
(...skipping 18 matching lines...) Expand all
260 return full_wallet_->shipping_address()->GetInfo( 261 return full_wallet_->shipping_address()->GetInfo(
261 type, g_browser_process->GetApplicationLocale()); 262 type, g_browser_process->GetApplicationLocale());
262 } 263 }
263 264
264 DetailOutputWrapper::DetailOutputWrapper(const DetailOutputMap& outputs) 265 DetailOutputWrapper::DetailOutputWrapper(const DetailOutputMap& outputs)
265 : outputs_(outputs) {} 266 : outputs_(outputs) {}
266 267
267 DetailOutputWrapper::~DetailOutputWrapper() {} 268 DetailOutputWrapper::~DetailOutputWrapper() {}
268 269
269 base::string16 DetailOutputWrapper::GetInfo(const AutofillType& type) const { 270 base::string16 DetailOutputWrapper::GetInfo(const AutofillType& type) const {
271 NativeFieldType native_type = type.GetEquivalentNativeType();
270 for (DetailOutputMap::const_iterator it = outputs_.begin(); 272 for (DetailOutputMap::const_iterator it = outputs_.begin();
271 it != outputs_.end(); ++it) { 273 it != outputs_.end(); ++it) {
272 if (type.native_type() == it->first->type) 274 if (native_type == AutofillType(it->first->type).GetEquivalentNativeType())
273 return it->second; 275 return it->second;
274 } 276 }
275 return base::string16(); 277 return base::string16();
276 } 278 }
277 279
278 } // namespace autofill 280 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698