Chromium Code Reviews| 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/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 134 | 134 |
| 135 const char* const kTranslateScriptURL = | 135 const char* const kTranslateScriptURL = |
| 136 "https://translate.google.com/translate_a/element.js"; | 136 "https://translate.google.com/translate_a/element.js"; |
| 137 const char* const kTranslateScriptQuery = | 137 const char* const kTranslateScriptQuery = |
| 138 "?cb=cr.googleTranslate.onTranslateElementLoad&hl=%s"; | 138 "?cb=cr.googleTranslate.onTranslateElementLoad&hl=%s"; |
| 139 const char* const kTranslateScriptHeader = | 139 const char* const kTranslateScriptHeader = |
| 140 "Google-Translate-Element-Mode: library"; | 140 "Google-Translate-Element-Mode: library"; |
| 141 const char* const kReportLanguageDetectionErrorURL = | 141 const char* const kReportLanguageDetectionErrorURL = |
| 142 "https://translate.google.com/translate_error"; | 142 "https://translate.google.com/translate_error"; |
| 143 const char* const kLanguageListFetchURL = | 143 const char* const kLanguageListFetchURL = |
| 144 "https://translate.googleapis.com/translate_a/l?client=chrome&cb=sl&hl=%s"; | 144 "https://translate.googleapis.com/translate_a/l" |
| 145 "?client=chrome&cb=sl&hl=%s%s"; | |
|
MAD
2013/04/05 14:18:34
At this point, I think we should start using Appe
Takashi Toyoshima
2013/04/08 03:39:05
Agreed.
I'll apply AppendQueryParameter on modify
| |
| 146 const char* const kAlphaLanguageQuery = "&alpha=1"; | |
| 145 const int kMaxRetryLanguageListFetch = 5; | 147 const int kMaxRetryLanguageListFetch = 5; |
| 146 const int kTranslateScriptExpirationDelayDays = 1; | 148 const int kTranslateScriptExpirationDelayDays = 1; |
| 147 | 149 |
| 148 void AddApiKeyToUrl(GURL* url) { | 150 void AddApiKeyToUrl(GURL* url) { |
| 149 std::string api_key = google_apis::GetAPIKey(); | 151 std::string api_key = google_apis::GetAPIKey(); |
| 150 std::string query(url->query()); | 152 std::string query(url->query()); |
| 151 if (!query.empty()) | 153 if (!query.empty()) |
| 152 query += "&"; | 154 query += "&"; |
| 153 query += "key=" + net::EscapeQueryParamValue(api_key, true); | 155 query += "key=" + net::EscapeQueryParamValue(api_key, true); |
| 154 GURL::Replacements replacements; | 156 GURL::Replacements replacements; |
| (...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 769 return; | 771 return; |
| 770 | 772 |
| 771 // We don't want to do this when translate is disabled. | 773 // We don't want to do this when translate is disabled. |
| 772 DCHECK(prefs != NULL); | 774 DCHECK(prefs != NULL); |
| 773 if (CommandLine::ForCurrentProcess()->HasSwitch( | 775 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 774 switches::kDisableTranslate) || | 776 switches::kDisableTranslate) || |
| 775 (prefs != NULL && !prefs->GetBoolean(prefs::kEnableTranslate))) { | 777 (prefs != NULL && !prefs->GetBoolean(prefs::kEnableTranslate))) { |
| 776 return; | 778 return; |
| 777 } | 779 } |
| 778 | 780 |
| 781 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | |
| 779 GURL language_list_fetch_url = GURL( | 782 GURL language_list_fetch_url = GURL( |
| 780 base::StringPrintf( | 783 base::StringPrintf( |
| 781 kLanguageListFetchURL, | 784 kLanguageListFetchURL, |
| 782 GetLanguageCode(g_browser_process->GetApplicationLocale()).c_str())); | 785 GetLanguageCode(g_browser_process->GetApplicationLocale()).c_str(), |
| 786 command_line.HasSwitch(switches::kEnableTranslateAlphaLanguages) ? | |
| 787 kAlphaLanguageQuery : "")); | |
| 783 AddApiKeyToUrl(&language_list_fetch_url); | 788 AddApiKeyToUrl(&language_list_fetch_url); |
| 789 VLOG(9) << "Fetch supporting language list from: " | |
| 790 << language_list_fetch_url.spec().c_str(); | |
| 791 | |
| 784 language_list_request_pending_.reset(net::URLFetcher::Create( | 792 language_list_request_pending_.reset(net::URLFetcher::Create( |
| 785 1, language_list_fetch_url, net::URLFetcher::GET, this)); | 793 1, language_list_fetch_url, net::URLFetcher::GET, this)); |
| 786 language_list_request_pending_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | | 794 language_list_request_pending_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | |
| 787 net::LOAD_DO_NOT_SAVE_COOKIES); | 795 net::LOAD_DO_NOT_SAVE_COOKIES); |
| 788 language_list_request_pending_->SetRequestContext( | 796 language_list_request_pending_->SetRequestContext( |
| 789 g_browser_process->system_request_context()); | 797 g_browser_process->system_request_context()); |
| 790 language_list_request_pending_->SetMaxRetriesOn5xx( | 798 language_list_request_pending_->SetMaxRetriesOn5xx( |
| 791 kMaxRetryLanguageListFetch); | 799 kMaxRetryLanguageListFetch); |
| 792 language_list_request_pending_->Start(); | 800 language_list_request_pending_->Start(); |
| 793 } | 801 } |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 854 // list or not at all if no such candidate exists | 862 // list or not at all if no such candidate exists |
| 855 std::vector<std::string>::iterator iter; | 863 std::vector<std::string>::iterator iter; |
| 856 for (iter = accept_langs_list.begin(); | 864 for (iter = accept_langs_list.begin(); |
| 857 iter != accept_langs_list.end(); ++iter) { | 865 iter != accept_langs_list.end(); ++iter) { |
| 858 std::string lang_code = GetLanguageCode(*iter); | 866 std::string lang_code = GetLanguageCode(*iter); |
| 859 if (IsSupportedLanguage(lang_code)) | 867 if (IsSupportedLanguage(lang_code)) |
| 860 return lang_code; | 868 return lang_code; |
| 861 } | 869 } |
| 862 return std::string(); | 870 return std::string(); |
| 863 } | 871 } |
| OLD | NEW |