| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/translate/translate_tab_helper.h" | 5 #include "chrome/browser/translate/translate_tab_helper.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/strings/string_split.h" | 9 #include "base/strings/string_split.h" |
| 10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 } | 345 } |
| 346 } | 346 } |
| 347 #endif // defined(CLD2_DYNAMIC_MODE) | 347 #endif // defined(CLD2_DYNAMIC_MODE) |
| 348 | 348 |
| 349 void TranslateTabHelper::OnLanguageDetermined( | 349 void TranslateTabHelper::OnLanguageDetermined( |
| 350 const LanguageDetectionDetails& details, | 350 const LanguageDetectionDetails& details, |
| 351 bool page_needs_translation) { | 351 bool page_needs_translation) { |
| 352 translate_driver_.GetLanguageState().LanguageDetermined( | 352 translate_driver_.GetLanguageState().LanguageDetermined( |
| 353 details.adopted_language, page_needs_translation); | 353 details.adopted_language, page_needs_translation); |
| 354 | 354 |
| 355 if (web_contents()) |
| 356 translate_manager_->InitiateTranslation(details.adopted_language); |
| 357 |
| 355 content::NotificationService::current()->Notify( | 358 content::NotificationService::current()->Notify( |
| 356 chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, | 359 chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, |
| 357 content::Source<content::WebContents>(web_contents()), | 360 content::Source<content::WebContents>(web_contents()), |
| 358 content::Details<const LanguageDetectionDetails>(&details)); | 361 content::Details<const LanguageDetectionDetails>(&details)); |
| 359 } | 362 } |
| 360 | 363 |
| 361 void TranslateTabHelper::OnPageTranslated(int32 page_id, | 364 void TranslateTabHelper::OnPageTranslated(int32 page_id, |
| 362 const std::string& original_lang, | 365 const std::string& original_lang, |
| 363 const std::string& translated_lang, | 366 const std::string& translated_lang, |
| 364 TranslateErrors::Type error_type) { | 367 TranslateErrors::Type error_type) { |
| 365 DCHECK(web_contents()); | 368 DCHECK(web_contents()); |
| 366 translate_driver_.GetLanguageState().SetCurrentLanguage(translated_lang); | 369 translate_manager_->PageTranslated( |
| 367 translate_driver_.GetLanguageState().set_translation_pending(false); | 370 original_lang, translated_lang, error_type); |
| 371 |
| 368 PageTranslatedDetails details; | 372 PageTranslatedDetails details; |
| 369 details.source_language = original_lang; | 373 details.source_language = original_lang; |
| 370 details.target_language = translated_lang; | 374 details.target_language = translated_lang; |
| 371 details.error_type = error_type; | 375 details.error_type = error_type; |
| 372 content::NotificationService::current()->Notify( | 376 content::NotificationService::current()->Notify( |
| 373 chrome::NOTIFICATION_PAGE_TRANSLATED, | 377 chrome::NOTIFICATION_PAGE_TRANSLATED, |
| 374 content::Source<content::WebContents>(web_contents()), | 378 content::Source<content::WebContents>(web_contents()), |
| 375 content::Details<PageTranslatedDetails>(&details)); | 379 content::Details<PageTranslatedDetails>(&details)); |
| 376 } | 380 } |
| 377 | 381 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 407 if (GetLanguageState().InTranslateNavigation()) | 411 if (GetLanguageState().InTranslateNavigation()) |
| 408 return; | 412 return; |
| 409 } | 413 } |
| 410 | 414 |
| 411 TranslateBubbleFactory::Show( | 415 TranslateBubbleFactory::Show( |
| 412 browser->window(), web_contents(), step, error_type); | 416 browser->window(), web_contents(), step, error_type); |
| 413 #else | 417 #else |
| 414 NOTREACHED(); | 418 NOTREACHED(); |
| 415 #endif | 419 #endif |
| 416 } | 420 } |
| OLD | NEW |