OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_language_list.h" | 5 #include "chrome/browser/translate/translate_language_list.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
11 #include "base/lazy_instance.h" | 11 #include "base/lazy_instance.h" |
12 #include "base/logging.h" | 12 #include "base/logging.h" |
13 #include "base/strings/string_util.h" | 13 #include "base/strings/string_util.h" |
14 #include "base/strings/stringprintf.h" | 14 #include "base/strings/stringprintf.h" |
15 #include "base/values.h" | 15 #include "base/values.h" |
16 #include "chrome/browser/browser_process.h" | 16 #include "chrome/browser/browser_process.h" |
| 17 #include "chrome/browser/translate/chrome_translate_delegate.h" |
17 #include "chrome/browser/translate/translate_manager.h" | 18 #include "chrome/browser/translate/translate_manager.h" |
18 #include "chrome/browser/translate/translate_url_fetcher.h" | |
19 #include "chrome/browser/translate/translate_url_util.h" | 19 #include "chrome/browser/translate/translate_url_util.h" |
20 #include "components/translate/core/browser/translate_browser_metrics.h" | 20 #include "components/translate/core/browser/translate_browser_metrics.h" |
21 #include "components/translate/core/browser/translate_event_details.h" | 21 #include "components/translate/core/browser/translate_event_details.h" |
| 22 #include "components/translate/core/browser/translate_url_fetcher.h" |
22 #include "net/base/url_util.h" | 23 #include "net/base/url_util.h" |
23 #include "ui/base/l10n/l10n_util.h" | 24 #include "ui/base/l10n/l10n_util.h" |
24 #include "url/gurl.h" | 25 #include "url/gurl.h" |
25 | 26 |
26 namespace { | 27 namespace { |
27 | 28 |
28 // The default list of languages the Google translation server supports. | 29 // The default list of languages the Google translation server supports. |
29 // We use this list until we receive the list that the server exposes. | 30 // We use this list until we receive the list that the server exposes. |
30 // For information, here is the list of languages that Chrome can be run in | 31 // For information, here is the list of languages that Chrome can be run in |
31 // but that the translation server does not support: | 32 // but that the translation server does not support: |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 TranslateLanguageList::TranslateLanguageList() { | 220 TranslateLanguageList::TranslateLanguageList() { |
220 // We default to our hard coded list of languages in | 221 // We default to our hard coded list of languages in |
221 // |kDefaultSupportedLanguages|. This list will be overriden by a server | 222 // |kDefaultSupportedLanguages|. This list will be overriden by a server |
222 // providing supported langauges list. | 223 // providing supported langauges list. |
223 for (size_t i = 0; i < arraysize(kDefaultSupportedLanguages); ++i) | 224 for (size_t i = 0; i < arraysize(kDefaultSupportedLanguages); ++i) |
224 all_supported_languages_.insert(kDefaultSupportedLanguages[i]); | 225 all_supported_languages_.insert(kDefaultSupportedLanguages[i]); |
225 | 226 |
226 if (update_is_disabled) | 227 if (update_is_disabled) |
227 return; | 228 return; |
228 | 229 |
229 language_list_fetcher_.reset(new TranslateURLFetcher(kFetcherId)); | 230 language_list_fetcher_.reset(new TranslateURLFetcher( |
| 231 kFetcherId, ChromeTranslateDelegate::GetInstance())); |
230 language_list_fetcher_->set_max_retry_on_5xx(kMaxRetryOn5xx); | 232 language_list_fetcher_->set_max_retry_on_5xx(kMaxRetryOn5xx); |
231 } | 233 } |
232 | 234 |
233 TranslateLanguageList::~TranslateLanguageList() { | 235 TranslateLanguageList::~TranslateLanguageList() { |
234 } | 236 } |
235 | 237 |
236 void TranslateLanguageList::GetSupportedLanguages( | 238 void TranslateLanguageList::GetSupportedLanguages( |
237 std::vector<std::string>* languages) { | 239 std::vector<std::string>* languages) { |
238 DCHECK(languages && languages->empty()); | 240 DCHECK(languages && languages->empty()); |
239 std::set<std::string>::const_iterator iter = all_supported_languages_.begin(); | 241 std::set<std::string>::const_iterator iter = all_supported_languages_.begin(); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 | 322 |
321 NotifyEvent(__LINE__, "Language list is updated"); | 323 NotifyEvent(__LINE__, "Language list is updated"); |
322 | 324 |
323 DCHECK_EQ(kFetcherId, id); | 325 DCHECK_EQ(kFetcherId, id); |
324 | 326 |
325 SetSupportedLanguages(data, &all_supported_languages_, &alpha_languages_); | 327 SetSupportedLanguages(data, &all_supported_languages_, &alpha_languages_); |
326 language_list_fetcher_.reset(); | 328 language_list_fetcher_.reset(); |
327 | 329 |
328 last_updated_ = base::Time::Now(); | 330 last_updated_ = base::Time::Now(); |
329 } | 331 } |
OLD | NEW |