Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1155)

Unified Diff: chrome/browser/gtk/browser_actions_toolbar_gtk.cc

Issue 1107007: Extension context menu refactor (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/gtk/browser_actions_toolbar_gtk.cc
===================================================================
--- chrome/browser/gtk/browser_actions_toolbar_gtk.cc (revision 41960)
+++ chrome/browser/gtk/browser_actions_toolbar_gtk.cc (working copy)
@@ -8,8 +8,8 @@
#include "app/gfx/canvas_paint.h"
#include "chrome/browser/browser.h"
-#include "chrome/browser/extensions/extension_action_context_menu_model.h"
#include "chrome/browser/extensions/extension_browser_event_router.h"
+#include "chrome/browser/extensions/extension_context_menu_model.h"
#include "chrome/browser/extensions/extensions_service.h"
#include "chrome/browser/extensions/image_loading_tracker.h"
#include "chrome/browser/gtk/cairo_cached_surface.h"
@@ -62,7 +62,8 @@
} // namespace
class BrowserActionButton : public NotificationObserver,
- public ImageLoadingTracker::Observer {
+ public ImageLoadingTracker::Observer,
+ public ExtensionContextMenuModel::PopupDelegate {
public:
BrowserActionButton(BrowserActionsToolbarGtk* toolbar,
Extension* extension)
@@ -177,6 +178,12 @@
}
private:
+ // ExtensionContextMenuModel::PopupDelegate implementation.
+ virtual void InspectPopup(ExtensionAction* action) {
+ // TODO(estade): http://crbug.com/24477
+ NOTIMPLEMENTED();
+ }
+
void SetImage(GdkPixbuf* image) {
gtk_button_set_image(GTK_BUTTON(button_.get()),
gtk_image_new_from_pixbuf(image));
@@ -188,18 +195,15 @@
if (event->button.button != 3)
return FALSE;
- // TODO(rafaelw): support inspecting popups.
- if (!action->context_menu_model_.get()) {
- action->context_menu_model_.reset(
- new ExtensionActionContextMenuModel(action->extension_,
- action->extension_->browser_action(),
- action->toolbar_->browser()->profile()->GetPrefs(), NULL));
- }
-
+ action->context_menu_model_.reset(
+ new ExtensionContextMenuModel(
+ action->extension_,
+ action->toolbar_->browser(),
+ action));
action->context_menu_.reset(
new MenuGtk(NULL, action->context_menu_model_.get()));
+ action->context_menu_->Popup(widget, event);
- action->context_menu_->Popup(widget, event);
return TRUE;
}
@@ -275,7 +279,7 @@
// The context menu view and model for this extension action.
scoped_ptr<MenuGtk> context_menu_;
- scoped_ptr<ExtensionActionContextMenuModel> context_menu_model_;
+ scoped_ptr<ExtensionContextMenuModel> context_menu_model_;
friend class BrowserActionsToolbarGtk;
};

Powered by Google App Engine
This is Rietveld 408576698