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

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

Issue 564743002: Move Translate browser-side IPC handling to the component. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments Created 6 years, 3 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
« no previous file with comments | « chrome/browser/translate/chrome_translate_client.h ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 9933d33bd829bf62b640fee7a666593a88b06046..16b384e1031fa29147ad5b51f939923e78fc06c6 100644
--- a/chrome/browser/translate/chrome_translate_client.cc
+++ b/chrome/browser/translate/chrome_translate_client.cc
@@ -61,6 +61,7 @@ ChromeTranslateClient::ChromeTranslateClient(content::WebContents* web_contents)
new translate::TranslateManager(this, prefs::kAcceptLanguages)),
cld_data_provider_(
translate::CreateBrowserCldDataProviderFor(web_contents)) {
+ translate_driver_.AddObserver(this);
translate_driver_.set_translate_manager(translate_manager_.get());
// Customization: for the standalone data source, we configure the path to
// CLD data immediately on startup.
@@ -81,6 +82,7 @@ ChromeTranslateClient::ChromeTranslateClient(content::WebContents* web_contents)
}
ChromeTranslateClient::~ChromeTranslateClient() {
+ translate_driver_.RemoveObserver(this);
}
translate::LanguageState& ChromeTranslateClient::GetLanguageState() {
@@ -263,20 +265,7 @@ void ChromeTranslateClient::ShowReportLanguageDetectionErrorUI(
}
bool ChromeTranslateClient::OnMessageReceived(const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(ChromeTranslateClient, message)
- IPC_MESSAGE_HANDLER(ChromeViewHostMsg_TranslateAssignedSequenceNumber,
- OnTranslateAssignedSequenceNumber)
- IPC_MESSAGE_HANDLER(ChromeViewHostMsg_TranslateLanguageDetermined,
- OnLanguageDetermined)
- IPC_MESSAGE_HANDLER(ChromeViewHostMsg_PageTranslated, OnPageTranslated)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
-
- if (!handled) {
- handled = cld_data_provider_->OnMessageReceived(message);
- }
- return handled;
+ return cld_data_provider_->OnMessageReceived(message);
}
void ChromeTranslateClient::WebContentsDestroyed() {
@@ -286,19 +275,12 @@ void ChromeTranslateClient::WebContentsDestroyed() {
translate_manager_.reset();
}
-void ChromeTranslateClient::OnTranslateAssignedSequenceNumber(int page_seq_no) {
- translate_manager_->set_current_seq_no(page_seq_no);
-}
+// ContentTranslateDriver::Observer implementation.
void ChromeTranslateClient::OnLanguageDetermined(
- const translate::LanguageDetectionDetails& details,
- bool page_needs_translation) {
- GetLanguageState().LanguageDetermined(details.adopted_language,
- page_needs_translation);
-
- if (web_contents())
- translate_manager_->InitiateTranslation(details.adopted_language);
-
+ const translate::LanguageDetectionDetails& details) {
+ // TODO: Remove translate notifications and have the clients be
+ // ContentTranslateDriver::Observer directly instead.
content::NotificationService::current()->Notify(
chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
content::Source<content::WebContents>(web_contents()),
@@ -309,10 +291,9 @@ void ChromeTranslateClient::OnPageTranslated(
const std::string& original_lang,
const std::string& translated_lang,
translate::TranslateErrors::Type error_type) {
+ // TODO: Remove translate notifications and have the clients be
+ // ContentTranslateDriver::Observer directly instead.
DCHECK(web_contents());
- translate_manager_->PageTranslated(
- original_lang, translated_lang, error_type);
-
translate::PageTranslatedDetails details;
details.source_language = original_lang;
details.target_language = translated_lang;
« no previous file with comments | « chrome/browser/translate/chrome_translate_client.h ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698