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

Side by Side Diff: chrome/browser/translate/translate_language_list.cc

Issue 16282003: Translate: make alpha language support enabled by default (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase due to conflict in CQ Created 7 years, 6 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 | Annotate | Revision Log
OLDNEW
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/command_line.h"
10 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
11 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
12 #include "base/logging.h" 11 #include "base/logging.h"
13 #include "base/string_util.h" 12 #include "base/string_util.h"
14 #include "base/values.h" 13 #include "base/values.h"
15 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
16 #include "chrome/browser/translate/translate_url_util.h" 15 #include "chrome/browser/translate/translate_url_util.h"
17 #include "chrome/common/chrome_switches.h"
18 #include "googleurl/src/gurl.h" 16 #include "googleurl/src/gurl.h"
19 #include "net/base/load_flags.h" 17 #include "net/base/load_flags.h"
20 #include "net/base/url_util.h" 18 #include "net/base/url_util.h"
21 #include "net/http/http_status_code.h" 19 #include "net/http/http_status_code.h"
22 #include "net/url_request/url_fetcher.h" 20 #include "net/url_request/url_fetcher.h"
23 #include "net/url_request/url_request_status.h" 21 #include "net/url_request/url_request_status.h"
24 22
25 namespace { 23 namespace {
26 24
27 // The default list of languages the Google translation server supports. 25 // The default list of languages the Google translation server supports.
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 set->clear(); 148 set->clear();
151 // ... and replace it with the values we just fetched from the server. 149 // ... and replace it with the values we just fetched from the server.
152 for (DictionaryValue::Iterator iter(*target_languages); 150 for (DictionaryValue::Iterator iter(*target_languages);
153 !iter.IsAtEnd(); 151 !iter.IsAtEnd();
154 iter.Advance()) { 152 iter.Advance()) {
155 // TODO(toyoshim): Check if UI libraries support adding locale. 153 // TODO(toyoshim): Check if UI libraries support adding locale.
156 set->insert(iter.key()); 154 set->insert(iter.key());
157 } 155 }
158 } 156 }
159 157
160 net::URLFetcher* CreateAndStartFetch(const GURL& url, 158 net::URLFetcher* CreateAndStartFetch(int id,
159 const GURL& url,
161 net::URLFetcherDelegate* delegate) { 160 net::URLFetcherDelegate* delegate) {
162 DCHECK(delegate); 161 DCHECK(delegate);
163 VLOG(9) << "Fetch supporting language list from: " << url.spec().c_str(); 162 VLOG(9) << "Fetch supporting language list from: " << url.spec().c_str();
164 163
165 scoped_ptr<net::URLFetcher> fetcher; 164 scoped_ptr<net::URLFetcher> fetcher;
166 fetcher.reset(net::URLFetcher::Create(1, 165 fetcher.reset(net::URLFetcher::Create(id,
167 url, 166 url,
168 net::URLFetcher::GET, 167 net::URLFetcher::GET,
169 delegate)); 168 delegate));
170 fetcher->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | 169 fetcher->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
171 net::LOAD_DO_NOT_SAVE_COOKIES); 170 net::LOAD_DO_NOT_SAVE_COOKIES);
172 fetcher->SetRequestContext(g_browser_process->system_request_context()); 171 fetcher->SetRequestContext(g_browser_process->system_request_context());
173 fetcher->SetMaxRetriesOn5xx(kMaxRetryLanguageListFetch); 172 fetcher->SetMaxRetriesOn5xx(kMaxRetryLanguageListFetch);
174 fetcher->Start(); 173 fetcher->Start();
175 174
176 return fetcher.release(); 175 return fetcher.release();
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 return; 254 return;
256 255
257 // Fetch the stable language list. 256 // Fetch the stable language list.
258 GURL language_list_fetch_url = GURL(kLanguageListFetchURL); 257 GURL language_list_fetch_url = GURL(kLanguageListFetchURL);
259 language_list_fetch_url = 258 language_list_fetch_url =
260 TranslateURLUtil::AddHostLocaleToUrl(language_list_fetch_url); 259 TranslateURLUtil::AddHostLocaleToUrl(language_list_fetch_url);
261 language_list_fetch_url = 260 language_list_fetch_url =
262 TranslateURLUtil::AddApiKeyToUrl(language_list_fetch_url); 261 TranslateURLUtil::AddApiKeyToUrl(language_list_fetch_url);
263 262
264 language_list_fetcher_.reset( 263 language_list_fetcher_.reset(
265 CreateAndStartFetch(language_list_fetch_url, this)); 264 CreateAndStartFetch(1, language_list_fetch_url, this));
266
267 // TODO(toyoshim): Make it enabled by default. http://crbug.com/242178
268 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
269 if (!command_line.HasSwitch(switches::kEnableTranslateAlphaLanguages))
270 return;
271 265
272 // Fetch the alpha language list. 266 // Fetch the alpha language list.
273 language_list_fetch_url = net::AppendQueryParameter( 267 language_list_fetch_url = net::AppendQueryParameter(
274 language_list_fetch_url, 268 language_list_fetch_url,
275 kAlphaLanguageQueryName, 269 kAlphaLanguageQueryName,
276 kAlphaLanguageQueryValue); 270 kAlphaLanguageQueryValue);
277 271
278 alpha_language_list_fetcher_.reset( 272 alpha_language_list_fetcher_.reset(
279 CreateAndStartFetch(language_list_fetch_url, this)); 273 CreateAndStartFetch(2, language_list_fetch_url, this));
280 } 274 }
281 275
282 void TranslateLanguageList::UpdateSupportedLanguages() { 276 void TranslateLanguageList::UpdateSupportedLanguages() {
283 all_supported_languages_.clear(); 277 all_supported_languages_.clear();
284 std::set<std::string>::const_iterator iter; 278 std::set<std::string>::const_iterator iter;
285 for (iter = supported_languages_.begin(); 279 for (iter = supported_languages_.begin();
286 iter != supported_languages_.end(); 280 iter != supported_languages_.end();
287 ++iter) 281 ++iter)
288 all_supported_languages_.insert(*iter); 282 all_supported_languages_.insert(*iter);
289 for (iter = supported_alpha_languages_.begin(); 283 for (iter = supported_alpha_languages_.begin();
290 iter != supported_alpha_languages_.end(); 284 iter != supported_alpha_languages_.end();
291 ++iter) 285 ++iter)
292 all_supported_languages_.insert(*iter); 286 all_supported_languages_.insert(*iter);
293 } 287 }
OLDNEW
« no previous file with comments | « chrome/browser/translate/translate_language_list.h ('k') | chrome/browser/translate/translate_manager_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698