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 "chrome/browser/ui/autofill/autofill_dialog_controller_impl.h" | 5 #include "chrome/browser/ui/autofill/autofill_dialog_controller_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 std::vector<base::string16> split_name; | 333 std::vector<base::string16> split_name; |
334 base::SplitString(whitespace_collapsed_name, ' ', &split_name); | 334 base::SplitString(whitespace_collapsed_name, ' ', &split_name); |
335 return split_name.size() >= 2; | 335 return split_name.size() >= 2; |
336 } | 336 } |
337 | 337 |
338 } // namespace | 338 } // namespace |
339 | 339 |
340 AutofillDialogController::~AutofillDialogController() {} | 340 AutofillDialogController::~AutofillDialogController() {} |
341 | 341 |
342 AutofillDialogControllerImpl::~AutofillDialogControllerImpl() { | 342 AutofillDialogControllerImpl::~AutofillDialogControllerImpl() { |
343 if (popup_controller_) | 343 if (popup_controller_.get()) |
344 popup_controller_->Hide(); | 344 popup_controller_->Hide(); |
345 | 345 |
346 GetMetricLogger().LogDialogInitialUserState( | 346 GetMetricLogger().LogDialogInitialUserState( |
347 GetDialogType(), initial_user_state_); | 347 GetDialogType(), initial_user_state_); |
348 } | 348 } |
349 | 349 |
350 // static | 350 // static |
351 base::WeakPtr<AutofillDialogControllerImpl> | 351 base::WeakPtr<AutofillDialogControllerImpl> |
352 AutofillDialogControllerImpl::Create( | 352 AutofillDialogControllerImpl::Create( |
353 content::WebContents* contents, | 353 content::WebContents* contents, |
(...skipping 938 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1292 const string16& field_contents, | 1292 const string16& field_contents, |
1293 bool was_edit) { | 1293 bool was_edit) { |
1294 // If the field is edited down to empty, don't show a popup. | 1294 // If the field is edited down to empty, don't show a popup. |
1295 if (was_edit && field_contents.empty()) { | 1295 if (was_edit && field_contents.empty()) { |
1296 HidePopup(); | 1296 HidePopup(); |
1297 return; | 1297 return; |
1298 } | 1298 } |
1299 | 1299 |
1300 // If the user clicks while the popup is already showing, be sure to hide | 1300 // If the user clicks while the popup is already showing, be sure to hide |
1301 // it. | 1301 // it. |
1302 if (!was_edit && popup_controller_) { | 1302 if (!was_edit && popup_controller_.get()) { |
1303 HidePopup(); | 1303 HidePopup(); |
1304 return; | 1304 return; |
1305 } | 1305 } |
1306 | 1306 |
1307 std::vector<string16> popup_values, popup_labels, popup_icons; | 1307 std::vector<string16> popup_values, popup_labels, popup_icons; |
1308 if (IsCreditCardType(input->type)) { | 1308 if (IsCreditCardType(input->type)) { |
1309 GetManager()->GetCreditCardSuggestions(input->type, | 1309 GetManager()->GetCreditCardSuggestions(input->type, |
1310 field_contents, | 1310 field_contents, |
1311 &popup_values, | 1311 &popup_values, |
1312 &popup_labels, | 1312 &popup_labels, |
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1821 if (view_) { | 1821 if (view_) { |
1822 view_->UpdateAccountChooser(); | 1822 view_->UpdateAccountChooser(); |
1823 view_->UpdateNotificationArea(); | 1823 view_->UpdateNotificationArea(); |
1824 } | 1824 } |
1825 } | 1825 } |
1826 | 1826 |
1827 //////////////////////////////////////////////////////////////////////////////// | 1827 //////////////////////////////////////////////////////////////////////////////// |
1828 | 1828 |
1829 bool AutofillDialogControllerImpl::HandleKeyPressEventInInput( | 1829 bool AutofillDialogControllerImpl::HandleKeyPressEventInInput( |
1830 const content::NativeWebKeyboardEvent& event) { | 1830 const content::NativeWebKeyboardEvent& event) { |
1831 if (popup_controller_) | 1831 if (popup_controller_.get()) |
1832 return popup_controller_->HandleKeyPressEvent(event); | 1832 return popup_controller_->HandleKeyPressEvent(event); |
1833 | 1833 |
1834 return false; | 1834 return false; |
1835 } | 1835 } |
1836 | 1836 |
1837 bool AutofillDialogControllerImpl::RequestingCreditCardInfo() const { | 1837 bool AutofillDialogControllerImpl::RequestingCreditCardInfo() const { |
1838 DCHECK_GT(form_structure_.field_count(), 0U); | 1838 DCHECK_GT(form_structure_.field_count(), 0U); |
1839 | 1839 |
1840 for (size_t i = 0; i < form_structure_.field_count(); ++i) { | 1840 for (size_t i = 0; i < form_structure_.field_count(); ++i) { |
1841 if (IsCreditCardType(form_structure_.field(i)->type())) | 1841 if (IsCreditCardType(form_structure_.field(i)->type())) |
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2365 DCHECK_EQ(&model, &suggested_shipping_); | 2365 DCHECK_EQ(&model, &suggested_shipping_); |
2366 return SECTION_SHIPPING; | 2366 return SECTION_SHIPPING; |
2367 } | 2367 } |
2368 | 2368 |
2369 DetailInputs* AutofillDialogControllerImpl::MutableRequestedFieldsForSection( | 2369 DetailInputs* AutofillDialogControllerImpl::MutableRequestedFieldsForSection( |
2370 DialogSection section) { | 2370 DialogSection section) { |
2371 return const_cast<DetailInputs*>(&RequestedFieldsForSection(section)); | 2371 return const_cast<DetailInputs*>(&RequestedFieldsForSection(section)); |
2372 } | 2372 } |
2373 | 2373 |
2374 void AutofillDialogControllerImpl::HidePopup() { | 2374 void AutofillDialogControllerImpl::HidePopup() { |
2375 if (popup_controller_) | 2375 if (popup_controller_.get()) |
2376 popup_controller_->Hide(); | 2376 popup_controller_->Hide(); |
2377 input_showing_popup_ = NULL; | 2377 input_showing_popup_ = NULL; |
2378 } | 2378 } |
2379 | 2379 |
2380 bool AutofillDialogControllerImpl::IsEditingExistingData( | 2380 bool AutofillDialogControllerImpl::IsEditingExistingData( |
2381 DialogSection section) const { | 2381 DialogSection section) const { |
2382 return section_editing_state_.count(section) > 0; | 2382 return section_editing_state_.count(section) > 0; |
2383 } | 2383 } |
2384 | 2384 |
2385 void AutofillDialogControllerImpl::SetEditingExistingData( | 2385 void AutofillDialogControllerImpl::SetEditingExistingData( |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2915 AutofillMetrics::DIALOG_USER_SIGNED_IN_NO_WALLET_NO_AUTOFILL; | 2915 AutofillMetrics::DIALOG_USER_SIGNED_IN_NO_WALLET_NO_AUTOFILL; |
2916 } | 2916 } |
2917 | 2917 |
2918 // Has Wallet items. | 2918 // Has Wallet items. |
2919 return has_autofill_profiles ? | 2919 return has_autofill_profiles ? |
2920 AutofillMetrics::DIALOG_USER_SIGNED_IN_HAS_WALLET_HAS_AUTOFILL : | 2920 AutofillMetrics::DIALOG_USER_SIGNED_IN_HAS_WALLET_HAS_AUTOFILL : |
2921 AutofillMetrics::DIALOG_USER_SIGNED_IN_HAS_WALLET_NO_AUTOFILL; | 2921 AutofillMetrics::DIALOG_USER_SIGNED_IN_HAS_WALLET_NO_AUTOFILL; |
2922 } | 2922 } |
2923 | 2923 |
2924 } // namespace autofill | 2924 } // namespace autofill |
OLD | NEW |