summaryrefslogtreecommitdiffstats
path: root/chrome/browser/translate
diff options
context:
space:
mode:
authornaiem.shaik@gmail.com <naiem.shaik@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-22 17:32:09 +0000
committernaiem.shaik@gmail.com <naiem.shaik@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-22 17:32:09 +0000
commit061e35ea3643e7b6828a583422a73bdd00dc3197 (patch)
tree732325e406f1f37dd6db800d06539a11dd7e83ae /chrome/browser/translate
parent00b73a2e56010ca6f97441fb3351e2cca9705af6 (diff)
downloadchromium_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.cc3
-rw-r--r--chrome/browser/translate/translate_tab_helper.cc19
-rw-r--r--chrome/browser/translate/translate_tab_helper.h1
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;