diff options
author | naiem.shaik@gmail.com <naiem.shaik@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-22 17:32:09 +0000 |
---|---|---|
committer | naiem.shaik@gmail.com <naiem.shaik@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-22 17:32:09 +0000 |
commit | 061e35ea3643e7b6828a583422a73bdd00dc3197 (patch) | |
tree | 732325e406f1f37dd6db800d06539a11dd7e83ae /chrome/browser/translate | |
parent | 00b73a2e56010ca6f97441fb3351e2cca9705af6 (diff) | |
download | chromium_src-061e35ea3643e7b6828a583422a73bdd00dc3197.zip chromium_src-061e35ea3643e7b6828a583422a73bdd00dc3197.tar.gz chromium_src-061e35ea3643e7b6828a583422a73bdd00dc3197.tar.bz2 |
LanguageState should be owned by TranslateManager
LanguageState is currently owned by ContentTranslateManager,
but it should be moved under TranslateManager
BUG=345690
TEST=unittests --gtest_filter=Translate*
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/290573013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272217 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/translate')
-rw-r--r-- | chrome/browser/translate/translate_infobar_delegate.cc | 3 | ||||
-rw-r--r-- | chrome/browser/translate/translate_tab_helper.cc | 19 | ||||
-rw-r--r-- | chrome/browser/translate/translate_tab_helper.h | 1 |
3 files changed, 14 insertions, 9 deletions
diff --git a/chrome/browser/translate/translate_infobar_delegate.cc b/chrome/browser/translate/translate_infobar_delegate.cc index ccb0641..405a071 100644 --- a/chrome/browser/translate/translate_infobar_delegate.cc +++ b/chrome/browser/translate/translate_infobar_delegate.cc @@ -79,8 +79,7 @@ void TranslateInfoBarDelegate::Create( // Do not create the after translate infobar if we are auto translating. if (((step == translate::TRANSLATE_STEP_AFTER_TRANSLATE) || (step == translate::TRANSLATE_STEP_TRANSLATING)) && - translate_manager->translate_client()->GetTranslateDriver() - ->GetLanguageState().InTranslateNavigation()) { + translate_manager->GetLanguageState().InTranslateNavigation()) { return; } diff --git a/chrome/browser/translate/translate_tab_helper.cc b/chrome/browser/translate/translate_tab_helper.cc index 668e7f1..f59c41c 100644 --- a/chrome/browser/translate/translate_tab_helper.cc +++ b/chrome/browser/translate/translate_tab_helper.cc @@ -23,6 +23,7 @@ #include "chrome/browser/ui/translate/translate_bubble_factory.h" #include "chrome/common/pref_names.h" #include "components/translate/content/common/translate_messages.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" #include "components/translate/core/browser/translate_download_manager.h" @@ -80,7 +81,7 @@ TranslateTabHelper::~TranslateTabHelper() { } LanguageState& TranslateTabHelper::GetLanguageState() { - return translate_driver_.GetLanguageState(); + return translate_manager_->GetLanguageState(); } // static @@ -267,7 +268,7 @@ void TranslateTabHelper::NavigationEntryCommitted( } if (!load_details.is_main_frame && - translate_driver_.GetLanguageState().translation_declined()) { + GetLanguageState().translation_declined()) { // Some sites (such as Google map) may trigger sub-frame navigations // when the user interacts with the page. We don't want to show a new // infobar if the user already dismissed one in that case. @@ -280,7 +281,7 @@ void TranslateTabHelper::NavigationEntryCommitted( return; } - if (!translate_driver_.GetLanguageState().page_needs_translation()) + if (!GetLanguageState().page_needs_translation()) return; // Note that we delay it as the ordering of the processing of this callback @@ -291,7 +292,7 @@ void TranslateTabHelper::NavigationEntryCommitted( FROM_HERE, base::Bind(&TranslateTabHelper::InitiateTranslation, weak_pointer_factory_.GetWeakPtr(), - translate_driver_.GetLanguageState().original_language(), + GetLanguageState().original_language(), 0)); } @@ -299,7 +300,11 @@ void TranslateTabHelper::DidNavigateAnyFrame( const content::LoadCommittedDetails& details, const content::FrameNavigateParams& params) { // Let the LanguageState clear its state. - translate_driver_.DidNavigate(details); + const bool reload = + details.entry->GetTransitionType() == content::PAGE_TRANSITION_RELOAD || + details.type == content::NAVIGATION_TYPE_SAME_PAGE; + GetLanguageState().DidNavigate( + details.is_in_page, details.is_main_frame, reload); } void TranslateTabHelper::WebContentsDestroyed() { @@ -445,7 +450,7 @@ void TranslateTabHelper::HandleCLDDataRequest() { void TranslateTabHelper::InitiateTranslation(const std::string& page_lang, int attempt) { - if (translate_driver_.GetLanguageState().translation_pending()) + if (GetLanguageState().translation_pending()) return; // During a reload we need web content to be available before the @@ -471,7 +476,7 @@ void TranslateTabHelper::InitiateTranslation(const std::string& page_lang, void TranslateTabHelper::OnLanguageDetermined( const LanguageDetectionDetails& details, bool page_needs_translation) { - translate_driver_.GetLanguageState().LanguageDetermined( + GetLanguageState().LanguageDetermined( details.adopted_language, page_needs_translation); if (web_contents()) diff --git a/chrome/browser/translate/translate_tab_helper.h b/chrome/browser/translate/translate_tab_helper.h index d497cbd..08c70f0 100644 --- a/chrome/browser/translate/translate_tab_helper.h +++ b/chrome/browser/translate/translate_tab_helper.h @@ -38,6 +38,7 @@ class ScopedCLDDynamicDataHarness; } // namespace test struct LanguageDetectionDetails; +class LanguageState; class PrefService; class TranslateAcceptLanguages; class TranslatePrefs; |