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 5a4ab40131b9e7646e31a3ba46e0a045871eb86b..fe5a1a027bb65e171303151d97fb90a860ca635a 100644 |
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
@@ -38,7 +38,6 @@ |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_io_data.h" |
#include "chrome/browser/renderer_context_menu/context_menu_content_type_factory.h" |
-#include "chrome/browser/renderer_context_menu/spellchecker_submenu_observer.h" |
#include "chrome/browser/renderer_context_menu/spelling_menu_observer.h" |
#include "chrome/browser/search/search.h" |
#include "chrome/browser/search_engines/template_url_service_factory.h" |
@@ -155,9 +154,14 @@ const int kImageSearchThumbnailMaxHeight = 600; |
// Never change mapping or reuse |enum_id|. Always push back new items. |
// Items that is not used any more by |RenderViewContextMenu.ExecuteCommand| |
// could be deleted, but don't change the rest of |kUmaEnumToControlId|. |
+// |
+// |context_specific_enum_id| matches the ContextMenuOption histogram enum. |
+// Used to track command usage under specific contexts - Specifically Menu |
Avi (use Gerrit)
2015/09/26 02:26:15
"... specific contexts, specifically menu items...
edwardjung
2015/09/28 14:11:25
Done.
|
+// items under 'link + image' and 'selected text'. |
const struct UmaEnumCommandIdPair { |
int enum_id; |
int control_id; |
+ int context_specific_enum_id; |
Avi (use Gerrit)
2015/09/26 02:26:15
This order makes it hard to read the list. Do:
co
edwardjung
2015/09/28 14:11:25
Makes sense, done.
|
} kUmaEnumToControlId[] = { |
/* |
enum id for 0, 1 are detected using |
@@ -165,17 +169,17 @@ const struct UmaEnumCommandIdPair { |
ContextMenuMatcher::IsExtensionsCustomCommandId |
*/ |
{2, IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_FIRST}, |
- {3, IDC_CONTENT_CONTEXT_OPENLINKNEWTAB}, |
- {4, IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW}, |
- {5, IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD}, |
- {6, IDC_CONTENT_CONTEXT_SAVELINKAS}, |
- {7, IDC_CONTENT_CONTEXT_SAVEAVAS}, |
- {8, IDC_CONTENT_CONTEXT_SAVEIMAGEAS}, |
- {9, IDC_CONTENT_CONTEXT_COPYLINKLOCATION}, |
- {10, IDC_CONTENT_CONTEXT_COPYIMAGELOCATION}, |
+ {3, IDC_CONTENT_CONTEXT_OPENLINKNEWTAB, 0}, |
+ {4, IDC_CONTENT_CONTEXT_OPENLINKNEWWINDOW, 15}, |
+ {5, IDC_CONTENT_CONTEXT_OPENLINKOFFTHERECORD, 1}, |
+ {6, IDC_CONTENT_CONTEXT_SAVELINKAS, 5}, |
+ {7, IDC_CONTENT_CONTEXT_SAVEAVAS, 17}, |
+ {8, IDC_CONTENT_CONTEXT_SAVEIMAGEAS, 6}, |
+ {9, IDC_CONTENT_CONTEXT_COPYLINKLOCATION, 2}, |
+ {10, IDC_CONTENT_CONTEXT_COPYIMAGELOCATION, 10}, |
{11, IDC_CONTENT_CONTEXT_COPYAVLOCATION}, |
- {12, IDC_CONTENT_CONTEXT_COPYIMAGE}, |
- {13, IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB}, |
+ {12, IDC_CONTENT_CONTEXT_COPYIMAGE, 9}, |
+ {13, IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB, 8}, |
{14, IDC_CONTENT_CONTEXT_OPENAVNEWTAB}, |
{15, IDC_CONTENT_CONTEXT_PLAYPAUSE}, |
{16, IDC_CONTENT_CONTEXT_MUTE}, |
@@ -189,7 +193,7 @@ const struct UmaEnumCommandIdPair { |
{24, IDC_RELOAD}, |
{25, IDC_CONTENT_CONTEXT_RELOAD_PACKAGED_APP}, |
{26, IDC_CONTENT_CONTEXT_RESTART_PACKAGED_APP}, |
- {27, IDC_PRINT}, |
+ {27, IDC_PRINT, 16}, |
{28, IDC_VIEW_SOURCE}, |
{29, IDC_CONTENT_CONTEXT_INSPECTELEMENT}, |
{30, IDC_CONTENT_CONTEXT_INSPECTBACKGROUNDPAGE}, |
@@ -201,12 +205,12 @@ const struct UmaEnumCommandIdPair { |
{36, IDC_CONTENT_CONTEXT_UNDO}, |
{37, IDC_CONTENT_CONTEXT_REDO}, |
{38, IDC_CONTENT_CONTEXT_CUT}, |
- {39, IDC_CONTENT_CONTEXT_COPY}, |
+ {39, IDC_CONTENT_CONTEXT_COPY, 4}, |
{40, IDC_CONTENT_CONTEXT_PASTE}, |
{41, IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE}, |
{42, IDC_CONTENT_CONTEXT_DELETE}, |
{43, IDC_CONTENT_CONTEXT_SELECTALL}, |
- {44, IDC_CONTENT_CONTEXT_SEARCHWEBFOR}, |
+ {44, IDC_CONTENT_CONTEXT_SEARCHWEBFOR, 17}, |
{45, IDC_CONTENT_CONTEXT_GOTOURL}, |
{46, IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS}, |
{47, IDC_CONTENT_CONTEXT_PROTOCOL_HANDLER_SETTINGS}, |
@@ -216,7 +220,7 @@ const struct UmaEnumCommandIdPair { |
{54, IDC_SPELLCHECK_MENU}, |
{55, IDC_CONTENT_CONTEXT_SPELLING_TOGGLE}, |
{56, IDC_SPELLCHECK_LANGUAGES_FIRST}, |
- {57, IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE}, |
+ {57, IDC_CONTENT_CONTEXT_SEARCHWEBFORIMAGE, 11}, |
{58, IDC_SPELLCHECK_SUGGESTION_0}, |
{59, IDC_SPELLCHECK_ADD_TO_DICTIONARY}, |
{60, IDC_SPELLPANEL_TOGGLE}, |
@@ -256,7 +260,8 @@ int CollapseCommandsForUMA(int id) { |
} |
// Returns UMA enum value for command specified by |id| or -1 if not found. |
-int FindUMAEnumValueForCommand(int id) { |
+// |use_specific_context_enum| set to true returns the context_specific_enum_id. |
+int FindUMAEnumValueForCommand(int id, bool use_specific_context_enum) { |
Avi (use Gerrit)
2015/09/26 02:26:15
This is a magic bool as a parameter that is imposs
edwardjung
2015/09/28 14:11:25
Understood. Changed to use an enum.
|
if (RenderViewContextMenu::IsContentCustomCommandId(id)) |
return 0; |
@@ -267,9 +272,15 @@ int FindUMAEnumValueForCommand(int id) { |
const size_t kMappingSize = arraysize(kUmaEnumToControlId); |
for (size_t i = 0; i < kMappingSize; ++i) { |
if (kUmaEnumToControlId[i].control_id == id) { |
- return kUmaEnumToControlId[i].enum_id; |
+ if (!use_specific_context_enum) { |
+ return kUmaEnumToControlId[i].enum_id; |
+ } else if (use_specific_context_enum && |
+ kUmaEnumToControlId[i].context_specific_enum_id > -1) { |
Avi (use Gerrit)
2015/09/26 02:26:15
How could this ever not be true? In most of the li
edwardjung
2015/09/28 14:11:25
Understood. Fixed.
|
+ return kUmaEnumToControlId[i].context_specific_enum_id; |
+ } |
} |
} |
+ |
return -1; |
} |
@@ -341,8 +352,6 @@ void WriteURLToClipboard(const GURL& url, const std::string& languages) { |
bool g_custom_id_ranges_initialized = false; |
-const int kSpellcheckRadioGroup = 1; |
- |
} // namespace |
// static |
@@ -558,13 +567,6 @@ void RenderViewContextMenu::InitMenu() { |
if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PAGE)) |
AppendPageItems(); |
- if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_FRAME)) { |
- // Merge in frame items with page items if we clicked within a frame that |
- // needs them. |
- menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
- AppendFrameItems(); |
- } |
- |
if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_LINK)) { |
AppendLinkItems(); |
if (params_.media_type != WebContextMenuData::MediaTypeNone) |
@@ -617,8 +619,18 @@ void RenderViewContextMenu::InitMenu() { |
AppendSearchProvider(); |
} |
- if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PRINT)) |
+ if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PRINT) && |
+ !content_type_->SupportsGroup( |
+ ContextMenuContentType::ITEM_GROUP_MEDIA_IMAGE)) { |
AppendPrintItem(); |
+ } |
+ |
+ if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_EDITABLE)) |
+ { |
+ menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
+ AppendPlatformEditableItems(); |
+ AppendLanguageSettings(); |
+ } |
Avi (use Gerrit)
2015/09/26 02:26:15
Your indenting is wack; please fix.
edwardjung
2015/09/28 14:11:25
Done.
|
if (content_type_->SupportsGroup( |
ContextMenuContentType::ITEM_GROUP_MEDIA_PLUGIN)) { |
@@ -665,18 +677,37 @@ Profile* RenderViewContextMenu::GetProfile() { |
} |
void RenderViewContextMenu::RecordUsedItem(int id) { |
- int enum_id = FindUMAEnumValueForCommand(id); |
+ int enum_id = FindUMAEnumValueForCommand(id, false); |
if (enum_id != -1) { |
const size_t kMappingSize = arraysize(kUmaEnumToControlId); |
UMA_HISTOGRAM_ENUMERATION("RenderViewContextMenu.Used", enum_id, |
kUmaEnumToControlId[kMappingSize - 1].enum_id); |
+ // Record to additional context specific histograms. |
+ enum_id = FindUMAEnumValueForCommand(id, true); |
+ |
+ // Linked image context. |
+ if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_LINK) && |
+ content_type_->SupportsGroup( |
+ ContextMenuContentType::ITEM_GROUP_MEDIA_IMAGE)) { |
+ UMA_HISTOGRAM_ENUMERATION("ContextMenu.SelectedOption.ImageLink", enum_id, |
+ kUmaEnumToControlId[kMappingSize - 1].enum_id); |
+ } |
+ // Selected text context. |
+ if (content_type_->SupportsGroup( |
+ ContextMenuContentType::ITEM_GROUP_SEARCH_PROVIDER) && |
+ content_type_->SupportsGroup( |
+ ContextMenuContentType::ITEM_GROUP_PRINT)) { |
Avi (use Gerrit)
2015/09/26 02:26:15
Your indenting is weird; you should indent line 69
edwardjung
2015/09/28 14:11:25
Done.
|
+ UMA_HISTOGRAM_ENUMERATION("ContextMenu.SelectedOption.SelectedText", |
+ enum_id, |
+ kUmaEnumToControlId[kMappingSize - 1].enum_id); |
+ } |
} else { |
NOTREACHED() << "Update kUmaEnumToControlId. Unhanded IDC: " << id; |
} |
} |
void RenderViewContextMenu::RecordShownItem(int id) { |
- int enum_id = FindUMAEnumValueForCommand(id); |
+ int enum_id = FindUMAEnumValueForCommand(id, false); |
if (enum_id != -1) { |
const size_t kMappingSize = arraysize(kUmaEnumToControlId); |
UMA_HISTOGRAM_ENUMERATION("RenderViewContextMenu.Shown", enum_id, |
@@ -726,6 +757,14 @@ void RenderViewContextMenu::AppendDeveloperItems() { |
// In the DevTools popup menu, "developer items" is normally the only |
// section, so omit the separator there. |
menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
+ // Page context source. |
+ if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PAGE)) |
+ menu_model_.AddItemWithStringId(IDC_VIEW_SOURCE, |
+ IDS_CONTENT_CONTEXT_VIEWPAGESOURCE); |
+ // Frame context source. |
+ if (content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_FRAME)) |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_VIEWFRAMESOURCE, |
+ IDS_CONTENT_CONTEXT_VIEWFRAMESOURCE); |
Avi (use Gerrit)
2015/09/26 02:26:15
Are these useful comments? I would say no.
edwardjung
2015/09/28 14:11:25
Removed.
|
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_INSPECTELEMENT, |
IDS_CONTENT_CONTEXT_INSPECTELEMENT); |
} |
@@ -767,12 +806,6 @@ void RenderViewContextMenu::AppendLinkItems() { |
} |
void RenderViewContextMenu::AppendImageItems() { |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SAVEIMAGEAS, |
- IDS_CONTENT_CONTEXT_SAVEIMAGEAS); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGELOCATION, |
- IDS_CONTENT_CONTEXT_COPYIMAGELOCATION); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGE, |
- IDS_CONTENT_CONTEXT_COPYIMAGE); |
std::map<std::string, std::string>::const_iterator it = |
params_.properties.find(data_reduction_proxy::chrome_proxy_header()); |
if (it != params_.properties.end() && it->second == |
@@ -792,6 +825,12 @@ void RenderViewContextMenu::AppendImageItems() { |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENIMAGENEWTAB, |
IDS_CONTENT_CONTEXT_OPENIMAGENEWTAB); |
} |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SAVEIMAGEAS, |
+ IDS_CONTENT_CONTEXT_SAVEIMAGEAS); |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGE, |
+ IDS_CONTENT_CONTEXT_COPYIMAGE); |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYIMAGELOCATION, |
+ IDS_CONTENT_CONTEXT_COPYIMAGELOCATION); |
} |
void RenderViewContextMenu::AppendSearchWebForImageItems() { |
@@ -810,14 +849,13 @@ void RenderViewContextMenu::AppendSearchWebForImageItems() { |
} |
void RenderViewContextMenu::AppendAudioItems() { |
- AppendMediaItems(); |
menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENAVNEWTAB, |
+ IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB); |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SAVEAVAS, |
IDS_CONTENT_CONTEXT_SAVEAUDIOAS); |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYAVLOCATION, |
IDS_CONTENT_CONTEXT_COPYAUDIOLOCATION); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENAVNEWTAB, |
- IDS_CONTENT_CONTEXT_OPENAUDIONEWTAB); |
} |
void RenderViewContextMenu::AppendCanvasItems() { |
@@ -828,35 +866,13 @@ void RenderViewContextMenu::AppendCanvasItems() { |
} |
void RenderViewContextMenu::AppendVideoItems() { |
- AppendMediaItems(); |
menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENAVNEWTAB, |
+ IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB); |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SAVEAVAS, |
IDS_CONTENT_CONTEXT_SAVEVIDEOAS); |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPYAVLOCATION, |
IDS_CONTENT_CONTEXT_COPYVIDEOLOCATION); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPENAVNEWTAB, |
- IDS_CONTENT_CONTEXT_OPENVIDEONEWTAB); |
-} |
- |
-void RenderViewContextMenu::AppendMediaItems() { |
- int media_flags = params_.media_flags; |
- |
- menu_model_.AddItemWithStringId( |
- IDC_CONTENT_CONTEXT_PLAYPAUSE, |
- media_flags & WebContextMenuData::MediaPaused ? |
- IDS_CONTENT_CONTEXT_PLAY : |
- IDS_CONTENT_CONTEXT_PAUSE); |
- |
- menu_model_.AddItemWithStringId( |
- IDC_CONTENT_CONTEXT_MUTE, |
- media_flags & WebContextMenuData::MediaMuted ? |
- IDS_CONTENT_CONTEXT_UNMUTE : |
- IDS_CONTENT_CONTEXT_MUTE); |
- |
- menu_model_.AddCheckItemWithStringId(IDC_CONTENT_CONTEXT_LOOP, |
- IDS_CONTENT_CONTEXT_LOOP); |
- menu_model_.AddCheckItemWithStringId(IDC_CONTENT_CONTEXT_CONTROLS, |
- IDS_CONTENT_CONTEXT_CONTROLS); |
} |
void RenderViewContextMenu::AppendPluginItems() { |
@@ -895,27 +911,11 @@ void RenderViewContextMenu::AppendPageItems() { |
IDC_CONTENT_CONTEXT_TRANSLATE, |
l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language)); |
} |
- |
- menu_model_.AddItemWithStringId(IDC_VIEW_SOURCE, |
- IDS_CONTENT_CONTEXT_VIEWPAGESOURCE); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_VIEWPAGEINFO, |
- IDS_CONTENT_CONTEXT_VIEWPAGEINFO); |
-} |
- |
-void RenderViewContextMenu::AppendFrameItems() { |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_RELOADFRAME, |
- IDS_CONTENT_CONTEXT_RELOADFRAME); |
- // These two menu items have yet to be implemented. |
- // http://code.google.com/p/chromium/issues/detail?id=11827 |
- // IDS_CONTENT_CONTEXT_SAVEFRAMEAS |
- // IDS_CONTENT_CONTEXT_PRINTFRAME |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_VIEWFRAMESOURCE, |
- IDS_CONTENT_CONTEXT_VIEWFRAMESOURCE); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_VIEWFRAMEINFO, |
- IDS_CONTENT_CONTEXT_VIEWFRAMEINFO); |
} |
void RenderViewContextMenu::AppendCopyItem() { |
+ if (menu_model_.GetItemCount()) |
+ menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_COPY, |
IDS_CONTENT_CONTEXT_COPY); |
} |
@@ -993,13 +993,26 @@ void RenderViewContextMenu::AppendEditableItems() { |
if (use_spellcheck_and_search) |
AppendSpellingSuggestionsSubMenu(); |
- if (!IsDevToolsURL(params_.page_url)) { |
+ // 'Undo' and 'Redo' for tText input with no suggestions and no text selected. |
Avi (use Gerrit)
2015/09/26 02:26:15
typo: tText
edwardjung
2015/09/28 14:11:25
Done.
|
+ // We make an exception for OSX as context clicking will select the closest |
Avi (use Gerrit)
2015/09/26 02:26:15
s/OSX/Mac OS X/ or /OS X/ or /the Mac/
edwardjung
2015/09/28 14:11:25
Done.
|
+ // word. In this case both items are always shown. |
+#if defined(OS_MACOSX) |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_UNDO, |
+ IDS_CONTENT_CONTEXT_UNDO); |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_REDO, |
+ IDS_CONTENT_CONTEXT_REDO); |
+ menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
+#else |
+ if (!IsDevToolsURL(params_.page_url) && |
+ !menu_model_.GetItemCount() && |
+ !content_type_->SupportsGroup(ContextMenuContentType::ITEM_GROUP_PRINT)) { |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_UNDO, |
IDS_CONTENT_CONTEXT_UNDO); |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_REDO, |
IDS_CONTENT_CONTEXT_REDO); |
menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
} |
+#endif |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_CUT, |
IDS_CONTENT_CONTEXT_CUT); |
@@ -1009,33 +1022,18 @@ void RenderViewContextMenu::AppendEditableItems() { |
IDS_CONTENT_CONTEXT_PASTE); |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE, |
IDS_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_DELETE, |
- IDS_CONTENT_CONTEXT_DELETE); |
+ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SELECTALL, |
+ IDS_CONTENT_CONTEXT_SELECTALL); |
+ |
menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
+} |
- if (use_spellcheck_and_search && !params_.keyword_url.is_empty()) { |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_ADDSEARCHENGINE, |
- IDS_CONTENT_CONTEXT_ADDSEARCHENGINE); |
- menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
- } |
+void RenderViewContextMenu::AppendLanguageSettings() { |
+ const bool use_spellcheck_and_search = !chrome::IsRunningInForcedAppMode(); |
-#if defined(OS_MACOSX) |
if (use_spellcheck_and_search) |
- AppendSpellcheckOptionsSubMenu(); |
-#else |
- if (chrome::spellcheck_common::IsMultilingualSpellcheckEnabled()) { |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS, |
- IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS); |
- } else if (use_spellcheck_and_search) { |
- AppendSpellcheckOptionsSubMenu(); |
- } |
-#endif // defined(OS_MACOSX) |
- |
- AppendPlatformEditableItems(); |
- |
- menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); |
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_SELECTALL, |
- IDS_CONTENT_CONTEXT_SELECTALL); |
+ IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS); |
} |
void RenderViewContextMenu::AppendSpellingSuggestionsSubMenu() { |
@@ -1045,15 +1043,6 @@ void RenderViewContextMenu::AppendSpellingSuggestionsSubMenu() { |
spelling_menu_observer_->InitMenu(params_); |
} |
-void RenderViewContextMenu::AppendSpellcheckOptionsSubMenu() { |
- if (!spellchecker_submenu_observer_.get()) { |
- spellchecker_submenu_observer_.reset(new SpellCheckerSubMenuObserver( |
- this, this, kSpellcheckRadioGroup)); |
- } |
- spellchecker_submenu_observer_->InitMenu(params_); |
- observers_.AddObserver(spellchecker_submenu_observer_.get()); |
-} |
- |
void RenderViewContextMenu::AppendProtocolHandlerSubMenu() { |
const ProtocolHandlerRegistry::ProtocolHandlerList handlers = |
GetHandlersForLinkUrl(); |