summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-07 01:51:16 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-07 01:51:16 +0000
commit347dc0a147199514afaaaa1f0d5949a41083efcb (patch)
tree886095df378f13df55deed4f0f569e6b352fd4c7 /chrome/browser
parent9b363a7a56db6a9f92b7fc5c5bc2f45cf07f2abe (diff)
downloadchromium_src-347dc0a147199514afaaaa1f0d5949a41083efcb.zip
chromium_src-347dc0a147199514afaaaa1f0d5949a41083efcb.tar.gz
chromium_src-347dc0a147199514afaaaa1f0d5949a41083efcb.tar.bz2
Ensure that the context menu items displayed in ChromeFrame rendered pages are enabled/disabled correctly. To achieve this we now
have a UpdateMenuItemStates function in the RenderViewContextMenuViews class which calls into the underlying menu's UpdateStates function which enables/disables items correctly. Fixes bug http://code.google.com/p/chromium/issues/detail?id=45785 Bug=45785 Review URL: http://codereview.chromium.org/2627005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49031 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/external_tab_container.cc1
-rw-r--r--chrome/browser/views/tab_contents/render_view_context_menu_views.cc4
-rw-r--r--chrome/browser/views/tab_contents/render_view_context_menu_views.h2
3 files changed, 7 insertions, 0 deletions
diff --git a/chrome/browser/external_tab_container.cc b/chrome/browser/external_tab_container.cc
index 432f277..eeefdaa 100644
--- a/chrome/browser/external_tab_container.cc
+++ b/chrome/browser/external_tab_container.cc
@@ -521,6 +521,7 @@ bool ExternalTabContainer::HandleContextMenu(const ContextMenuParams& params) {
new RenderViewContextMenuViews(tab_contents(), params));
external_context_menu_->SetExternal();
external_context_menu_->Init();
+ external_context_menu_->UpdateMenuItemStates();
POINT screen_pt = { params.x, params.y };
MapWindowPoints(GetNativeView(), HWND_DESKTOP, &screen_pt, 1);
diff --git a/chrome/browser/views/tab_contents/render_view_context_menu_views.cc b/chrome/browser/views/tab_contents/render_view_context_menu_views.cc
index e719e0b..3fb8f28 100644
--- a/chrome/browser/views/tab_contents/render_view_context_menu_views.cc
+++ b/chrome/browser/views/tab_contents/render_view_context_menu_views.cc
@@ -35,6 +35,10 @@ void RenderViewContextMenuViews::SetExternal() {
}
#endif
+void RenderViewContextMenuViews::UpdateMenuItemStates() {
+ menu_->UpdateStates();
+}
+
////////////////////////////////////////////////////////////////////////////////
// RenderViewContextMenuViews, protected:
diff --git a/chrome/browser/views/tab_contents/render_view_context_menu_views.h b/chrome/browser/views/tab_contents/render_view_context_menu_views.h
index 1203d4f..cb58698 100644
--- a/chrome/browser/views/tab_contents/render_view_context_menu_views.h
+++ b/chrome/browser/views/tab_contents/render_view_context_menu_views.h
@@ -30,6 +30,8 @@ class RenderViewContextMenuViews : public RenderViewContextMenu {
void SetExternal();
#endif
+ void UpdateMenuItemStates();
+
protected:
// RenderViewContextMenu implementation --------------------------------------
virtual void PlatformInit();