diff options
author | jcivelli@chromium.org <jcivelli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-19 00:52:05 +0000 |
---|---|---|
committer | jcivelli@chromium.org <jcivelli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-19 00:52:05 +0000 |
commit | d905e7a7d5efb36cfa2ac0e474ffe8fed5008017 (patch) | |
tree | 76dda9173e629f7367f2511d19653fbdfd43c0de /chrome/browser/tab_contents | |
parent | 6dc033c2daee6c71bec401c3324c4440975561bc (diff) | |
download | chromium_src-d905e7a7d5efb36cfa2ac0e474ffe8fed5008017.zip chromium_src-d905e7a7d5efb36cfa2ac0e474ffe8fed5008017.tar.gz chromium_src-d905e7a7d5efb36cfa2ac0e474ffe8fed5008017.tar.bz2 |
Porting the infobars on Linux to the new TranslateInfobarDelegate2 (relanding)
Each translate infobar is now its own class and most of the logic is in the delegate.
Original review:
http://codereview.chromium.org/2836006/show
BUG=40828
TEST=Thoroughly test the translate feature on Linux.
Review URL: http://codereview.chromium.org/2817015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50308 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/tab_contents')
-rw-r--r-- | chrome/browser/tab_contents/render_view_context_menu.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/chrome/browser/tab_contents/render_view_context_menu.cc b/chrome/browser/tab_contents/render_view_context_menu.cc index ef4e6d7..30e004a 100644 --- a/chrome/browser/tab_contents/render_view_context_menu.cc +++ b/chrome/browser/tab_contents/render_view_context_menu.cc @@ -35,7 +35,7 @@ #include "chrome/browser/tab_contents/navigation_entry.h" #include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/browser/translate/translate_manager.h" -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(OS_LINUX) #include "chrome/browser/translate/translate_manager2.h" #endif #include "chrome/common/chrome_switches.h" @@ -449,7 +449,11 @@ void RenderViewContextMenu::AppendPageItems() { menu_model_.AddItemWithStringId(IDC_PRINT, IDS_CONTENT_CONTEXT_PRINT); std::string locale = g_browser_process->GetApplicationLocale(); +#if defined(OS_WIN) || defined(OS_LINUX) + locale = TranslateManager2::GetLanguageCode(locale); +#else locale = TranslateManager::GetLanguageCode(locale); +#endif string16 language = l10n_util::GetDisplayNameForLocale(locale, locale, true); menu_model_.AddItem( IDC_CONTENT_CONTEXT_TRANSLATE, @@ -723,11 +727,19 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) const { std::string original_lang = source_tab_contents_->language_state().original_language(); std::string target_lang = g_browser_process->GetApplicationLocale(); +#if defined(OS_WIN) || defined(OS_LINUX) + target_lang = TranslateManager2::GetLanguageCode(target_lang); +#else target_lang = TranslateManager::GetLanguageCode(target_lang); +#endif return original_lang != target_lang && !source_tab_contents_->language_state().IsPageTranslated() && !source_tab_contents_->interstitial_page() && +#if defined(OS_WIN) || defined(OS_LINUX) + TranslateManager2::IsTranslatableURL(params_.page_url); +#else TranslateManager::IsTranslatableURL(params_.page_url); +#endif } case IDC_CONTENT_CONTEXT_OPENLINKNEWTAB: @@ -1132,13 +1144,17 @@ void RenderViewContextMenu::ExecuteCommand(int id) { std::string original_lang = source_tab_contents_->language_state().original_language(); std::string target_lang = g_browser_process->GetApplicationLocale(); +#if defined(OS_WIN) || defined(OS_LINUX) + target_lang = TranslateManager2::GetLanguageCode(target_lang); +#else target_lang = TranslateManager::GetLanguageCode(target_lang); +#endif // Since the user decided to translate for that language and site, clears // any preferences for not translating them. TranslatePrefs prefs(profile_->GetPrefs()); prefs.RemoveLanguageFromBlacklist(original_lang); prefs.RemoveSiteFromBlacklist(params_.page_url.HostNoBrackets()); -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(OS_LINUX) Singleton<TranslateManager2>::get()->TranslatePage( source_tab_contents_, original_lang, target_lang); #else |