| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_manager.h" | 5 #include "chrome/browser/translate/translate_manager.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/singleton.h" | 10 #include "base/memory/singleton.h" |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 } | 151 } |
| 152 | 152 |
| 153 // static | 153 // static |
| 154 bool TranslateManager::IsSupportedLanguage(const std::string& language) { | 154 bool TranslateManager::IsSupportedLanguage(const std::string& language) { |
| 155 if (GetInstance()->language_list_.get()) | 155 if (GetInstance()->language_list_.get()) |
| 156 return GetInstance()->language_list_->IsSupportedLanguage(language); | 156 return GetInstance()->language_list_->IsSupportedLanguage(language); |
| 157 NOTREACHED(); | 157 NOTREACHED(); |
| 158 return false; | 158 return false; |
| 159 } | 159 } |
| 160 | 160 |
| 161 // static |
| 162 bool TranslateManager::IsAlphaLanguage(const std::string& language) { |
| 163 if (GetInstance()->language_list_.get()) |
| 164 return GetInstance()->language_list_->IsAlphaLanguage(language); |
| 165 NOTREACHED(); |
| 166 return false; |
| 167 } |
| 168 |
| 161 void TranslateManager::Observe(int type, | 169 void TranslateManager::Observe(int type, |
| 162 const content::NotificationSource& source, | 170 const content::NotificationSource& source, |
| 163 const content::NotificationDetails& details) { | 171 const content::NotificationDetails& details) { |
| 164 switch (type) { | 172 switch (type) { |
| 165 case content::NOTIFICATION_NAV_ENTRY_COMMITTED: { | 173 case content::NOTIFICATION_NAV_ENTRY_COMMITTED: { |
| 166 NavigationController* controller = | 174 NavigationController* controller = |
| 167 content::Source<NavigationController>(source).ptr(); | 175 content::Source<NavigationController>(source).ptr(); |
| 168 content::LoadCommittedDetails* load_details = | 176 content::LoadCommittedDetails* load_details = |
| 169 content::Details<content::LoadCommittedDetails>(details).ptr(); | 177 content::Details<content::LoadCommittedDetails>(details).ptr(); |
| 170 NavigationEntry* entry = controller->GetActiveEntry(); | 178 NavigationEntry* entry = controller->GetActiveEntry(); |
| (...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 725 // the default Accept-Language values for most locales, remove this | 733 // the default Accept-Language values for most locales, remove this |
| 726 // special-casing. | 734 // special-casing. |
| 727 if (accept_lang != "en" || is_ui_english) | 735 if (accept_lang != "en" || is_ui_english) |
| 728 accept_langs_set.insert(accept_lang); | 736 accept_langs_set.insert(accept_lang); |
| 729 } | 737 } |
| 730 accept_languages_[prefs] = accept_langs_set; | 738 accept_languages_[prefs] = accept_langs_set; |
| 731 } | 739 } |
| 732 | 740 |
| 733 void TranslateManager::FetchLanguageListFromTranslateServer( | 741 void TranslateManager::FetchLanguageListFromTranslateServer( |
| 734 PrefService* prefs) { | 742 PrefService* prefs) { |
| 735 DCHECK(language_list_.get()); | |
| 736 | |
| 737 // We don't want to do this when translate is disabled. | 743 // We don't want to do this when translate is disabled. |
| 738 DCHECK(prefs != NULL); | 744 DCHECK(prefs != NULL); |
| 739 if (CommandLine::ForCurrentProcess()->HasSwitch( | 745 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 740 switches::kDisableTranslate) || | 746 switches::kDisableTranslate) || |
| 741 (prefs != NULL && !prefs->GetBoolean(prefs::kEnableTranslate))) { | 747 (prefs != NULL && !prefs->GetBoolean(prefs::kEnableTranslate))) { |
| 742 return; | 748 return; |
| 743 } | 749 } |
| 744 | 750 |
| 745 if (language_list_.get()) | 751 if (language_list_.get()) |
| 746 language_list_->RequestLanguageList(); | 752 language_list_->RequestLanguageList(); |
| 753 else |
| 754 NOTREACHED(); |
| 747 } | 755 } |
| 748 | 756 |
| 749 void TranslateManager::CleanupPendingUlrFetcher() { | 757 void TranslateManager::CleanupPendingUlrFetcher() { |
| 750 language_list_.reset(); | 758 language_list_.reset(); |
| 751 translate_script_request_pending_.reset(); | 759 translate_script_request_pending_.reset(); |
| 752 } | 760 } |
| 753 | 761 |
| 754 void TranslateManager::RequestTranslateScript() { | 762 void TranslateManager::RequestTranslateScript() { |
| 755 if (translate_script_request_pending_.get() != NULL) | 763 if (translate_script_request_pending_.get() != NULL) |
| 756 return; | 764 return; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 828 // reason so we are more aggressive showing the shortcuts for never translate. | 836 // reason so we are more aggressive showing the shortcuts for never translate. |
| 829 #if defined(OS_ANDROID) | 837 #if defined(OS_ANDROID) |
| 830 config.never_translate_min_count = 1; | 838 config.never_translate_min_count = 1; |
| 831 #else | 839 #else |
| 832 config.never_translate_min_count = 3; | 840 config.never_translate_min_count = 3; |
| 833 #endif // defined(OS_ANDROID) | 841 #endif // defined(OS_ANDROID) |
| 834 | 842 |
| 835 config.always_translate_min_count = 3; | 843 config.always_translate_min_count = 3; |
| 836 return config; | 844 return config; |
| 837 } | 845 } |
| OLD | NEW |