summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-15 00:10:10 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-15 00:10:10 +0000
commit521b248f7ce021f99932c9150461744b3edf3067 (patch)
tree150e68cc2479305324d14161ef1c11c719c3ab4d /ui
parent80ece4b0ee41cba5e00ab7d582c4d1373e982e1c (diff)
downloadchromium_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')
-rw-r--r--ui/base/models/menu_model.h3
-rw-r--r--ui/base/models/simple_menu_model.cc8
-rw-r--r--ui/base/models/simple_menu_model.h4
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