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 COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_POPUP_DELEGATE_H_
6#define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_POPUP_DELEGATE_H_
7
8#include "base/strings/string16.h"
9
10namespace autofill {
11
12// An interface for interaction with AutofillPopupController. Will be notified
13// of events by the controller.
14class AutofillPopupDelegate {
15 public:
16  // Called when the Autofill popup is shown.
17  virtual void OnPopupShown() = 0;
18
19  // Called when the Autofill popup is hidden.
20  virtual void OnPopupHidden() = 0;
21
22  // Called when the autofill suggestion indicated by |identifier| has been
23  // temporarily selected (e.g., hovered).
24  virtual void DidSelectSuggestion(const base::string16& value,
25                                   int identifier) = 0;
26
27  // Inform the delegate that a row in the popup has been chosen.
28  virtual void DidAcceptSuggestion(const base::string16& value,
29                                   int identifier) = 0;
30
31  // Delete the described suggestion.
32  virtual void RemoveSuggestion(const base::string16& value,
33                                int identifier) = 0;
34
35  // Informs the delegate that the Autofill previewed form should be cleared.
36  virtual void ClearPreviewedForm() = 0;
37};
38
39}  // namespace autofill
40
41#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_POPUP_DELEGATE_H_
42