Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: chrome/browser/renderer_context_menu/render_view_context_menu.cc

Issue 186213003: <webview>: Context menu API implementation CL. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Put ExtensionKey into MenuItem::Id. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}
}

Powered by Google App Engine
This is Rietveld 408576698