diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-07 01:51:16 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-07 01:51:16 +0000 |
commit | 347dc0a147199514afaaaa1f0d5949a41083efcb (patch) | |
tree | 886095df378f13df55deed4f0f569e6b352fd4c7 /chrome/browser | |
parent | 9b363a7a56db6a9f92b7fc5c5bc2f45cf07f2abe (diff) | |
download | chromium_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')
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(); |