summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tab_contents/render_view_context_menu.cc
diff options
context:
space:
mode:
authorjcivelli@google.com <jcivelli@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-06 22:21:02 +0000
committerjcivelli@google.com <jcivelli@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-06 22:21:02 +0000
commit85d252e22b6bec161873a0b5656d59c8ebe04e30 (patch)
tree937f8add8eac344f93d6a8ec6604796f371c761c /chrome/browser/tab_contents/render_view_context_menu.cc
parentd41661b5e24c8d774acea07c05ef2e5896587e56 (diff)
downloadchromium_src-85d252e22b6bec161873a0b5656d59c8ebe04e30.zip
chromium_src-85d252e22b6bec161873a0b5656d59c8ebe04e30.tar.gz
chromium_src-85d252e22b6bec161873a0b5656d59c8ebe04e30.tar.bz2
Changing the translate back-end to use the Google Translate element.
When the user indicates that a page should be translated, the browser first fetches the Google Translate Element JS code. It then sends it to the renderer, which injects the script in the page, waits for the Translate element to be initialized and then calls the translate method on it. The TranslationService class previously used to translate text chunks is now unused and has been removed. Some of its static methods that are still used have been moved to the TranslateManager class. This CL also implements the "revert" translation behavior. BUG=35474,37778,35553,39375 TEST=Test the translation feature extensively. Review URL: http://codereview.chromium.org/1599016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43768 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/tab_contents/render_view_context_menu.cc')
-rw-r--r--chrome/browser/tab_contents/render_view_context_menu.cc20
1 files changed, 8 insertions, 12 deletions
diff --git a/chrome/browser/tab_contents/render_view_context_menu.cc b/chrome/browser/tab_contents/render_view_context_menu.cc
index da20bec..9a4f951 100644
--- a/chrome/browser/tab_contents/render_view_context_menu.cc
+++ b/chrome/browser/tab_contents/render_view_context_menu.cc
@@ -26,7 +26,6 @@
#include "chrome/browser/pref_service.h"
#include "chrome/browser/profile.h"
#include "chrome/browser/renderer_host/render_view_host.h"
-#include "chrome/browser/renderer_host/translation_service.h"
#include "chrome/browser/search_engines/template_url_model.h"
#include "chrome/browser/spellcheck_host.h"
#include "chrome/browser/spellchecker_platform_engine.h"
@@ -407,15 +406,11 @@ void RenderViewContextMenu::AppendPageItems() {
AppendSeparator();
AppendMenuItem(IDS_CONTENT_CONTEXT_SAVEPAGEAS);
AppendMenuItem(IDS_CONTENT_CONTEXT_PRINT);
- if (TranslationService::IsTranslationEnabled() ||
- TranslateManager::test_enabled()) {
- std::string locale = g_browser_process->GetApplicationLocale();
- locale = TranslationService::GetLanguageCode(locale);
- string16 language =
- l10n_util::GetDisplayNameForLocale(locale, locale, true);
- AppendMenuItem(IDS_CONTENT_CONTEXT_TRANSLATE,
- l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
- }
+ std::string locale = g_browser_process->GetApplicationLocale();
+ locale = TranslateManager::GetLanguageCode(locale);
+ string16 language = l10n_util::GetDisplayNameForLocale(locale, locale, true);
+ AppendMenuItem(IDS_CONTENT_CONTEXT_TRANSLATE,
+ l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
AppendMenuItem(IDS_CONTENT_CONTEXT_VIEWPAGESOURCE);
AppendMenuItem(IDS_CONTENT_CONTEXT_VIEWPAGEINFO);
}
@@ -1052,13 +1047,14 @@ void RenderViewContextMenu::ExecuteItemCommand(int id) {
std::string original_lang =
source_tab_contents_->language_state().original_language();
std::string target_lang = g_browser_process->GetApplicationLocale();
- target_lang = TranslationService::GetLanguageCode(target_lang);
+ target_lang = TranslateManager::GetLanguageCode(target_lang);
// 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());
- source_tab_contents_->TranslatePage(original_lang, target_lang);
+ Singleton<TranslateManager>::get()->TranslatePage(
+ source_tab_contents_, original_lang, target_lang);
break;
}