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

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

Issue 10664037: Moved ExtensionMenuManager and ExtensionMenuItem into extensions namespace (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Merged with latest master Created 8 years, 5 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/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 7bc2c475935412e196fa18b0d09d344844127e64..bf682e01e966a43387cad50aa1c9959d90425bd4 100644
--- a/chrome/browser/tab_contents/render_view_context_menu.cc
+++ b/chrome/browser/tab_contents/render_view_context_menu.cc
@@ -107,6 +107,8 @@ using content::SSLStatus;
using content::UserMetricsAction;
using content::WebContents;
using extensions::Extension;
+using extensions::MenuItem;
+using extensions::MenuManager;
namespace {
@@ -281,37 +283,37 @@ static bool ExtensionPatternMatch(const URLPatternSet& patterns,
// static
bool RenderViewContextMenu::ExtensionContextAndPatternMatch(
const content::ContextMenuParams& params,
- ExtensionMenuItem::ContextList contexts,
+ MenuItem::ContextList contexts,
const URLPatternSet& target_url_patterns) {
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)) ||
- (params.is_editable && contexts.Contains(ExtensionMenuItem::EDITABLE)) ||
- (in_frame && contexts.Contains(ExtensionMenuItem::FRAME)))
+ if (contexts.Contains(MenuItem::ALL) ||
+ (has_selection && contexts.Contains(MenuItem::SELECTION)) ||
+ (params.is_editable && contexts.Contains(MenuItem::EDITABLE)) ||
+ (in_frame && contexts.Contains(MenuItem::FRAME)))
return true;
- if (has_link && contexts.Contains(ExtensionMenuItem::LINK) &&
+ if (has_link && contexts.Contains(MenuItem::LINK) &&
ExtensionPatternMatch(target_url_patterns, params.link_url))
return true;
switch (params.media_type) {
case WebContextMenuData::MediaTypeImage:
- if (contexts.Contains(ExtensionMenuItem::IMAGE) &&
+ if (contexts.Contains(MenuItem::IMAGE) &&
ExtensionPatternMatch(target_url_patterns, params.src_url))
return true;
break;
case WebContextMenuData::MediaTypeVideo:
- if (contexts.Contains(ExtensionMenuItem::VIDEO) &&
+ if (contexts.Contains(MenuItem::VIDEO) &&
ExtensionPatternMatch(target_url_patterns, params.src_url))
return true;
break;
case WebContextMenuData::MediaTypeAudio:
- if (contexts.Contains(ExtensionMenuItem::AUDIO) &&
+ if (contexts.Contains(MenuItem::AUDIO) &&
ExtensionPatternMatch(target_url_patterns, params.src_url))
return true;
break;
@@ -325,7 +327,7 @@ bool RenderViewContextMenu::ExtensionContextAndPatternMatch(
// backwards compatibility).
if (!has_link && !has_selection && !params.is_editable &&
params.media_type == WebContextMenuData::MediaTypeNone &&
- contexts.Contains(ExtensionMenuItem::PAGE))
+ contexts.Contains(MenuItem::PAGE))
return true;
return false;
@@ -338,15 +340,15 @@ static const GURL& GetDocumentURL(const content::ContextMenuParams& params) {
// Given a list of items, returns the ones that match given the contents
// of |params| and the profile.
// static
-ExtensionMenuItem::List RenderViewContextMenu::GetRelevantExtensionItems(
- const ExtensionMenuItem::List& items,
+MenuItem::List RenderViewContextMenu::GetRelevantExtensionItems(
+ const MenuItem::List& items,
const content::ContextMenuParams& params,
Profile* profile,
bool can_cross_incognito) {
- ExtensionMenuItem::List result;
- for (ExtensionMenuItem::List::const_iterator i = items.begin();
+ MenuItem::List result;
+ for (MenuItem::List::const_iterator i = items.begin();
i != items.end(); ++i) {
- const ExtensionMenuItem* item = *i;
+ const MenuItem* item = *i;
if (!ExtensionContextAndPatternMatch(params, item->contexts(),
item->target_url_patterns()))
@@ -366,7 +368,7 @@ ExtensionMenuItem::List RenderViewContextMenu::GetRelevantExtensionItems(
void RenderViewContextMenu::AppendExtensionItems(
const std::string& extension_id, int* index) {
ExtensionService* service = profile_->GetExtensionService();
- ExtensionMenuManager* manager = service->menu_manager();
+ MenuManager* manager = service->menu_manager();
const Extension* extension = service->GetExtensionById(extension_id, false);
DCHECK_GE(*index, 0);
int max_index =
@@ -375,11 +377,11 @@ void RenderViewContextMenu::AppendExtensionItems(
return;
// Find matching items.
- const ExtensionMenuItem::List* all_items = manager->MenuItems(extension_id);
+ const MenuItem::List* all_items = manager->MenuItems(extension_id);
if (!all_items || all_items->empty())
return;
bool can_cross_incognito = service->CanCrossIncognito(extension);
- ExtensionMenuItem::List items =
+ MenuItem::List items =
GetRelevantExtensionItems(*all_items, params_, profile_,
can_cross_incognito);
if (items.empty())
@@ -396,12 +398,12 @@ void RenderViewContextMenu::AppendExtensionItems(
// checkbox item because we are going to put the extension icon next to it).
// If they have more than that, we automatically push them into a submenu.
string16 title;
- ExtensionMenuItem::List submenu_items;
- if (items.size() > 1 || items[0]->type() != ExtensionMenuItem::NORMAL) {
+ MenuItem::List submenu_items;
+ if (items.size() > 1 || items[0]->type() != MenuItem::NORMAL) {
title = UTF8ToUTF16(extension->name());
submenu_items = items;
} else {
- ExtensionMenuItem* item = items[0];
+ MenuItem* item = items[0];
extension_item_map_[menu_id] = item->id();
title = item->TitleWithReplacement(PrintableSelectionText(),
kMaxExtensionItemTitleLength);
@@ -423,24 +425,24 @@ void RenderViewContextMenu::AppendExtensionItems(
}
void RenderViewContextMenu::RecursivelyAppendExtensionItems(
- const ExtensionMenuItem::List& items,
+ const MenuItem::List& items,
bool can_cross_incognito,
ui::SimpleMenuModel* menu_model,
int* index) {
string16 selection_text = PrintableSelectionText();
- ExtensionMenuItem::Type last_type = ExtensionMenuItem::NORMAL;
+ MenuItem::Type last_type = MenuItem::NORMAL;
int radio_group_id = 1;
- for (ExtensionMenuItem::List::const_iterator i = items.begin();
+ for (MenuItem::List::const_iterator i = items.begin();
i != items.end(); ++i) {
- ExtensionMenuItem* item = *i;
+ MenuItem* item = *i;
// If last item was of type radio but the current one isn't, auto-insert
// a separator. The converse case is handled below.
- if (last_type == ExtensionMenuItem::RADIO &&
- item->type() != ExtensionMenuItem::RADIO) {
+ if (last_type == MenuItem::RADIO &&
+ item->type() != MenuItem::RADIO) {
menu_model->AddSeparator();
- last_type = ExtensionMenuItem::SEPARATOR;
+ last_type = MenuItem::SEPARATOR;
}
int menu_id = IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST + (*index)++;
@@ -449,8 +451,8 @@ void RenderViewContextMenu::RecursivelyAppendExtensionItems(
extension_item_map_[menu_id] = item->id();
string16 title = item->TitleWithReplacement(selection_text,
kMaxExtensionItemTitleLength);
- if (item->type() == ExtensionMenuItem::NORMAL) {
- ExtensionMenuItem::List children =
+ if (item->type() == MenuItem::NORMAL) {
+ MenuItem::List children =
GetRelevantExtensionItems(item->children(), params_,
profile_, can_cross_incognito);
if (children.empty()) {
@@ -462,21 +464,21 @@ void RenderViewContextMenu::RecursivelyAppendExtensionItems(
RecursivelyAppendExtensionItems(children, can_cross_incognito,
submenu, index);
}
- } else if (item->type() == ExtensionMenuItem::CHECKBOX) {
+ } else if (item->type() == MenuItem::CHECKBOX) {
menu_model->AddCheckItem(menu_id, title);
- } else if (item->type() == ExtensionMenuItem::RADIO) {
+ } else if (item->type() == MenuItem::RADIO) {
if (i != items.begin() &&
- last_type != ExtensionMenuItem::RADIO) {
+ last_type != MenuItem::RADIO) {
radio_group_id++;
// Auto-append a separator if needed.
- if (last_type != ExtensionMenuItem::SEPARATOR)
+ if (last_type != MenuItem::SEPARATOR)
menu_model->AddSeparator();
}
menu_model->AddRadioItem(menu_id, title, radio_group_id);
- } else if (item->type() == ExtensionMenuItem::SEPARATOR) {
- if (i != items.begin() && last_type != ExtensionMenuItem::SEPARATOR) {
+ } else if (item->type() == MenuItem::SEPARATOR) {
+ if (i != items.begin() && last_type != MenuItem::SEPARATOR) {
menu_model->AddSeparator();
}
}
@@ -486,7 +488,7 @@ void RenderViewContextMenu::RecursivelyAppendExtensionItems(
void RenderViewContextMenu::SetExtensionIcon(const std::string& extension_id) {
ExtensionService* service = profile_->GetExtensionService();
- ExtensionMenuManager* menu_manager = service->menu_manager();
+ MenuManager* menu_manager = service->menu_manager();
int index = menu_model_.GetItemCount() - 1;
DCHECK_GE(index, 0);
@@ -503,7 +505,7 @@ void RenderViewContextMenu::AppendAllExtensionItems() {
ExtensionService* service = profile_->GetExtensionService();
if (!service)
return; // In unit-tests, we may not have an ExtensionService.
- ExtensionMenuManager* menu_manager = service->menu_manager();
+ MenuManager* menu_manager = service->menu_manager();
// Get a list of extension id's that have context menu items, and sort it by
// the extension's name.
@@ -1058,13 +1060,12 @@ void RenderViewContextMenu::AppendProtocolHandlerSubMenu() {
&protocol_handler_submenu_model_);
}
-ExtensionMenuItem* RenderViewContextMenu::GetExtensionMenuItem(int id) const {
- ExtensionMenuManager* manager =
- profile_->GetExtensionService()->menu_manager();
- std::map<int, ExtensionMenuItem::Id>::const_iterator i =
+MenuItem* RenderViewContextMenu::GetExtensionMenuItem(int id) const {
+ MenuManager* manager = profile_->GetExtensionService()->menu_manager();
+ std::map<int, MenuItem::Id>::const_iterator i =
extension_item_map_.find(id);
if (i != extension_item_map_.end()) {
- ExtensionMenuItem* item = manager->GetItemById(i->second);
+ MenuItem* item = manager->GetItemById(i->second);
if (item)
return item;
}
@@ -1110,7 +1111,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const {
// Extension items.
if (id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST &&
id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) {
- ExtensionMenuItem* item = GetExtensionMenuItem(id);
+ MenuItem* item = GetExtensionMenuItem(id);
// If this is the parent menu item, it is always enabled.
if (!item)
return true;
@@ -1416,7 +1417,7 @@ bool RenderViewContextMenu::IsCommandIdChecked(int id) const {
// Extension items.
if (id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST &&
id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) {
- ExtensionMenuItem* item = GetExtensionMenuItem(id);
+ MenuItem* item = GetExtensionMenuItem(id);
if (item)
return item->checked();
else
@@ -1475,9 +1476,8 @@ void RenderViewContextMenu::ExecuteCommand(int id, int event_flags) {
// Process extension menu items.
if (id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST &&
id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) {
- ExtensionMenuManager* manager =
- profile_->GetExtensionService()->menu_manager();
- std::map<int, ExtensionMenuItem::Id>::const_iterator i =
+ MenuManager* manager = profile_->GetExtensionService()->menu_manager();
+ std::map<int, MenuItem::Id>::const_iterator i =
extension_item_map_.find(id);
if (i != extension_item_map_.end()) {
manager->ExecuteCommand(profile_, source_web_contents_, params_,

Powered by Google App Engine
This is Rietveld 408576698