| OLD | NEW |
| 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 "components/autofill/browser/wallet/wallet_items.h" | 5 #include "components/autofill/browser/wallet/wallet_items.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/string_number_conversions.h" | 8 #include "base/string_number_conversions.h" |
| 9 #include "base/utf_string_conversions.h" |
| 9 #include "base/values.h" | 10 #include "base/values.h" |
| 10 #include "components/autofill/browser/autofill_type.h" | 11 #include "components/autofill/browser/autofill_type.h" |
| 12 #include "components/autofill/browser/credit_card.h" |
| 11 #include "googleurl/src/gurl.h" | 13 #include "googleurl/src/gurl.h" |
| 12 #include "grit/generated_resources.h" | 14 #include "grit/generated_resources.h" |
| 13 #include "grit/webkit_resources.h" | 15 #include "grit/webkit_resources.h" |
| 14 #include "ui/base/l10n/l10n_util.h" | 16 #include "ui/base/l10n/l10n_util.h" |
| 15 #include "ui/base/resource/resource_bundle.h" | 17 #include "ui/base/resource/resource_bundle.h" |
| 16 #include "ui/gfx/image/image.h" | 18 #include "ui/gfx/image/image.h" |
| 17 | 19 |
| 18 namespace autofill { | 20 namespace autofill { |
| 19 namespace wallet { | 21 namespace wallet { |
| 20 | 22 |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 return !(*this == other); | 222 return !(*this == other); |
| 221 } | 223 } |
| 222 | 224 |
| 223 bool WalletItems::HasRequiredAction(RequiredAction action) const { | 225 bool WalletItems::HasRequiredAction(RequiredAction action) const { |
| 224 DCHECK(ActionAppliesToWalletItems(action)); | 226 DCHECK(ActionAppliesToWalletItems(action)); |
| 225 return std::find(required_actions_.begin(), | 227 return std::find(required_actions_.begin(), |
| 226 required_actions_.end(), | 228 required_actions_.end(), |
| 227 action) != required_actions_.end(); | 229 action) != required_actions_.end(); |
| 228 } | 230 } |
| 229 | 231 |
| 232 const WalletItems::MaskedInstrument* WalletItems::GetInstrumentById( |
| 233 const std::string& object_id) const { |
| 234 if (object_id.empty()) |
| 235 return NULL; |
| 236 |
| 237 for (size_t i = 0; i < instruments_.size(); ++i) { |
| 238 if (instruments_[i]->object_id() == object_id) |
| 239 return instruments_[i]; |
| 240 } |
| 241 |
| 242 return NULL; |
| 243 } |
| 244 |
| 230 string16 WalletItems::MaskedInstrument::DisplayName() const { | 245 string16 WalletItems::MaskedInstrument::DisplayName() const { |
| 231 #if defined(OS_ANDROID) | 246 #if defined(OS_ANDROID) |
| 232 // TODO(aruslan): improve this stub implementation. | 247 // TODO(aruslan): improve this stub implementation. |
| 233 return descriptive_name(); | 248 return descriptive_name(); |
| 234 #else | 249 #else |
| 235 return descriptive_name(); | 250 return descriptive_name(); |
| 236 #endif | 251 #endif |
| 237 } | 252 } |
| 238 | 253 |
| 239 string16 WalletItems::MaskedInstrument::DisplayNameDetail() const { | 254 string16 WalletItems::MaskedInstrument::DisplayNameDetail() const { |
| 240 #if defined(OS_ANDROID) | 255 #if defined(OS_ANDROID) |
| 241 // TODO(aruslan): improve this stub implementation. | 256 // TODO(aruslan): improve this stub implementation. |
| 242 return address().DisplayName(); | 257 return address().DisplayName(); |
| 243 #else | 258 #else |
| 244 return string16(); | 259 return string16(); |
| 245 #endif | 260 #endif |
| 246 } | 261 } |
| 247 | 262 |
| 263 string16 WalletItems::MaskedInstrument::TypeAndLastFourDigits() const { |
| 264 string16 display_type; |
| 265 |
| 266 if (type_ == AMEX) |
| 267 display_type = CreditCard::TypeForDisplay(kAmericanExpressCard); |
| 268 else if (type_ == DISCOVER) |
| 269 display_type = CreditCard::TypeForDisplay(kDiscoverCard); |
| 270 else if (type_ == MASTER_CARD) |
| 271 display_type = CreditCard::TypeForDisplay(kMasterCard); |
| 272 else if (type_ == SOLO) |
| 273 display_type = CreditCard::TypeForDisplay(kSoloCard); |
| 274 else if (type_ == VISA) |
| 275 display_type = CreditCard::TypeForDisplay(kVisaCard); |
| 276 else |
| 277 display_type = CreditCard::TypeForDisplay(kGenericCard); |
| 278 |
| 279 // TODO(dbeam): i18n. |
| 280 return display_type + ASCIIToUTF16(" - ") + last_four_digits(); |
| 281 } |
| 282 |
| 248 const gfx::Image& WalletItems::MaskedInstrument::CardIcon() const { | 283 const gfx::Image& WalletItems::MaskedInstrument::CardIcon() const { |
| 249 int idr = 0; | 284 int idr = 0; |
| 250 switch (type_) { | 285 switch (type_) { |
| 251 case AMEX: | 286 case AMEX: |
| 252 idr = IDR_AUTOFILL_CC_AMEX; | 287 idr = IDR_AUTOFILL_CC_AMEX; |
| 253 break; | 288 break; |
| 254 | 289 |
| 255 case DISCOVER: | 290 case DISCOVER: |
| 256 idr = IDR_AUTOFILL_CC_DISCOVER; | 291 idr = IDR_AUTOFILL_CC_DISCOVER; |
| 257 break; | 292 break; |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 VectorsAreEqual<LegalDocument>(legal_documents(), | 520 VectorsAreEqual<LegalDocument>(legal_documents(), |
| 486 other.legal_documents()); | 521 other.legal_documents()); |
| 487 } | 522 } |
| 488 | 523 |
| 489 bool WalletItems::operator!=(const WalletItems& other) const { | 524 bool WalletItems::operator!=(const WalletItems& other) const { |
| 490 return !(*this == other); | 525 return !(*this == other); |
| 491 } | 526 } |
| 492 | 527 |
| 493 } // namespace wallet | 528 } // namespace wallet |
| 494 } // namespace autofill | 529 } // namespace autofill |
| OLD | NEW |