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 efaa96a83b148475144cece67fb5ef52641a5848..82f504d02cd92b09656858f5315219499c0a8201 100644 |
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
@@ -120,6 +120,10 @@ |
#include "ui/gfx/path.h" |
#include "ui/gfx/text_elider.h" |
+#if !defined(USE_BROWSER_SPELLCHECKER) |
+#include "chrome/browser/renderer_context_menu/spellchecker_submenu_observer.h" |
+#endif |
+ |
#if defined(ENABLE_EXTENSIONS) |
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" |
#endif |
@@ -270,9 +274,10 @@ const struct UmaEnumCommandIdPair { |
{69, -1, IDC_CONTENT_CONTEXT_COPYLINKTEXT}, |
{70, -1, IDC_CONTENT_CONTEXT_OPENLINKINPROFILE}, |
{71, -1, IDC_OPEN_LINK_IN_PROFILE_FIRST}, |
+ {72, -1, IDC_SPELLCHECK_MULTI_LINGUAL}, |
// Add new items here and use |enum_id| from the next line. |
// Also, add new items to RenderViewContextMenuItem enum in histograms.xml. |
- {72, -1, 0}, // Must be the last. Increment |enum_id| when new IDC |
+ {73, -1, 0}, // Must be the last. Increment |enum_id| when new IDC |
// was added. |
}; |
@@ -441,6 +446,8 @@ void OnProfileCreated(chrome::HostDesktopType desktop_type, |
} |
} |
+const int kSpellcheckRadioGroup = 1; |
+ |
} // namespace |
// static |
@@ -1183,7 +1190,7 @@ void RenderViewContextMenu::AppendEditableItems() { |
const bool use_spellcheck_and_search = !chrome::IsRunningInForcedAppMode(); |
if (use_spellcheck_and_search) |
- AppendSpellingSuggestionsSubMenu(); |
+ AppendSpellcheckSuggestionItems(); |
// 'Undo' and 'Redo' for text input with no suggestions and no text selected. |
// We make an exception for OS X as context clicking will select the closest |
@@ -1221,13 +1228,24 @@ void RenderViewContextMenu::AppendEditableItems() { |
void RenderViewContextMenu::AppendLanguageSettings() { |
const bool use_spellcheck_and_search = !chrome::IsRunningInForcedAppMode(); |
+ if (!use_spellcheck_and_search) |
+ return; |
- if (use_spellcheck_and_search) |
+#if defined(USE_BROWSER_SPELLCHECKER) |
menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS, |
IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS); |
+#else |
+ if (!spellchecker_submenu_observer_.get()) { |
lazyboy
2016/01/28 20:36:24
.get() is unnecessary.
please use gerrit instead
2016/01/28 21:41:59
Done.
|
+ spellchecker_submenu_observer_.reset( |
+ new SpellCheckerSubMenuObserver(this, this, kSpellcheckRadioGroup)); |
+ } |
+ |
+ spellchecker_submenu_observer_->InitMenu(params_); |
+ observers_.AddObserver(spellchecker_submenu_observer_.get()); |
+#endif |
} |
-void RenderViewContextMenu::AppendSpellingSuggestionsSubMenu() { |
+void RenderViewContextMenu::AppendSpellcheckSuggestionItems() { |
lazyboy
2016/01/28 20:36:24
I always get confused by Spelling*Menu and Spellch
please use gerrit instead
2016/01/28 21:41:59
Changed everything to use the word "Spelling" inst
lazyboy
2016/02/01 19:23:33
Got it, thanks.
|
if (!spelling_menu_observer_.get()) |
spelling_menu_observer_.reset(new SpellingMenuObserver(this)); |
observers_.AddObserver(spelling_menu_observer_.get()); |