Chromium Code Reviews| Index: chrome/browser/translate/chrome_translate_client.cc |
| diff --git a/chrome/browser/translate/chrome_translate_client.cc b/chrome/browser/translate/chrome_translate_client.cc |
| index bdda1de254536448ee35fd55d8be6d16749dd866..881e6fc49ed42bf0e2bd5d7ca5c1e3b49771fed2 100644 |
| --- a/chrome/browser/translate/chrome_translate_client.cc |
| +++ b/chrome/browser/translate/chrome_translate_client.cc |
| @@ -14,6 +14,7 @@ |
| #include "chrome/browser/chrome_notification_types.h" |
| #include "chrome/browser/infobars/infobar_service.h" |
| #include "chrome/browser/profiles/profile.h" |
| +#include "chrome/browser/translate/language_model_factory.h" |
| #include "chrome/browser/translate/translate_accept_languages_factory.h" |
| #include "chrome/browser/translate/translate_service.h" |
| #include "chrome/browser/ui/browser.h" |
| @@ -26,6 +27,7 @@ |
| #include "chrome/common/pref_names.h" |
| #include "chrome/grit/theme_resources.h" |
| #include "components/prefs/pref_service.h" |
| +#include "components/translate/core/browser/language_model.h" |
| #include "components/translate/core/browser/language_state.h" |
| #include "components/translate/core/browser/page_translated_details.h" |
| #include "components/translate/core/browser/translate_accept_languages.h" |
| @@ -46,7 +48,10 @@ ChromeTranslateClient::ChromeTranslateClient(content::WebContents* web_contents) |
| : content::WebContentsObserver(web_contents), |
| translate_driver_(&web_contents->GetController()), |
| translate_manager_( |
| - new translate::TranslateManager(this, prefs::kAcceptLanguages)) { |
| + new translate::TranslateManager(this, prefs::kAcceptLanguages)), |
| + language_model_( |
| + LanguageModelFactory::GetInstance()->GetForBrowserContext( |
| + web_contents->GetBrowserContext())) { |
|
droger
2016/10/05 15:39:59
DCHECK(language_model_) ?
jkrcal
2016/10/06 08:50:58
Done.
|
| translate_driver_.AddObserver(this); |
| translate_driver_.set_translate_manager(translate_manager_.get()); |
| } |
| @@ -276,6 +281,10 @@ void ChromeTranslateClient::OnLanguageDetermined( |
| chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, |
| content::Source<content::WebContents>(web_contents()), |
| content::Details<const translate::LanguageDetectionDetails>(&details)); |
| + |
| + // Notify the model about detected language of every page visited. |
| + if (details.is_cld_reliable) |
| + language_model_->OnPageVisited(details.cld_language); |
| } |
| void ChromeTranslateClient::OnPageTranslated( |