Index: components/translate/core/browser/translate_manager.cc |
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc |
index dcc8c3084fc07dba176be7a981cfa773c989ed0b..a7467e3fa84e6e778026e76959b7e167ed10bf84 100644 |
--- a/components/translate/core/browser/translate_manager.cc |
+++ b/components/translate/core/browser/translate_manager.cc |
@@ -73,7 +73,9 @@ TranslateManager::TranslateManager( |
: accept_languages_pref_name_(accept_languages_pref_name), |
translate_client_(translate_client), |
translate_driver_(translate_client_->GetTranslateDriver()), |
- weak_method_factory_(this) {} |
+ language_state_(translate_driver_), |
+ weak_method_factory_(this) { |
+} |
base::WeakPtr<TranslateManager> TranslateManager::GetWeakPtr() { |
return weak_method_factory_.GetWeakPtr(); |
@@ -82,11 +84,10 @@ base::WeakPtr<TranslateManager> TranslateManager::GetWeakPtr() { |
void TranslateManager::InitiateTranslation(const std::string& page_lang) { |
// Short-circuit out if not in a state where initiating translation makes |
// sense (this method may be called muhtiple times for a given page). |
- LanguageState& language_state = translate_driver_->GetLanguageState(); |
- if (!language_state.page_needs_translation() || |
- language_state.translation_pending() || |
- language_state.translation_declined() || |
- language_state.IsPageTranslated()) { |
+ if (!language_state_.page_needs_translation() || |
+ language_state_.translation_pending() || |
+ language_state_.translation_declined() || |
+ language_state_.IsPageTranslated()) { |
return; |
} |
@@ -190,7 +191,7 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) { |
} |
} |
- std::string auto_translate_to = language_state.AutoTranslateTo(); |
+ std::string auto_translate_to = language_state_.AutoTranslateTo(); |
if (!auto_translate_to.empty()) { |
// This page was navigated through a click from a translated page. |
TranslateBrowserMetrics::ReportInitiationStatus( |
@@ -252,8 +253,7 @@ void TranslateManager::TranslatePage(const std::string& original_source_lang, |
void TranslateManager::RevertTranslation() { |
translate_driver_->RevertTranslation(); |
- translate_driver_->GetLanguageState().SetCurrentLanguage( |
- translate_driver_->GetLanguageState().original_language()); |
+ language_state_.SetCurrentLanguage(language_state_.original_language()); |
} |
void TranslateManager::ReportLanguageDetectionError() { |
@@ -266,10 +266,10 @@ void TranslateManager::ReportLanguageDetectionError() { |
kUrlQueryName, |
translate_driver_->GetActiveURL().spec()); |
- report_error_url = net::AppendQueryParameter( |
- report_error_url, |
- kSourceLanguageQueryName, |
- translate_driver_->GetLanguageState().original_language()); |
+ report_error_url = |
+ net::AppendQueryParameter(report_error_url, |
+ kSourceLanguageQueryName, |
+ language_state_.original_language()); |
report_error_url = TranslateURLUtil::AddHostLocaleToUrl(report_error_url); |
report_error_url = TranslateURLUtil::AddApiKeyToUrl(report_error_url); |
@@ -280,15 +280,15 @@ void TranslateManager::ReportLanguageDetectionError() { |
void TranslateManager::DoTranslatePage(const std::string& translate_script, |
const std::string& source_lang, |
const std::string& target_lang) { |
- translate_driver_->GetLanguageState().set_translation_pending(true); |
+ language_state_.set_translation_pending(true); |
translate_driver_->TranslatePage(translate_script, source_lang, target_lang); |
} |
void TranslateManager::PageTranslated(const std::string& source_lang, |
const std::string& target_lang, |
TranslateErrors::Type error_type) { |
- translate_driver_->GetLanguageState().SetCurrentLanguage(target_lang); |
- translate_driver_->GetLanguageState().set_translation_pending(false); |
+ language_state_.SetCurrentLanguage(target_lang); |
+ language_state_.set_translation_pending(false); |
if ((error_type == TranslateErrors::NONE) && |
source_lang != translate::kUnknownLanguageCode && |
@@ -385,3 +385,7 @@ std::string TranslateManager::GetAutoTargetLanguage( |
} |
return std::string(); |
} |
+ |
+LanguageState& TranslateManager::GetLanguageState() { |
+ return language_state_; |
+} |