Disable TabDragController tests that fail with a real compositor.
[chromium-blink-merge.git] / chrome / browser / ui / gtk / manage_passwords_bubble_gtk.h
blobae8af170dbba2faf2fabc2446008525c3995f07f
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_
8 #include <gtk/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;
17 namespace content {
18 class WebContents;
21 class ManagePasswordsBubbleGtk {
22 public:
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
26 // arrow.
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();
35 private:
36 ManagePasswordsBubbleGtk(GtkWidget* anchor,
37 content::WebContents* web_contents,
38 FullscreenController* fullscreen_controller);
40 virtual ~ManagePasswordsBubbleGtk();
42 // Closes the manage password bubble.
43 void Close();
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
55 // displayed.
56 content::WebContents* web_contents_;
58 // The BubbleGtk object containing the manage passwords bubble's content.
59 BubbleGtk* bubble_;
61 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsBubbleGtk);
64 #endif // CHROME_BROWSER_UI_GTK_MANAGE_PASSWORDS_BUBBLE_GTK_H_