Home | History | Annotate | Download | only in autofill
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_H_
      6 #define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_H_
      7 
      8 #include <string>
      9 
     10 #include "base/callback.h"
     11 #include "base/memory/weak_ptr.h"
     12 #include "base/strings/string16.h"
     13 #include "chrome/browser/ui/autofill/autofill_dialog_types.h"
     14 #include "components/autofill/core/browser/autofill_client.h"
     15 #include "components/autofill/core/browser/form_structure.h"
     16 
     17 class GURL;
     18 class PrefRegistrySimple;
     19 
     20 namespace content {
     21 class WebContents;
     22 }
     23 
     24 namespace user_prefs {
     25 class PrefRegistrySyncable;
     26 }
     27 
     28 namespace autofill {
     29 
     30 // This class defines the interface to the controller for TabAutofillManager.
     31 class AutofillDialogController {
     32  public:
     33   virtual ~AutofillDialogController();
     34 
     35   // Creates the AutofillDialogController.
     36   static base::WeakPtr<AutofillDialogController> Create(
     37       content::WebContents* contents,
     38       const FormData& form_structure,
     39       const GURL& source_url,
     40       const AutofillClient::ResultCallback& callback);
     41 
     42   // Registers device preferences.
     43   static void RegisterPrefs(PrefRegistrySimple* registry);
     44 
     45   // Registers profile preferences.
     46   static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
     47 
     48   // Shows the Autofill dialog.
     49   virtual void Show() = 0;
     50 
     51   // Hides the Autofill dialog.
     52   virtual void Hide() = 0;
     53 
     54   // Called when the tab hosting this dialog is activated by a user gesture.
     55   // Used to trigger a refresh of the user's Wallet data.
     56   virtual void TabActivated() = 0;
     57 };
     58 
     59 }  // namespace autofill
     60 
     61 #endif  // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_CONTROLLER_H_
     62