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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_
6 #define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_
8 #include "ui/gfx/native_widget_types.h"
20 class AutofillPopupController
;
22 // The interface for creating and controlling a platform-dependent
24 class AutofillPopupView
{
26 // The size of the border around the entire results popup, in pixels.
27 static const int kBorderThickness
= 1;
29 // The minimum amount of padding between the Autofill name and subtext,
31 static const size_t kNamePadding
= 15;
33 // The amount of padding between icons in pixels.
34 static const int kIconPadding
= 5;
36 // The amount of padding at the end of the popup in pixels.
37 static const int kEndPadding
= 3;
39 // Height of the delete icon in pixels.
40 static const int kDeleteIconHeight
= 16;
42 // Width of the delete icon in pixels.
43 static const int kDeleteIconWidth
= 16;
45 // Displays the Autofill popup and fills it in with data from the controller.
46 virtual void Show() = 0;
48 // Hides the popup from view. This will cause the popup to be deleted.
49 virtual void Hide() = 0;
51 // Invalidates the given row and redraw it.
52 virtual void InvalidateRow(size_t row
) = 0;
54 // Refreshes the position of the popup.
55 virtual void UpdateBoundsAndRedrawPopup() = 0;
57 // Factory function for creating the view.
58 static AutofillPopupView
* Create(AutofillPopupController
* controller
);
61 virtual ~AutofillPopupView() {}
64 } // namespace autofill
66 #endif // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_