autofill_popup_delegate.h revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
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 content {
11class KeyboardListener;
12}
13
14namespace autofill {
15
16// An interface for interaction with AutofillPopupController. Will be notified
17// of events by the controller.
18class AutofillPopupDelegate {
19 public:
20  // Called when the Autofill popup is shown. |listener| may be used to pass
21  // keyboard events to the popup.
22  virtual void OnPopupShown(content::KeyboardListener* listener) = 0;
23
24  // Called when the Autofill popup is hidden. |listener| must be unregistered
25  // if it was registered in OnPopupShown.
26  virtual void OnPopupHidden(content::KeyboardListener* listener) = 0;
27
28  // Called when the autofill suggestion indicated by |identifier| has been
29  // temporarily selected (e.g., hovered).
30  virtual void DidSelectSuggestion(int identifier) = 0;
31
32  // Inform the delegate that a row in the popup has been chosen.
33  virtual void DidAcceptSuggestion(const base::string16& value,
34                                   int identifier) = 0;
35
36  // Delete the described suggestion.
37  virtual void RemoveSuggestion(const base::string16& value,
38                                int identifier) = 0;
39
40  // Informs the delegate that the Autofill previewed form should be cleared.
41  virtual void ClearPreviewedForm() = 0;
42};
43
44}  // namespace autofill
45
46#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_POPUP_DELEGATE_H_
47