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

Side by Side Diff: components/translate/core/browser/translate_download_manager.cc

Issue 143003020: Move TranslateLanguageList to the Translate component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@removeDelegate
Patch Set: Minor cleanup Created 6 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/translate/core/browser/translate_download_manager.h" 5 #include "components/translate/core/browser/translate_download_manager.h"
6 6
7 #include "base/command_line.h"
7 #include "base/memory/singleton.h" 8 #include "base/memory/singleton.h"
9 #include "base/prefs/pref_service.h"
10 #include "components/translate/core/common/translate_pref_names.h"
11 #include "components/translate/core/common/translate_switches.h"
8 12
9 // static 13 // static
10 TranslateDownloadManager* TranslateDownloadManager::GetInstance() { 14 TranslateDownloadManager* TranslateDownloadManager::GetInstance() {
11 return Singleton<TranslateDownloadManager>::get(); 15 return Singleton<TranslateDownloadManager>::get();
12 } 16 }
13 17
14 TranslateDownloadManager::TranslateDownloadManager() {} 18 TranslateDownloadManager::TranslateDownloadManager()
19 : language_list_(new TranslateLanguageList) {}
15 20
16 TranslateDownloadManager::~TranslateDownloadManager() {} 21 TranslateDownloadManager::~TranslateDownloadManager() {}
22
23 void TranslateDownloadManager::Shutdown() {
24 language_list_.reset();
25 }
26
27 // static
28 void TranslateDownloadManager::RequestLanguageList() {
29 TranslateLanguageList* language_list = GetInstance()->language_list();
30 if (!language_list) {
31 NOTREACHED();
32 return;
33 }
34
35 language_list->RequestLanguageList();
36 }
37
38 // static
39 void TranslateDownloadManager::RequestLanguageList(PrefService* prefs) {
40 // We don't want to do this when translate is disabled.
41 DCHECK(prefs != NULL);
42 if (CommandLine::ForCurrentProcess()->HasSwitch(
43 translate::switches::kDisableTranslate) ||
44 !prefs->GetBoolean(prefs::kEnableTranslate)) {
45 return;
46 }
47
48 RequestLanguageList();
49 }
50
51 // static
52 void TranslateDownloadManager::GetSupportedLanguages(
53 std::vector<std::string>* languages) {
54 TranslateLanguageList* language_list = GetInstance()->language_list();
55 if (!language_list) {
blundell 2014/01/31 10:49:45 Is it ever OK for TranslateDownloadManager::langua
droger 2014/01/31 13:40:49 I agree, but the existing code was like this: ever
56 NOTREACHED();
57 return;
58 }
59
60 language_list->GetSupportedLanguages(languages);
61 }
62
63 // static
64 base::Time TranslateDownloadManager::GetSupportedLanguagesLastUpdated() {
65 TranslateLanguageList* language_list = GetInstance()->language_list();
66 if (!language_list) {
67 NOTREACHED();
68 return base::Time();
69 }
70
71 return language_list->last_updated();
72 }
73
74 // static
75 std::string TranslateDownloadManager::GetLanguageCode(
76 const std::string& chrome_locale) {
77 TranslateLanguageList* language_list = GetInstance()->language_list();
78 if (!language_list) {
79 NOTREACHED();
80 return chrome_locale;
81 }
82
83 return language_list->GetLanguageCode(chrome_locale);
84 }
85
86 // static
87 bool TranslateDownloadManager::IsSupportedLanguage(
88 const std::string& language) {
89 TranslateLanguageList* language_list = GetInstance()->language_list();
90 if (!language_list) {
91 NOTREACHED();
92 return false;
93 }
94
95 return language_list->IsSupportedLanguage(language);
96 }
97
98 // static
99 bool TranslateDownloadManager::IsAlphaLanguage(const std::string& language) {
100 TranslateLanguageList* language_list = GetInstance()->language_list();
101 if (!language_list) {
102 NOTREACHED();
103 return false;
104 }
105
106 return language_list->IsAlphaLanguage(language);
107 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698