| Index: chrome/browser/tab_contents/render_view_context_menu.cc
|
| diff --git a/chrome/browser/tab_contents/render_view_context_menu.cc b/chrome/browser/tab_contents/render_view_context_menu.cc
|
| index a1c9618943b1f33097660651d4229b8a33955fb9..fff23a73a994fb98c8add346b2cfb835042cee75 100644
|
| --- a/chrome/browser/tab_contents/render_view_context_menu.cc
|
| +++ b/chrome/browser/tab_contents/render_view_context_menu.cc
|
| @@ -200,11 +200,13 @@ static bool ExtensionContextMatch(const ContextMenuParams& params,
|
| ExtensionMenuItem::ContextList contexts) {
|
| bool has_link = !params.link_url.is_empty();
|
| bool has_selection = !params.selection_text.empty();
|
| + bool in_frame = !params.frame_url.is_empty();
|
|
|
| if (contexts.Contains(ExtensionMenuItem::ALL) ||
|
| (has_selection && contexts.Contains(ExtensionMenuItem::SELECTION)) ||
|
| (has_link && contexts.Contains(ExtensionMenuItem::LINK)) ||
|
| - (params.is_editable && contexts.Contains(ExtensionMenuItem::EDITABLE))) {
|
| + (params.is_editable && contexts.Contains(ExtensionMenuItem::EDITABLE)) ||
|
| + (in_frame && contexts.Contains(ExtensionMenuItem::FRAME))) {
|
| return true;
|
| }
|
|
|
| @@ -223,7 +225,8 @@ static bool ExtensionContextMatch(const ContextMenuParams& params,
|
| }
|
|
|
| // PAGE is the least specific context, so we only examine that if none of the
|
| - // other contexts apply.
|
| + // other contexts apply (except for FRAME, which is included in PAGE for
|
| + // backwards compatibility).
|
| if (!has_link && !has_selection && !params.is_editable &&
|
| params.media_type == WebContextMenuData::MediaTypeNone &&
|
| contexts.Contains(ExtensionMenuItem::PAGE))
|
|
|