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

Side by Side Diff: chrome/browser/ui/webui/translate_internals/translate_internals_ui.cc

Issue 397623002: Expose the CLD data source in chrome://translate-internals (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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/ui/webui/translate_internals/translate_internals_ui.h" 5 #include "chrome/browser/ui/webui/translate_internals/translate_internals_ui.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "chrome/browser/browser_process.h" 13 #include "chrome/browser/browser_process.h"
14 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
15 #include "chrome/browser/ui/webui/translate_internals/translate_internals_handle r.h" 15 #include "chrome/browser/ui/webui/translate_internals/translate_internals_handle r.h"
16 #include "chrome/common/chrome_switches.h" 16 #include "chrome/common/chrome_switches.h"
17 #include "chrome/common/url_constants.h" 17 #include "chrome/common/url_constants.h"
18 #include "content/public/browser/web_contents.h" 18 #include "content/public/browser/web_contents.h"
19 #include "content/public/browser/web_ui.h" 19 #include "content/public/browser/web_ui.h"
20 #include "content/public/browser/web_ui_data_source.h" 20 #include "content/public/browser/web_ui_data_source.h"
21 #include "grit/browser_resources.h" 21 #include "grit/browser_resources.h"
22 #include "grit/translate_internals_resources.h" 22 #include "grit/translate_internals_resources.h"
23 #include "ui/base/l10n/l10n_util.h" 23 #include "ui/base/l10n/l10n_util.h"
24 #include "ui/base/resource/resource_bundle.h" 24 #include "ui/base/resource/resource_bundle.h"
25 25
26 // Macro stringification.
27 // https://gcc.gnu.org/onlinedocs/cpp/Stringification.html
28 #define XSTR(S) STR(S)
29 #define STR(S) #S
30
26 namespace { 31 namespace {
27 32
28 // Sets the languages to |dict|. Each key is a language code and each value is 33 // Sets the languages to |dict|. Each key is a language code and each value is
29 // a language name in the locale. 34 // a language name in the locale.
30 void GetLanguages(base::DictionaryValue* dict) { 35 void GetLanguages(base::DictionaryValue* dict) {
31 DCHECK(dict); 36 DCHECK(dict);
32 37
33 const std::string app_locale = g_browser_process->GetApplicationLocale(); 38 const std::string app_locale = g_browser_process->GetApplicationLocale();
34 std::vector<std::string> language_codes; 39 std::vector<std::string> language_codes;
35 l10n_util::GetAcceptLanguagesForLocale(app_locale, &language_codes); 40 l10n_util::GetAcceptLanguagesForLocale(app_locale, &language_codes);
(...skipping 20 matching lines...) Expand all
56 base::DictionaryValue langs; 61 base::DictionaryValue langs;
57 GetLanguages(&langs); 62 GetLanguages(&langs);
58 for (base::DictionaryValue::Iterator it(langs); !it.IsAtEnd(); it.Advance()) { 63 for (base::DictionaryValue::Iterator it(langs); !it.IsAtEnd(); it.Advance()) {
59 std::string key = "language-" + it.key(); 64 std::string key = "language-" + it.key();
60 std::string value; 65 std::string value;
61 it.value().GetAsString(&value); 66 it.value().GetAsString(&value);
62 source->AddString(key, value); 67 source->AddString(key, value);
63 } 68 }
64 69
65 std::string cld_version = ""; 70 std::string cld_version = "";
71 std::string cld_data_source = "";
66 // The version strings are hardcoded here to avoid linking with the CLD 72 // The version strings are hardcoded here to avoid linking with the CLD
67 // library, see http://crbug.com/297777. 73 // library, see http://crbug.com/297777.
68 #if CLD_VERSION==1 74 #if CLD_VERSION==1
69 cld_version = "1.6"; 75 cld_version = "1.6";
76 cld_data_source = "static"; // CLD1.x does not support dynamic data loading
70 #elif CLD_VERSION==2 77 #elif CLD_VERSION==2
71 cld_version = "2"; 78 cld_version = "2";
79 cld_data_source = std::string(XSTR(CLD2_DATA_SOURCE));
72 #else 80 #else
73 NOTREACHED(); 81 NOTREACHED();
74 #endif 82 #endif
75 source->AddString("cld-version", cld_version); 83 source->AddString("cld-version", cld_version);
84 source->AddString("cld-data-source", cld_data_source);
76 85
77 return source; 86 return source;
78 } 87 }
79 88
80 } // namespace 89 } // namespace
81 90
82 TranslateInternalsUI::TranslateInternalsUI(content::WebUI* web_ui) 91 TranslateInternalsUI::TranslateInternalsUI(content::WebUI* web_ui)
83 : WebUIController(web_ui) { 92 : WebUIController(web_ui) {
84 web_ui->AddMessageHandler(new TranslateInternalsHandler); 93 web_ui->AddMessageHandler(new TranslateInternalsHandler);
85 94
86 Profile* profile = Profile::FromWebUI(web_ui); 95 Profile* profile = Profile::FromWebUI(web_ui);
87 content::WebUIDataSource::Add(profile, CreateTranslateInternalsHTMLSource()); 96 content::WebUIDataSource::Add(profile, CreateTranslateInternalsHTMLSource());
88 } 97 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698