Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2873)

Unified Diff: chrome/browser/translate/chrome_translate_client.cc

Issue 290573013: LanguageState should be owned by TranslateManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding TBR for CL Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 15fc4fe07cb9af4b1f3d9bcd03e421bc50b17dbd..6a8afdf3d2c216d38d4a00ac5cd0dbbc7836d6ec 100644
--- a/chrome/browser/translate/chrome_translate_client.cc
+++ b/chrome/browser/translate/chrome_translate_client.cc
@@ -22,6 +22,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"
@@ -82,7 +83,7 @@ ChromeTranslateClient::~ChromeTranslateClient() {
}
LanguageState& ChromeTranslateClient::GetLanguageState() {
- return translate_driver_.GetLanguageState();
+ return translate_manager_->GetLanguageState();
}
// static
@@ -278,7 +279,7 @@ void ChromeTranslateClient::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.
@@ -291,7 +292,7 @@ void ChromeTranslateClient::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
@@ -302,7 +303,7 @@ void ChromeTranslateClient::NavigationEntryCommitted(
FROM_HERE,
base::Bind(&ChromeTranslateClient::InitiateTranslation,
weak_pointer_factory_.GetWeakPtr(),
- translate_driver_.GetLanguageState().original_language(),
+ GetLanguageState().original_language(),
0));
}
@@ -310,7 +311,11 @@ void ChromeTranslateClient::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 ChromeTranslateClient::WebContentsDestroyed() {
@@ -457,7 +462,7 @@ void ChromeTranslateClient::HandleCLDDataRequest() {
void ChromeTranslateClient::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
@@ -483,8 +488,8 @@ void ChromeTranslateClient::InitiateTranslation(const std::string& page_lang,
void ChromeTranslateClient::OnLanguageDetermined(
const LanguageDetectionDetails& details,
bool page_needs_translation) {
- translate_driver_.GetLanguageState().LanguageDetermined(
- details.adopted_language, page_needs_translation);
+ GetLanguageState().LanguageDetermined(details.adopted_language,
+ page_needs_translation);
if (web_contents())
translate_manager_->InitiateTranslation(details.adopted_language);

Powered by Google App Engine
This is Rietveld 408576698