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 #ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_IMPL_H_ | 5 #ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_IMPL_H_ |
6 #define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_IMPL_H_ | 6 #define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_IMPL_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 // Shows a new credit card saved bubble and passes ownership of |new_card| and | 275 // Shows a new credit card saved bubble and passes ownership of |new_card| and |
276 // |billing_profile| to the bubble. Exposed for testing. | 276 // |billing_profile| to the bubble. Exposed for testing. |
277 virtual void ShowNewCreditCardBubble( | 277 virtual void ShowNewCreditCardBubble( |
278 scoped_ptr<CreditCard> new_card, | 278 scoped_ptr<CreditCard> new_card, |
279 scoped_ptr<AutofillProfile> billing_profile); | 279 scoped_ptr<AutofillProfile> billing_profile); |
280 | 280 |
281 // Called when there's nothing left to accept, update, save, or authenticate | 281 // Called when there's nothing left to accept, update, save, or authenticate |
282 // in order to fill |form_structure_| and pass data back to the invoking page. | 282 // in order to fill |form_structure_| and pass data back to the invoking page. |
283 void DoFinishSubmit(); | 283 void DoFinishSubmit(); |
284 | 284 |
| 285 // Delays enabling submit button for a short period of time. Exposed for |
| 286 // testing. |
| 287 virtual void SubmitButtonDelayBegin(); |
| 288 |
| 289 // Ends the delay for enabling the submit button. Called only from tests. |
| 290 // Without this method, the tests would have to wait for the delay timer to |
| 291 // finish, which would be flaky. |
| 292 void SubmitButtonDelayEndForTesting(); |
| 293 |
285 private: | 294 private: |
286 enum DialogSignedInState { | 295 enum DialogSignedInState { |
287 REQUIRES_RESPONSE, | 296 REQUIRES_RESPONSE, |
288 REQUIRES_SIGN_IN, | 297 REQUIRES_SIGN_IN, |
289 REQUIRES_PASSIVE_SIGN_IN, | 298 REQUIRES_PASSIVE_SIGN_IN, |
290 SIGNED_IN, | 299 SIGNED_IN, |
291 SIGN_IN_DISABLED, | 300 SIGN_IN_DISABLED, |
292 }; | 301 }; |
293 | 302 |
294 // Whether or not the current request wants credit info back. | 303 // Whether or not the current request wants credit info back. |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 void LogDialogLatencyToShow(); | 543 void LogDialogLatencyToShow(); |
535 | 544 |
536 // Returns the metric corresponding to the user's initial state when | 545 // Returns the metric corresponding to the user's initial state when |
537 // interacting with this dialog. | 546 // interacting with this dialog. |
538 AutofillMetrics::DialogInitialUserStateMetric GetInitialUserState() const; | 547 AutofillMetrics::DialogInitialUserStateMetric GetInitialUserState() const; |
539 | 548 |
540 // Shows an educational bubble if a new credit card was saved or the first few | 549 // Shows an educational bubble if a new credit card was saved or the first few |
541 // times an Online Wallet fronting card was generated. | 550 // times an Online Wallet fronting card was generated. |
542 void MaybeShowCreditCardBubble(); | 551 void MaybeShowCreditCardBubble(); |
543 | 552 |
| 553 // Called when the delay for enabling the submit button ends. |
| 554 void OnSubmitButtonDelayEnd(); |
| 555 |
544 // The |profile| for |contents_|. | 556 // The |profile| for |contents_|. |
545 Profile* const profile_; | 557 Profile* const profile_; |
546 | 558 |
547 // For logging UMA metrics. | 559 // For logging UMA metrics. |
548 const AutofillMetrics metric_logger_; | 560 const AutofillMetrics metric_logger_; |
549 base::Time dialog_shown_timestamp_; | 561 base::Time dialog_shown_timestamp_; |
550 AutofillMetrics::DialogInitialUserStateMetric initial_user_state_; | 562 AutofillMetrics::DialogInitialUserStateMetric initial_user_state_; |
551 | 563 |
552 FormStructure form_structure_; | 564 FormStructure form_structure_; |
553 | 565 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 | 697 |
686 // The Google Wallet cookie value, set as an authorization header on requests | 698 // The Google Wallet cookie value, set as an authorization header on requests |
687 // to Wallet. | 699 // to Wallet. |
688 std::string wallet_cookie_value_; | 700 std::string wallet_cookie_value_; |
689 | 701 |
690 // Populated if the user chose to save a newly inputted credit card. Used to | 702 // Populated if the user chose to save a newly inputted credit card. Used to |
691 // show a bubble as the dialog closes to confirm a user's new card info was | 703 // show a bubble as the dialog closes to confirm a user's new card info was |
692 // saved. Never populated while incognito (as nothing's actually saved). | 704 // saved. Never populated while incognito (as nothing's actually saved). |
693 scoped_ptr<CreditCard> newly_saved_card_; | 705 scoped_ptr<CreditCard> newly_saved_card_; |
694 | 706 |
| 707 // The timer that delays enabling submit button for a short period of time on |
| 708 // startup. |
| 709 base::OneShotTimer<AutofillDialogControllerImpl> submit_button_delay_timer_; |
| 710 |
695 DISALLOW_COPY_AND_ASSIGN(AutofillDialogControllerImpl); | 711 DISALLOW_COPY_AND_ASSIGN(AutofillDialogControllerImpl); |
696 }; | 712 }; |
697 | 713 |
698 } // namespace autofill | 714 } // namespace autofill |
699 | 715 |
700 #endif // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_IMPL_H_ | 716 #endif // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_IMPL_H_ |
OLD | NEW |