From 347dc0a147199514afaaaa1f0d5949a41083efcb Mon Sep 17 00:00:00 2001 From: "ananta@chromium.org" <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> Date: Mon, 7 Jun 2010 01:51:16 +0000 Subject: 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 --- chrome/browser/external_tab_container.cc | 1 + chrome/browser/views/tab_contents/render_view_context_menu_views.cc | 4 ++++ chrome/browser/views/tab_contents/render_view_context_menu_views.h | 2 ++ 3 files changed, 7 insertions(+) (limited to 'chrome/browser') 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(); -- cgit v1.1