diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-15 00:10:10 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-15 00:10:10 +0000 |
commit | 521b248f7ce021f99932c9150461744b3edf3067 (patch) | |
tree | 150e68cc2479305324d14161ef1c11c719c3ab4d /ui/base/models | |
parent | 80ece4b0ee41cba5e00ab7d582c4d1373e982e1c (diff) | |
download | chromium_src-521b248f7ce021f99932c9150461744b3edf3067.zip chromium_src-521b248f7ce021f99932c9150461744b3edf3067.tar.gz chromium_src-521b248f7ce021f99932c9150461744b3edf3067.tar.bz2 |
Allow printing/saving a plugin through right click menu, even if it's in a frame or an embed element.
BUG=50285
Review URL: http://codereview.chromium.org/6142013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71519 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base/models')
-rw-r--r-- | ui/base/models/menu_model.h | 3 | ||||
-rw-r--r-- | ui/base/models/simple_menu_model.cc | 8 | ||||
-rw-r--r-- | ui/base/models/simple_menu_model.h | 4 |
3 files changed, 15 insertions, 0 deletions
diff --git a/ui/base/models/menu_model.h b/ui/base/models/menu_model.h index 108f3b0..208186d 100644 --- a/ui/base/models/menu_model.h +++ b/ui/base/models/menu_model.h @@ -113,6 +113,9 @@ class MenuModel { // Called when the menu is about to be shown. virtual void MenuWillShow() {} + // Called when the menu has been closed. + virtual void MenuClosed() {} + // Retrieves the model and index that contains a specific command id. Returns // true if an item with the specified command id is found. |model| is inout, // and specifies the model to start searching from. diff --git a/ui/base/models/simple_menu_model.cc b/ui/base/models/simple_menu_model.cc index 4552593..7094a70 100644 --- a/ui/base/models/simple_menu_model.cc +++ b/ui/base/models/simple_menu_model.cc @@ -45,6 +45,9 @@ bool SimpleMenuModel::Delegate::GetIconForCommandId( void SimpleMenuModel::Delegate::CommandIdHighlighted(int command_id) { } +void SimpleMenuModel::Delegate::MenuClosed() { +} + //////////////////////////////////////////////////////////////////////////////// // SimpleMenuModel, public: @@ -284,6 +287,11 @@ MenuModel* SimpleMenuModel::GetSubmenuModelAt(int index) const { return items_.at(FlipIndex(index)).submenu; } +void SimpleMenuModel::MenuClosed() { + if (delegate_) + delegate_->MenuClosed(); +} + int SimpleMenuModel::FlipIndex(int index) const { return index; } diff --git a/ui/base/models/simple_menu_model.h b/ui/base/models/simple_menu_model.h index e500e7d..c321f07 100644 --- a/ui/base/models/simple_menu_model.h +++ b/ui/base/models/simple_menu_model.h @@ -48,6 +48,9 @@ class SimpleMenuModel : public MenuModel { // Performs the action associated with the specified command id. virtual void ExecuteCommand(int command_id) = 0; + // Notifies the delegate that the menu has closed. + virtual void MenuClosed(); + protected: virtual ~Delegate() {} }; @@ -115,6 +118,7 @@ class SimpleMenuModel : public MenuModel { virtual void HighlightChangedTo(int index); virtual void ActivatedAt(int index); virtual MenuModel* GetSubmenuModelAt(int index) const; + virtual void MenuClosed(); protected: // Some variants of this model (SystemMenuModel) relies on items to be |