Index: chrome/browser/gtk/info_bubble_gtk.h |
=================================================================== |
--- chrome/browser/gtk/info_bubble_gtk.h (revision 42274) |
+++ chrome/browser/gtk/info_bubble_gtk.h (working copy) |
@@ -61,12 +61,13 @@ |
GtkWidget* content, |
ArrowLocationGtk arrow_location, |
bool match_system_theme, |
+ bool grab_input, |
GtkThemeProvider* provider, |
InfoBubbleGtkDelegate* delegate); |
// Close the bubble if it's open. This will delete the widgets and object, |
// so you shouldn't hold a InfoBubbleGtk pointer after calling Close(). |
- void Close() { CloseInternal(false); } |
+ void Close(); |
// NotificationObserver implementation. |
virtual void Observe(NotificationType type, |
@@ -96,7 +97,8 @@ |
void Init(GtkWindow* toplevel_window, |
const gfx::Rect& rect, |
GtkWidget* content, |
- ArrowLocationGtk arrow_location); |
+ ArrowLocationGtk arrow_location, |
+ bool grab_input); |
// Make the points for our polygon frame, either for fill (the mask), or for |
// when we stroke the border. |
@@ -133,10 +135,6 @@ |
// Sets the delegate. |
void set_delegate(InfoBubbleGtkDelegate* delegate) { delegate_ = delegate; } |
- // Closes the window and notifies the delegate. |closed_by_escape| is true if |
- // the close is the result of pressing escape. |
- void CloseInternal(bool closed_by_escape); |
- |
// Grab (in the X sense) the pointer and keyboard. This is needed to make |
// sure that we have the input focus. |
void GrabPointerAndKeyboard(); |
@@ -235,6 +233,13 @@ |
// do not. |
bool match_system_theme_; |
+ // If true, the popup owns all X input for the duration of its existence. |
+ // This will usually be true, the exception being when inspecting extension |
+ // popups with dev tools. |
+ bool grab_input_; |
+ |
+ bool closed_by_escape_; |
+ |
NotificationRegistrar registrar_; |
DISALLOW_COPY_AND_ASSIGN(InfoBubbleGtk); |