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

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

Issue 2189283002: Use TranslateManager::GetTargetLanguage() for context menu (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 210adc6d75d706936ca9186a699bc107e60d67e6..4f9a88d6bd140c1cd1065151165008028d220251 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -1193,8 +1193,11 @@ void RenderViewContextMenu::AppendPageItems() {
AppendMediaRouterItem();
if (TranslateService::IsTranslatableURL(params_.page_url)) {
- std::string locale = g_browser_process->GetApplicationLocale();
- locale = translate::TranslateDownloadManager::GetLanguageCode(locale);
+ std::unique_ptr<translate::TranslatePrefs> prefs(
+ ChromeTranslateClient::CreateTranslatePrefs(
+ GetPrefs(browser_context_)));
+ std::string locale =
+ translate::TranslateManager::GetTargetLanguage(prefs.get());
base::string16 language =
l10n_util::GetDisplayNameForLocale(locale, locale, true);
menu_model_.AddItem(
@@ -1979,9 +1982,11 @@ bool RenderViewContextMenu::IsTranslateEnabled() const {
}
std::string original_lang =
chrome_translate_client->GetLanguageState().original_language();
- std::string target_lang = g_browser_process->GetApplicationLocale();
- target_lang =
- translate::TranslateDownloadManager::GetLanguageCode(target_lang);
+ std::unique_ptr<translate::TranslatePrefs> prefs(
+ ChromeTranslateClient::CreateTranslatePrefs(
+ GetPrefs(browser_context_)));
+ std::string target_lang =
+ translate::TranslateManager::GetTargetLanguage(prefs.get());
// Note that we intentionally enable the menu even if the original and
// target languages are identical. This is to give a way to user to
// translate a page that might contains text fragments in a different
@@ -1991,9 +1996,9 @@ bool RenderViewContextMenu::IsTranslateEnabled() const {
!chrome_translate_client->GetLanguageState().IsPageTranslated() &&
!embedder_web_contents_->GetInterstitialPage() &&
// There are some application locales which can't be used as a
- // target language for translation.
- translate::TranslateDownloadManager::IsSupportedLanguage(
- target_lang) &&
+ // target language for translation. In that case GetTargetLanguage()
+ // may return empty.
+ !target_lang.empty() &&
// Disable on the Instant Extended NTP.
!search::IsInstantNTP(embedder_web_contents_);
}
@@ -2394,15 +2399,14 @@ void RenderViewContextMenu::ExecTranslate() {
std::string original_lang =
chrome_translate_client->GetLanguageState().original_language();
- std::string target_lang =
- translate::TranslateDownloadManager::GetLanguageCode(
- g_browser_process->GetApplicationLocale());
// Since the user decided to translate for that language and site, clears
// any preferences for not translating them.
std::unique_ptr<translate::TranslatePrefs> prefs(
ChromeTranslateClient::CreateTranslatePrefs(
GetPrefs(browser_context_)));
+ std::string target_lang =
+ translate::TranslateManager::GetTargetLanguage(prefs.get());
prefs->UnblockLanguage(original_lang);
prefs->RemoveSiteFromBlacklist(params_.page_url.HostNoBrackets());
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698