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.
5 #ifndef CHROME_BROWSER_UI_GTK_MANAGE_PASSWORDS_BUBBLE_GTK_H_
6 #define CHROME_BROWSER_UI_GTK_MANAGE_PASSWORDS_BUBBLE_GTK_H_
10 #include "base/basictypes.h"
11 #include "chrome/browser/ui/gtk/bubble/bubble_gtk.h"
13 typedef struct _GtkWidget GtkWidget
;
15 class FullscreenController
;
21 class ManagePasswordsBubbleGtk
{
23 // Shows the manage passwords bubble below the |manage_passwords_icon_widget|
24 // with an arrow pointing at the icon. If we are in full screen mode the
25 // bubble will be positioned in the top right of corner of the widget with no
27 static void ShowBubble(content::WebContents
* web_contents
);
29 // Whether the manage passwords bubble is currently showing.
30 static bool IsShowing();
32 // Closes the manage passwords bubble (if there is one).
33 static void CloseBubble();
36 ManagePasswordsBubbleGtk(GtkWidget
* anchor
,
37 content::WebContents
* web_contents
,
38 FullscreenController
* fullscreen_controller
);
40 virtual ~ManagePasswordsBubbleGtk();
42 // Closes the manage password bubble.
45 // Notified when the bubble is destroyed so this instance can be deleted.
46 CHROMEGTK_CALLBACK_0(ManagePasswordsBubbleGtk
, void, OnDestroy
);
48 // Fired when the save button is clicked.
49 CHROMEGTK_CALLBACK_0(ManagePasswordsBubbleGtk
, void, OnSaveButtonClicked
);
51 // Fired when the not now button is clicked.
52 CHROMEGTK_CALLBACK_0(ManagePasswordsBubbleGtk
, void, OnNotNowButtonClicked
);
54 // The WebContents for the page where the manage passwords bubble is
56 content::WebContents
* web_contents_
;
58 // The BubbleGtk object containing the manage passwords bubble's content.
61 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsBubbleGtk
);
64 #endif // CHROME_BROWSER_UI_GTK_MANAGE_PASSWORDS_BUBBLE_GTK_H_