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

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: rebase 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 request_context_ = NULL;
26 }
27
28 // static
29 void TranslateDownloadManager::RequestLanguageList() {
30 TranslateLanguageList* language_list = GetInstance()->language_list();
31 if (!language_list) {
32 NOTREACHED();
33 return;
34 }
35
36 language_list->RequestLanguageList();
37 }
38
39 // static
40 void TranslateDownloadManager::RequestLanguageList(PrefService* prefs) {
41 // We don't want to do this when translate is disabled.
42 DCHECK(prefs != NULL);
43 if (CommandLine::ForCurrentProcess()->HasSwitch(
44 translate::switches::kDisableTranslate) ||
45 !prefs->GetBoolean(prefs::kEnableTranslate)) {
46 return;
47 }
48
49 RequestLanguageList();
50 }
51
52 // static
53 void TranslateDownloadManager::GetSupportedLanguages(
54 std::vector<std::string>* languages) {
55 TranslateLanguageList* language_list = GetInstance()->language_list();
56 if (!language_list) {
57 NOTREACHED();
58 return;
59 }
60
61 language_list->GetSupportedLanguages(languages);
62 }
63
64 // static
65 base::Time TranslateDownloadManager::GetSupportedLanguagesLastUpdated() {
66 TranslateLanguageList* language_list = GetInstance()->language_list();
67 if (!language_list) {
68 NOTREACHED();
69 return base::Time();
70 }
71
72 return language_list->last_updated();
73 }
74
75 // static
76 std::string TranslateDownloadManager::GetLanguageCode(
77 const std::string& chrome_locale) {
78 TranslateLanguageList* language_list = GetInstance()->language_list();
79 if (!language_list) {
80 NOTREACHED();
81 return chrome_locale;
82 }
83
84 return language_list->GetLanguageCode(chrome_locale);
85 }
86
87 // static
88 bool TranslateDownloadManager::IsSupportedLanguage(
89 const std::string& language) {
90 TranslateLanguageList* language_list = GetInstance()->language_list();
91 if (!language_list) {
92 NOTREACHED();
93 return false;
94 }
95
96 return language_list->IsSupportedLanguage(language);
97 }
98
99 // static
100 bool TranslateDownloadManager::IsAlphaLanguage(const std::string& language) {
101 TranslateLanguageList* language_list = GetInstance()->language_list();
102 if (!language_list) {
103 NOTREACHED();
104 return false;
105 }
106
107 return language_list->IsAlphaLanguage(language);
108 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698