diff options
Diffstat (limited to 'chrome/browser/gtk/location_bar_view_gtk.h')
-rw-r--r-- | chrome/browser/gtk/location_bar_view_gtk.h | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/chrome/browser/gtk/location_bar_view_gtk.h b/chrome/browser/gtk/location_bar_view_gtk.h index 7f40709..078ebd60 100644 --- a/chrome/browser/gtk/location_bar_view_gtk.h +++ b/chrome/browser/gtk/location_bar_view_gtk.h @@ -16,6 +16,7 @@ #include "chrome/browser/autocomplete/autocomplete_edit.h" #include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h" #include "chrome/browser/extensions/image_loading_tracker.h" +#include "chrome/browser/gtk/menu_gtk.h" #include "chrome/browser/location_bar.h" #include "chrome/common/notification_observer.h" #include "chrome/common/notification_registrar.h" @@ -29,6 +30,7 @@ class BubblePositioner; class Browser; class CommandUpdater; class ExtensionAction; +class ExtensionActionContextMenuModel; class GtkThemeProvider; class Profile; class SkBitmap; @@ -105,7 +107,8 @@ class LocationBarViewGtk : public AutocompleteEditController, static const GdkColor kBackgroundColorByLevel[3]; private: - class PageActionViewGtk : public ImageLoadingTracker::Observer { + class PageActionViewGtk : public ImageLoadingTracker::Observer, + public MenuGtk::Delegate { public: PageActionViewGtk( LocationBarViewGtk* owner, Profile* profile, @@ -130,11 +133,19 @@ class LocationBarViewGtk : public AutocompleteEditController, void TestActivatePageAction(); private: - static gboolean OnButtonPressed(GtkWidget* sender, GdkEventButton* event, - PageActionViewGtk* page_action_view); - static gboolean OnExposeEvent(GtkWidget* widget, - GdkEventExpose* event, - PageActionViewGtk* page_action_view); + static gboolean OnButtonPressedThunk(GtkWidget* sender, + GdkEvent* event, + PageActionViewGtk* page_action_view) { + return page_action_view->OnButtonPressed(sender, event); + } + gboolean OnButtonPressed(GtkWidget* sender, GdkEvent* event); + + static gboolean OnExposeEventThunk(GtkWidget* widget, + GdkEventExpose* event, + PageActionViewGtk* page_action_view) { + return page_action_view->OnExposeEvent(widget, event); + } + gboolean OnExposeEvent(GtkWidget* widget, GdkEventExpose* event); // The location bar view that owns us. LocationBarViewGtk* owner_; @@ -170,6 +181,10 @@ class LocationBarViewGtk : public AutocompleteEditController, // The URL we are currently showing the icon for. GURL current_url_; + // The context menu view and model for this extension action. + scoped_ptr<MenuGtk> context_menu_; + scoped_ptr<ExtensionActionContextMenuModel> context_menu_model_; + DISALLOW_COPY_AND_ASSIGN(PageActionViewGtk); }; friend class PageActionViewGtk; |