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 "chrome/browser/chrome_notification_types.h" | 8 #include "chrome/browser/chrome_notification_types.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "chrome/browser/translate/translate_accept_languages_factory.h" | 10 #include "chrome/browser/translate/translate_accept_languages_factory.h" |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 } | 309 } |
310 } | 310 } |
311 #endif // defined(CLD2_DYNAMIC_MODE) | 311 #endif // defined(CLD2_DYNAMIC_MODE) |
312 | 312 |
313 void TranslateTabHelper::OnLanguageDetermined( | 313 void TranslateTabHelper::OnLanguageDetermined( |
314 const LanguageDetectionDetails& details, | 314 const LanguageDetectionDetails& details, |
315 bool page_needs_translation) { | 315 bool page_needs_translation) { |
316 translate_driver_.GetLanguageState().LanguageDetermined( | 316 translate_driver_.GetLanguageState().LanguageDetermined( |
317 details.adopted_language, page_needs_translation); | 317 details.adopted_language, page_needs_translation); |
318 | 318 |
| 319 if (web_contents()) |
| 320 translate_manager_->InitiateTranslation(details.adopted_language); |
| 321 |
319 content::NotificationService::current()->Notify( | 322 content::NotificationService::current()->Notify( |
320 chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, | 323 chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, |
321 content::Source<content::WebContents>(web_contents()), | 324 content::Source<content::WebContents>(web_contents()), |
322 content::Details<const LanguageDetectionDetails>(&details)); | 325 content::Details<const LanguageDetectionDetails>(&details)); |
323 } | 326 } |
324 | 327 |
325 void TranslateTabHelper::OnPageTranslated(int32 page_id, | 328 void TranslateTabHelper::OnPageTranslated(int32 page_id, |
326 const std::string& original_lang, | 329 const std::string& original_lang, |
327 const std::string& translated_lang, | 330 const std::string& translated_lang, |
328 TranslateErrors::Type error_type) { | 331 TranslateErrors::Type error_type) { |
329 DCHECK(web_contents()); | 332 DCHECK(web_contents()); |
330 translate_driver_.GetLanguageState().SetCurrentLanguage(translated_lang); | 333 translate_manager_->PageTranslated( |
331 translate_driver_.GetLanguageState().set_translation_pending(false); | 334 original_lang, translated_lang, error_type); |
| 335 |
332 PageTranslatedDetails details; | 336 PageTranslatedDetails details; |
333 details.source_language = original_lang; | 337 details.source_language = original_lang; |
334 details.target_language = translated_lang; | 338 details.target_language = translated_lang; |
335 details.error_type = error_type; | 339 details.error_type = error_type; |
336 content::NotificationService::current()->Notify( | 340 content::NotificationService::current()->Notify( |
337 chrome::NOTIFICATION_PAGE_TRANSLATED, | 341 chrome::NOTIFICATION_PAGE_TRANSLATED, |
338 content::Source<content::WebContents>(web_contents()), | 342 content::Source<content::WebContents>(web_contents()), |
339 content::Details<PageTranslatedDetails>(&details)); | 343 content::Details<PageTranslatedDetails>(&details)); |
340 } | 344 } |
341 | 345 |
(...skipping 29 matching lines...) Expand all Loading... |
371 if (GetLanguageState().InTranslateNavigation()) | 375 if (GetLanguageState().InTranslateNavigation()) |
372 return; | 376 return; |
373 } | 377 } |
374 | 378 |
375 TranslateBubbleFactory::Show( | 379 TranslateBubbleFactory::Show( |
376 browser->window(), web_contents(), step, error_type); | 380 browser->window(), web_contents(), step, error_type); |
377 #else | 381 #else |
378 NOTREACHED(); | 382 NOTREACHED(); |
379 #endif | 383 #endif |
380 } | 384 } |
OLD | NEW |