OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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/core/browser/autofill_external_delegate.h" | 5 #include "components/autofill/core/browser/autofill_external_delegate.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 return; | 95 return; |
96 | 96 |
97 std::vector<base::string16> values(suggested_values); | 97 std::vector<base::string16> values(suggested_values); |
98 std::vector<base::string16> labels(suggested_labels); | 98 std::vector<base::string16> labels(suggested_labels); |
99 std::vector<base::string16> icons(suggested_icons); | 99 std::vector<base::string16> icons(suggested_icons); |
100 std::vector<int> ids(suggested_unique_ids); | 100 std::vector<int> ids(suggested_unique_ids); |
101 | 101 |
102 // Add or hide warnings as appropriate. | 102 // Add or hide warnings as appropriate. |
103 ApplyAutofillWarnings(&values, &labels, &icons, &ids); | 103 ApplyAutofillWarnings(&values, &labels, &icons, &ids); |
104 | 104 |
| 105 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 106 switches::kEnableWalletCardImport)) { |
| 107 // For now, add a fake masked card. |
| 108 values.push_back(base::ASCIIToUTF16("Visa - 1111")); |
| 109 labels.push_back(base::ASCIIToUTF16("[tap to unlock]")); |
| 110 icons.push_back(base::string16()); |
| 111 ids.push_back(POPUP_ITEM_ID_FAKE_MASKED_INSTRUMENT); |
| 112 } |
| 113 |
105 // Add a separator to go between the values and menu items. | 114 // Add a separator to go between the values and menu items. |
106 values.push_back(base::string16()); | 115 values.push_back(base::string16()); |
107 labels.push_back(base::string16()); | 116 labels.push_back(base::string16()); |
108 icons.push_back(base::string16()); | 117 icons.push_back(base::string16()); |
109 ids.push_back(POPUP_ITEM_ID_SEPARATOR); | 118 ids.push_back(POPUP_ITEM_ID_SEPARATOR); |
110 | 119 |
111 if (manager_->ShouldShowScanCreditCard(query_form_, query_field_)) { | 120 if (manager_->ShouldShowScanCreditCard(query_form_, query_field_)) { |
112 values.push_back(l10n_util::GetStringUTF16(IDS_AUTOFILL_SCAN_CREDIT_CARD)); | 121 values.push_back(l10n_util::GetStringUTF16(IDS_AUTOFILL_SCAN_CREDIT_CARD)); |
113 labels.push_back(base::string16()); | 122 labels.push_back(base::string16()); |
114 icons.push_back(base::string16()); | 123 icons.push_back(base::string16()); |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 base::MessageLoop::current()->PostDelayedTask( | 266 base::MessageLoop::current()->PostDelayedTask( |
258 FROM_HERE, | 267 FROM_HERE, |
259 base::Bind(&AutofillExternalDelegate::PingRenderer, GetWeakPtr()), | 268 base::Bind(&AutofillExternalDelegate::PingRenderer, GetWeakPtr()), |
260 delay); | 269 delay); |
261 #else | 270 #else |
262 NOTREACHED(); | 271 NOTREACHED(); |
263 #endif // defined(OS_MACOSX) && !defined(OS_IOS) | 272 #endif // defined(OS_MACOSX) && !defined(OS_IOS) |
264 } else if (identifier == POPUP_ITEM_ID_SCAN_CREDIT_CARD) { | 273 } else if (identifier == POPUP_ITEM_ID_SCAN_CREDIT_CARD) { |
265 manager_->client()->ScanCreditCard(base::Bind( | 274 manager_->client()->ScanCreditCard(base::Bind( |
266 &AutofillExternalDelegate::OnCreditCardScanned, GetWeakPtr())); | 275 &AutofillExternalDelegate::OnCreditCardScanned, GetWeakPtr())); |
| 276 } else if (identifier == POPUP_ITEM_ID_FAKE_MASKED_INSTRUMENT) { |
| 277 manager_->client()->ShowUnmaskPrompt(); |
267 } else { | 278 } else { |
268 FillAutofillFormData(identifier, false); | 279 FillAutofillFormData(identifier, false); |
269 } | 280 } |
270 | 281 |
271 manager_->client()->HideAutofillPopup(); | 282 manager_->client()->HideAutofillPopup(); |
272 } | 283 } |
273 | 284 |
274 void AutofillExternalDelegate::RemoveSuggestion(const base::string16& value, | 285 void AutofillExternalDelegate::RemoveSuggestion(const base::string16& value, |
275 int identifier) { | 286 int identifier) { |
276 if (identifier > 0) | 287 if (identifier > 0) |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 POPUP_ITEM_ID_DATALIST_ENTRY); | 444 POPUP_ITEM_ID_DATALIST_ENTRY); |
434 } | 445 } |
435 | 446 |
436 #if defined(OS_MACOSX) && !defined(OS_IOS) | 447 #if defined(OS_MACOSX) && !defined(OS_IOS) |
437 void AutofillExternalDelegate::PingRenderer() { | 448 void AutofillExternalDelegate::PingRenderer() { |
438 driver_->PingRenderer(); | 449 driver_->PingRenderer(); |
439 } | 450 } |
440 #endif // defined(OS_MACOSX) && !defined(OS_IOS) | 451 #endif // defined(OS_MACOSX) && !defined(OS_IOS) |
441 | 452 |
442 } // namespace autofill | 453 } // namespace autofill |
OLD | NEW |