| 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..730a088c27c15a008bbd0b61ffbfcaf62ccad194 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,11 @@ 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())) {
|
| + DCHECK(language_model_);
|
| translate_driver_.AddObserver(this);
|
| translate_driver_.set_translate_manager(translate_manager_.get());
|
| }
|
| @@ -276,6 +282,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(
|
|
|