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

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: Sync and address comments. 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..41dcc63e8999af6f111be610681905b35844476e 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,13 @@ 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_,
+ WebViewGuest::GetViewInstanceId(source_web_contents_))),
speech_input_submenu_model_(this),
protocol_handler_submenu_model_(this),
protocol_handler_registry_(
@@ -500,10 +506,16 @@ static const GURL& GetDocumentURL(const content::ContextMenuParams& params) {
return params.frame_url.is_empty() ? params.page_url : params.frame_url;
}
-// static
+// static.
bool RenderViewContextMenu::MenuItemMatchesParams(
const content::ContextMenuParams& params,
+ int webview_instance_id,
const extensions::MenuItem* item) {
+ if (webview_instance_id || item->id().webview_instance_id) {
+ if (webview_instance_id != item->id().webview_instance_id)
+ return false;
+ }
+
bool match = ExtensionContextAndPatternMatch(params, item->contexts(),
item->target_url_patterns());
if (!match)

Powered by Google App Engine
This is Rietveld 408576698