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); |
} |
} |