Index: chrome/browser/ui/views/extensions/media_galleries_dialog_views.h |
diff --git a/chrome/browser/ui/views/extensions/media_galleries_dialog_views.h b/chrome/browser/ui/views/extensions/media_galleries_dialog_views.h |
index 28cd096808cc1bde64fa5bcaa3f906d0c0d92098..ca404969f03cddad0279b7f642b478faf7571e3b 100644 |
--- a/chrome/browser/ui/views/extensions/media_galleries_dialog_views.h |
+++ b/chrome/browser/ui/views/extensions/media_galleries_dialog_views.h |
@@ -9,19 +9,28 @@ |
#include "base/compiler_specific.h" |
#include "chrome/browser/media_galleries/media_galleries_dialog_controller.h" |
+#include "ui/views/context_menu_controller.h" |
#include "ui/views/controls/button/button.h" |
#include "ui/views/window/dialog_delegate.h" |
+namespace ui { |
+class MenuModel; |
+} |
+ |
namespace views { |
class Checkbox; |
class LabelButton; |
+class MenuRunner; |
class Widget; |
} |
+class GalleryContextMenuModel; |
+ |
// The media galleries configuration view for Views. It will immediately show |
// upon construction. |
class MediaGalleriesDialogViews : public MediaGalleriesDialog, |
public views::ButtonListener, |
+ public views::ContextMenuController, |
public views::DialogDelegate { |
public: |
explicit MediaGalleriesDialogViews( |
@@ -51,6 +60,14 @@ class MediaGalleriesDialogViews : public MediaGalleriesDialog, |
virtual void ButtonPressed(views::Button* sender, |
const ui::Event& event) OVERRIDE; |
+ // views::ContextMenuController implementation: |
+ virtual void ShowContextMenuForView(views::View* source, |
+ const gfx::Point& point, |
+ ui::MenuSourceType source_type) OVERRIDE; |
+ |
+ // Command from the context menu to forget a gallery. |
+ void DidForgetGallery(MediaGalleryPrefId id); |
+ |
private: |
typedef std::map<MediaGalleryPrefId, views::Checkbox*> CheckboxMap; |
typedef std::map<views::Checkbox*, MediaGalleryPrefInfo> NewCheckboxMap; |
@@ -64,6 +81,10 @@ class MediaGalleriesDialogViews : public MediaGalleriesDialog, |
views::View* container, |
int trailing_vertical_space); |
+ void ShowContextMenu(const gfx::Point& point, |
+ ui::MenuSourceType source_type, |
+ MediaGalleryPrefId id); |
+ |
MediaGalleriesDialogController* controller_; |
// The containing window (a weak pointer). |
@@ -89,6 +110,10 @@ class MediaGalleriesDialogViews : public MediaGalleriesDialog, |
// True if the user has pressed accept. |
bool accepted_; |
+ GalleryContextMenuModel* gallery_menu_model_; |
+ scoped_ptr<ui::MenuModel> context_menu_model_; |
+ scoped_ptr<views::MenuRunner> context_menu_runner_; |
+ |
DISALLOW_COPY_AND_ASSIGN(MediaGalleriesDialogViews); |
}; |