Chromium Code Reviews| Index: chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| index 28d08ba8177f3bcaccf123d1eccca7c1405c903c..abe2ddc3bf7a841066626e40e97c70eb79b20fac 100644 |
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| @@ -36,6 +36,7 @@ |
| #include "chrome/browser/extensions/extension_host.h" |
| #include "chrome/browser/extensions/extension_service.h" |
| #include "chrome/browser/google/google_util.h" |
| +#include "chrome/browser/guestview/webview/webview_guest.h" |
| #include "chrome/browser/plugins/chrome_plugin_service_filter.h" |
| #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -409,8 +410,10 @@ RenderViewContextMenu::RenderViewContextMenu( |
| profile_(Profile::FromBrowserContext( |
| source_web_contents_->GetBrowserContext())), |
| menu_model_(this), |
| - extension_items_(profile_, this, &menu_model_, |
| - base::Bind(MenuItemMatchesParams, params_)), |
| + extension_items_(profile_, |
| + this, |
| + &menu_model_, |
| + base::Bind(MenuItemMatchesParams, params_)), |
| speech_input_submenu_model_(this), |
| protocol_handler_submenu_model_(this), |
| protocol_handler_registry_( |
| @@ -500,7 +503,7 @@ static const GURL& GetDocumentURL(const content::ContextMenuParams& params) { |
| return params.frame_url.is_empty() ? params.page_url : params.frame_url; |
| } |
| -// static |
| +// static. |
|
Fady Samuel
2014/03/05 17:54:10
This change seems unnecesary.
lazyboy
2014/03/05 18:27:59
Done.
|
| bool RenderViewContextMenu::MenuItemMatchesParams( |
| const content::ContextMenuParams& params, |
| const extensions::MenuItem* item) { |
| @@ -537,8 +540,9 @@ void RenderViewContextMenu::AppendAllExtensionItems() { |
| // Platform apps have their context menus created directly in |
| // AppendPlatformAppItems. |
| if (extension && !extension->is_platform_app()) { |
| + const MenuItem::ExtensionKey& key(*i); |
| base::string16 menu_title = extension_items_.GetTopLevelContextMenuTitle( |
| - *i, printable_selection_text); |
| + key, printable_selection_text); |
| map_ids[menu_title] = *i; |
| sorted_menu_titles.push_back(menu_title); |
| } |
| @@ -553,8 +557,9 @@ void RenderViewContextMenu::AppendAllExtensionItems() { |
| base::TimeTicks begin = base::TimeTicks::Now(); |
| for (size_t i = 0; i < sorted_menu_titles.size(); ++i) { |
| const std::string& id = map_ids[sorted_menu_titles[i]]; |
| - extension_items_.AppendExtensionItems(id, printable_selection_text, |
| - &index); |
| + const MenuItem::ExtensionKey& extension_key = MenuItem::ExtensionKey(id); |
|
Fady Samuel
2014/03/05 17:54:10
This doesn't look right. You're constructing a tem
lazyboy
2014/03/05 18:27:59
Ou, don't know how it got there, fixed, thanks.
|
| + extension_items_.AppendExtensionItems( |
| + extension_key, printable_selection_text, &index); |
| } |
| UMA_HISTOGRAM_TIMES("Extensions.ContextMenus_BuildTime", |
| @@ -570,8 +575,10 @@ void RenderViewContextMenu::AppendCurrentExtensionItems() { |
| if (extension) { |
| // Only add extension items from this extension. |
| int index = 0; |
| - extension_items_.AppendExtensionItems(extension->id(), |
| - PrintableSelectionText(), &index); |
| + const MenuItem::ExtensionKey key( |
| + extension->id(), WebViewGuest::GetViewInstanceId(source_web_contents_)); |
| + extension_items_.AppendExtensionItems( |
| + key, PrintableSelectionText(), &index); |
| } |
| } |