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

Side by Side 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, 4 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" 5 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <set> 10 #include <set>
(...skipping 1175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1186 menu_model_.AddItemWithStringId(IDC_BACK, IDS_CONTENT_CONTEXT_BACK); 1186 menu_model_.AddItemWithStringId(IDC_BACK, IDS_CONTENT_CONTEXT_BACK);
1187 menu_model_.AddItemWithStringId(IDC_FORWARD, IDS_CONTENT_CONTEXT_FORWARD); 1187 menu_model_.AddItemWithStringId(IDC_FORWARD, IDS_CONTENT_CONTEXT_FORWARD);
1188 menu_model_.AddItemWithStringId(IDC_RELOAD, IDS_CONTENT_CONTEXT_RELOAD); 1188 menu_model_.AddItemWithStringId(IDC_RELOAD, IDS_CONTENT_CONTEXT_RELOAD);
1189 menu_model_.AddSeparator(ui::NORMAL_SEPARATOR); 1189 menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
1190 menu_model_.AddItemWithStringId(IDC_SAVE_PAGE, 1190 menu_model_.AddItemWithStringId(IDC_SAVE_PAGE,
1191 IDS_CONTENT_CONTEXT_SAVEPAGEAS); 1191 IDS_CONTENT_CONTEXT_SAVEPAGEAS);
1192 menu_model_.AddItemWithStringId(IDC_PRINT, IDS_CONTENT_CONTEXT_PRINT); 1192 menu_model_.AddItemWithStringId(IDC_PRINT, IDS_CONTENT_CONTEXT_PRINT);
1193 AppendMediaRouterItem(); 1193 AppendMediaRouterItem();
1194 1194
1195 if (TranslateService::IsTranslatableURL(params_.page_url)) { 1195 if (TranslateService::IsTranslatableURL(params_.page_url)) {
1196 std::string locale = g_browser_process->GetApplicationLocale(); 1196 std::unique_ptr<translate::TranslatePrefs> prefs(
1197 locale = translate::TranslateDownloadManager::GetLanguageCode(locale); 1197 ChromeTranslateClient::CreateTranslatePrefs(
1198 GetPrefs(browser_context_)));
1199 std::string locale =
1200 translate::TranslateManager::GetTargetLanguage(prefs.get());
1198 base::string16 language = 1201 base::string16 language =
1199 l10n_util::GetDisplayNameForLocale(locale, locale, true); 1202 l10n_util::GetDisplayNameForLocale(locale, locale, true);
1200 menu_model_.AddItem( 1203 menu_model_.AddItem(
1201 IDC_CONTENT_CONTEXT_TRANSLATE, 1204 IDC_CONTENT_CONTEXT_TRANSLATE,
1202 l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language)); 1205 l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
1203 AddGoogleIconToLastMenuItem(&menu_model_); 1206 AddGoogleIconToLastMenuItem(&menu_model_);
1204 } 1207 }
1205 } 1208 }
1206 1209
1207 void RenderViewContextMenu::AppendExitFullscreenItem() { 1210 void RenderViewContextMenu::AppendExitFullscreenItem() {
(...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after
1972 ChromeTranslateClient::FromWebContents(embedder_web_contents_); 1975 ChromeTranslateClient::FromWebContents(embedder_web_contents_);
1973 // If no |chrome_translate_client| attached with this WebContents or we're 1976 // If no |chrome_translate_client| attached with this WebContents or we're
1974 // viewing in a MimeHandlerViewGuest translate will be disabled. 1977 // viewing in a MimeHandlerViewGuest translate will be disabled.
1975 if (!chrome_translate_client || 1978 if (!chrome_translate_client ||
1976 !!extensions::MimeHandlerViewGuest::FromWebContents( 1979 !!extensions::MimeHandlerViewGuest::FromWebContents(
1977 source_web_contents_)) { 1980 source_web_contents_)) {
1978 return false; 1981 return false;
1979 } 1982 }
1980 std::string original_lang = 1983 std::string original_lang =
1981 chrome_translate_client->GetLanguageState().original_language(); 1984 chrome_translate_client->GetLanguageState().original_language();
1982 std::string target_lang = g_browser_process->GetApplicationLocale(); 1985 std::unique_ptr<translate::TranslatePrefs> prefs(
1983 target_lang = 1986 ChromeTranslateClient::CreateTranslatePrefs(
1984 translate::TranslateDownloadManager::GetLanguageCode(target_lang); 1987 GetPrefs(browser_context_)));
1988 std::string target_lang =
1989 translate::TranslateManager::GetTargetLanguage(prefs.get());
1985 // Note that we intentionally enable the menu even if the original and 1990 // Note that we intentionally enable the menu even if the original and
1986 // target languages are identical. This is to give a way to user to 1991 // target languages are identical. This is to give a way to user to
1987 // translate a page that might contains text fragments in a different 1992 // translate a page that might contains text fragments in a different
1988 // language. 1993 // language.
1989 return ((params_.edit_flags & WebContextMenuData::CanTranslate) != 0) && 1994 return ((params_.edit_flags & WebContextMenuData::CanTranslate) != 0) &&
1990 !original_lang.empty() && // Did we receive the page language yet? 1995 !original_lang.empty() && // Did we receive the page language yet?
1991 !chrome_translate_client->GetLanguageState().IsPageTranslated() && 1996 !chrome_translate_client->GetLanguageState().IsPageTranslated() &&
1992 !embedder_web_contents_->GetInterstitialPage() && 1997 !embedder_web_contents_->GetInterstitialPage() &&
1993 // There are some application locales which can't be used as a 1998 // There are some application locales which can't be used as a
1994 // target language for translation. 1999 // target language for translation. In that case GetTargetLanguage()
1995 translate::TranslateDownloadManager::IsSupportedLanguage( 2000 // may return empty.
1996 target_lang) && 2001 !target_lang.empty() &&
1997 // Disable on the Instant Extended NTP. 2002 // Disable on the Instant Extended NTP.
1998 !search::IsInstantNTP(embedder_web_contents_); 2003 !search::IsInstantNTP(embedder_web_contents_);
1999 } 2004 }
2000 2005
2001 bool RenderViewContextMenu::IsSaveLinkAsEnabled() const { 2006 bool RenderViewContextMenu::IsSaveLinkAsEnabled() const {
2002 PrefService* local_state = g_browser_process->local_state(); 2007 PrefService* local_state = g_browser_process->local_state();
2003 DCHECK(local_state); 2008 DCHECK(local_state);
2004 // Test if file-selection dialogs are forbidden by policy. 2009 // Test if file-selection dialogs are forbidden by policy.
2005 if (!local_state->GetBoolean(prefs::kAllowFileSelectionDialogs)) 2010 if (!local_state->GetBoolean(prefs::kAllowFileSelectionDialogs))
2006 return false; 2011 return false;
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
2387 ChromeTranslateClient* chrome_translate_client = 2392 ChromeTranslateClient* chrome_translate_client =
2388 ChromeTranslateClient::FromWebContents(embedder_web_contents_); 2393 ChromeTranslateClient::FromWebContents(embedder_web_contents_);
2389 if (!chrome_translate_client || 2394 if (!chrome_translate_client ||
2390 chrome_translate_client->GetLanguageState().IsPageTranslated() || 2395 chrome_translate_client->GetLanguageState().IsPageTranslated() ||
2391 chrome_translate_client->GetLanguageState().translation_pending()) { 2396 chrome_translate_client->GetLanguageState().translation_pending()) {
2392 return; 2397 return;
2393 } 2398 }
2394 2399
2395 std::string original_lang = 2400 std::string original_lang =
2396 chrome_translate_client->GetLanguageState().original_language(); 2401 chrome_translate_client->GetLanguageState().original_language();
2397 std::string target_lang =
2398 translate::TranslateDownloadManager::GetLanguageCode(
2399 g_browser_process->GetApplicationLocale());
2400 2402
2401 // Since the user decided to translate for that language and site, clears 2403 // Since the user decided to translate for that language and site, clears
2402 // any preferences for not translating them. 2404 // any preferences for not translating them.
2403 std::unique_ptr<translate::TranslatePrefs> prefs( 2405 std::unique_ptr<translate::TranslatePrefs> prefs(
2404 ChromeTranslateClient::CreateTranslatePrefs( 2406 ChromeTranslateClient::CreateTranslatePrefs(
2405 GetPrefs(browser_context_))); 2407 GetPrefs(browser_context_)));
2408 std::string target_lang =
2409 translate::TranslateManager::GetTargetLanguage(prefs.get());
2406 prefs->UnblockLanguage(original_lang); 2410 prefs->UnblockLanguage(original_lang);
2407 prefs->RemoveSiteFromBlacklist(params_.page_url.HostNoBrackets()); 2411 prefs->RemoveSiteFromBlacklist(params_.page_url.HostNoBrackets());
2408 2412
2409 translate::TranslateManager* manager = 2413 translate::TranslateManager* manager =
2410 chrome_translate_client->GetTranslateManager(); 2414 chrome_translate_client->GetTranslateManager();
2411 DCHECK(manager); 2415 DCHECK(manager);
2412 manager->TranslatePage(original_lang, target_lang, true); 2416 manager->TranslatePage(original_lang, target_lang, true);
2413 } 2417 }
2414 2418
2415 void RenderViewContextMenu::ExecLanguageSettings(int event_flags) { 2419 void RenderViewContextMenu::ExecLanguageSettings(int event_flags) {
(...skipping 22 matching lines...) Expand all
2438 source_web_contents_->GetRenderViewHost()-> 2442 source_web_contents_->GetRenderViewHost()->
2439 ExecuteMediaPlayerActionAtLocation(location, action); 2443 ExecuteMediaPlayerActionAtLocation(location, action);
2440 } 2444 }
2441 2445
2442 void RenderViewContextMenu::PluginActionAt( 2446 void RenderViewContextMenu::PluginActionAt(
2443 const gfx::Point& location, 2447 const gfx::Point& location,
2444 const WebPluginAction& action) { 2448 const WebPluginAction& action) {
2445 source_web_contents_->GetRenderViewHost()-> 2449 source_web_contents_->GetRenderViewHost()->
2446 ExecutePluginActionAtLocation(location, action); 2450 ExecutePluginActionAtLocation(location, action);
2447 } 2451 }
OLDNEW
« 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