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