• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_
6 #define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_
7 
8 #include "ui/gfx/native_widget_types.h"
9 
10 namespace gfx {
11 class Rect;
12 }
13 
14 namespace ui {
15 class KeyEvent;
16 }
17 
18 namespace autofill {
19 
20 class AutofillPopupController;
21 
22 // The interface for creating and controlling a platform-dependent
23 // AutofillPopupView.
24 class AutofillPopupView {
25  public:
26   // The size of the border around the entire results popup, in pixels.
27   static const int kBorderThickness = 1;
28 
29   // The minimum amount of padding between the Autofill name and subtext,
30   // in pixels.
31   static const size_t kNamePadding = 15;
32 
33   // The amount of padding between icons in pixels.
34   static const int kIconPadding = 5;
35 
36   // The amount of padding at the end of the popup in pixels.
37   static const int kEndPadding = 3;
38 
39   // Height of the delete icon in pixels.
40   static const int kDeleteIconHeight = 16;
41 
42   // Width of the delete icon in pixels.
43   static const int kDeleteIconWidth = 16;
44 
45   // Displays the Autofill popup and fills it in with data from the controller.
46   virtual void Show() = 0;
47 
48   // Hides the popup from view. This will cause the popup to be deleted.
49   virtual void Hide() = 0;
50 
51   // Invalidates the given row and redraw it.
52   virtual void InvalidateRow(size_t row) = 0;
53 
54   // Refreshes the position of the popup.
55   virtual void UpdateBoundsAndRedrawPopup() = 0;
56 
57   // Factory function for creating the view.
58   static AutofillPopupView* Create(AutofillPopupController* controller);
59 
60  protected:
~AutofillPopupView()61   virtual ~AutofillPopupView() {}
62 };
63 
64 }  // namespace autofill
65 
66 #endif  // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_POPUP_VIEW_H_
67