OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/dom_ui/options/about_page_handler.h" | 5 #include "chrome/browser/dom_ui/options/about_page_handler.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "app/l10n_util.h" | 9 #include "app/l10n_util.h" |
10 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 #include "chrome/browser/chromeos/cros/cros_library.h" | 36 #include "chrome/browser/chromeos/cros/cros_library.h" |
37 #include "chrome/browser/chromeos/cros/power_library.h" | 37 #include "chrome/browser/chromeos/cros/power_library.h" |
38 #include "chrome/browser/chromeos/cros/update_library.h" | 38 #include "chrome/browser/chromeos/cros/update_library.h" |
39 #include "chrome/browser/chromeos/login/wizard_controller.h" | 39 #include "chrome/browser/chromeos/login/wizard_controller.h" |
40 #endif | 40 #endif |
41 | 41 |
42 namespace { | 42 namespace { |
43 | 43 |
44 // These are used as placeholder text around the links in the text in the | 44 // These are used as placeholder text around the links in the text in the |
45 // license. | 45 // license. |
46 const wchar_t kBeginLink[] = L"BEGIN_LINK"; | 46 const char kBeginLink[] = "BEGIN_LINK"; |
47 const wchar_t kEndLink[] = L"END_LINK"; | 47 const char kEndLink[] = "END_LINK"; |
48 const wchar_t kBeginLinkChr[] = L"BEGIN_LINK_CHR"; | 48 const char kBeginLinkChr[] = "BEGIN_LINK_CHR"; |
49 const wchar_t kBeginLinkOss[] = L"BEGIN_LINK_OSS"; | 49 const char kBeginLinkOss[] = "BEGIN_LINK_OSS"; |
50 const wchar_t kEndLinkChr[] = L"END_LINK_CHR"; | 50 const char kEndLinkChr[] = "END_LINK_CHR"; |
51 const wchar_t kEndLinkOss[] = L"END_LINK_OSS"; | 51 const char kEndLinkOss[] = "END_LINK_OSS"; |
52 #if defined(OS_CHROMEOS) | 52 #if defined(OS_CHROMEOS) |
53 const wchar_t kBeginLinkCrosOss[] = L"BEGIN_LINK_CROS_OSS"; | 53 const char kBeginLinkCrosOss[] = "BEGIN_LINK_CROS_OSS"; |
54 const wchar_t kEndLinkCrosOss[] = L"END_LINK_CROS_OSS"; | 54 const char kEndLinkCrosOss[] = "END_LINK_CROS_OSS"; |
55 #endif | 55 #endif |
56 | 56 |
57 // Returns a substring [start, end) from |text|. | 57 // Returns a substring [start, end) from |text|. |
58 std::wstring StringSubRange(const std::wstring& text, size_t start, | 58 std::string StringSubRange(const std::string& text, size_t start, |
59 size_t end) { | 59 size_t end) { |
60 DCHECK(end > start); | 60 DCHECK(end > start); |
61 return text.substr(start, end - start); | 61 return text.substr(start, end - start); |
62 } | 62 } |
63 | 63 |
64 struct LocalizeEntry { | 64 struct LocalizeEntry { |
65 const char* identifier; | 65 const char* identifier; |
66 int resource; | 66 int resource; |
67 }; | 67 }; |
68 | 68 |
69 const LocalizeEntry localize_table[] = { | 69 const LocalizeEntry localize_table[] = { |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 #if !defined(GOOGLE_CHROME_BUILD) | 157 #if !defined(GOOGLE_CHROME_BUILD) |
158 browser_version += " ("; | 158 browser_version += " ("; |
159 browser_version += version_info.LastChange(); | 159 browser_version += version_info.LastChange(); |
160 browser_version += ")"; | 160 browser_version += ")"; |
161 #endif | 161 #endif |
162 | 162 |
163 localized_strings->SetString("browser_version", browser_version); | 163 localized_strings->SetString("browser_version", browser_version); |
164 | 164 |
165 // license | 165 // license |
166 | 166 |
167 std::wstring text = l10n_util::GetString(IDS_ABOUT_VERSION_LICENSE); | 167 std::string text = l10n_util::GetStringUTF8(IDS_ABOUT_VERSION_LICENSE); |
168 | 168 |
169 bool chromium_url_appears_first = | 169 bool chromium_url_appears_first = |
170 text.find(kBeginLinkChr) < text.find(kBeginLinkOss); | 170 text.find(kBeginLinkChr) < text.find(kBeginLinkOss); |
171 | 171 |
172 size_t link1 = text.find(kBeginLink); | 172 size_t link1 = text.find(kBeginLink); |
173 DCHECK(link1 != std::wstring::npos); | 173 DCHECK(link1 != std::string::npos); |
174 size_t link1_end = text.find(kEndLink, link1); | 174 size_t link1_end = text.find(kEndLink, link1); |
175 DCHECK(link1_end != std::wstring::npos); | 175 DCHECK(link1_end != std::string::npos); |
176 size_t link2 = text.find(kBeginLink, link1_end); | 176 size_t link2 = text.find(kBeginLink, link1_end); |
177 DCHECK(link2 != std::wstring::npos); | 177 DCHECK(link2 != std::string::npos); |
178 size_t link2_end = text.find(kEndLink, link2); | 178 size_t link2_end = text.find(kEndLink, link2); |
179 DCHECK(link2_end != std::wstring::npos); | 179 DCHECK(link2_end != std::string::npos); |
180 | 180 |
181 localized_strings->SetString("license_content_0", | 181 localized_strings->SetString("license_content_0", text.substr(0, link1)); |
182 WideToUTF16Hack(text.substr(0, link1))); | |
183 localized_strings->SetString("license_content_1", | 182 localized_strings->SetString("license_content_1", |
184 WideToUTF16Hack(StringSubRange(text, link1_end + wcslen(kEndLinkOss), | 183 StringSubRange(text, link1_end + strlen(kEndLinkOss), link2)); |
185 link2))); | |
186 localized_strings->SetString("license_content_2", | 184 localized_strings->SetString("license_content_2", |
187 WideToUTF16Hack(text.substr(link2_end + wcslen(kEndLinkOss)))); | 185 text.substr(link2_end + strlen(kEndLinkOss))); |
188 | 186 |
189 // The Chromium link within the main text of the dialog. | 187 // The Chromium link within the main text of the dialog. |
190 localized_strings->SetString(chromium_url_appears_first ? | 188 localized_strings->SetString(chromium_url_appears_first ? |
191 "license_link_content_0" : "license_link_content_1", | 189 "license_link_content_0" : "license_link_content_1", |
192 WideToUTF16Hack(StringSubRange(text, | 190 StringSubRange(text, |
193 text.find(kBeginLinkChr) + wcslen(kBeginLinkChr), | 191 text.find(kBeginLinkChr) + strlen(kBeginLinkChr), |
194 text.find(kEndLinkChr)))); | 192 text.find(kEndLinkChr))); |
195 localized_strings->SetString(chromium_url_appears_first ? | 193 localized_strings->SetString(chromium_url_appears_first ? |
196 "license_link_0" : "license_link_1", | 194 "license_link_0" : "license_link_1", |
197 l10n_util::GetStringUTF16(IDS_CHROMIUM_PROJECT_URL)); | 195 l10n_util::GetStringUTF16(IDS_CHROMIUM_PROJECT_URL)); |
198 | 196 |
199 // The Open Source link within the main text of the dialog. We need to use | 197 // The Open Source link within the main text of the dialog. We need to use |
200 // the chrome:// variant instead of about:credits; the latter will get | 198 // the chrome:// variant instead of about:credits; the latter will get |
201 // rewritten to about:blank. | 199 // rewritten to about:blank. |
202 localized_strings->SetString(chromium_url_appears_first ? | 200 localized_strings->SetString(chromium_url_appears_first ? |
203 "license_link_content_1" : "license_link_content_0", | 201 "license_link_content_1" : "license_link_content_0", |
204 WideToUTF16Hack(StringSubRange(text, | 202 StringSubRange(text, |
205 text.find(kBeginLinkOss) + wcslen(kBeginLinkOss), | 203 text.find(kBeginLinkOss) + strlen(kBeginLinkOss), |
206 text.find(kEndLinkOss)))); | 204 text.find(kEndLinkOss))); |
207 localized_strings->SetString(chromium_url_appears_first ? | 205 localized_strings->SetString(chromium_url_appears_first ? |
208 "license_link_1" : "license_link_0", chrome::kChromeUIAboutCreditsURL); | 206 "license_link_1" : "license_link_0", chrome::kChromeUIAboutCreditsURL); |
209 | 207 |
210 #if defined(OS_CHROMEOS) | 208 #if defined(OS_CHROMEOS) |
211 std::wstring cros_text = l10n_util::GetString(IDS_ABOUT_CROS_VERSION_LICENSE); | 209 std::string cros_text = |
| 210 l10n_util::GetStringUTF8(IDS_ABOUT_CROS_VERSION_LICENSE); |
212 | 211 |
213 size_t cros_link = cros_text.find(kBeginLinkCrosOss); | 212 size_t cros_link = cros_text.find(kBeginLinkCrosOss); |
214 DCHECK(cros_link != std::wstring::npos); | 213 DCHECK(cros_link != std::string::npos); |
215 size_t cros_link_end = cros_text.find(kEndLinkCrosOss, cros_link); | 214 size_t cros_link_end = cros_text.find(kEndLinkCrosOss, cros_link); |
216 DCHECK(cros_link_end != std::wstring::npos); | 215 DCHECK(cros_link_end != std::string::npos); |
217 | 216 |
218 localized_strings->SetString("cros_license_content_0", | 217 localized_strings->SetString("cros_license_content_0", |
219 WideToUTF16Hack(cros_text.substr(0, cros_link))); | 218 cros_text.substr(0, cros_link)); |
220 localized_strings->SetString("cros_license_content_1", | 219 localized_strings->SetString("cros_license_content_1", |
221 WideToUTF16Hack( | 220 cros_text.substr(cros_link_end + strlen(kEndLinkCrosOss))); |
222 cros_text.substr(cros_link_end + wcslen(kEndLinkCrosOss)))); | |
223 localized_strings->SetString("cros_license_link_content_0", | 221 localized_strings->SetString("cros_license_link_content_0", |
224 WideToUTF16Hack(StringSubRange(cros_text, | 222 StringSubRange(cros_text, cros_link + strlen(kBeginLinkCrosOss), |
225 cros_link + wcslen(kBeginLinkCrosOss), cros_link_end))); | 223 cros_link_end)); |
226 localized_strings->SetString("cros_license_link_0", | 224 localized_strings->SetString("cros_license_link_0", |
227 chrome::kChromeUIAboutOSCreditsURL); | 225 chrome::kChromeUIAboutOSCreditsURL); |
228 #endif | 226 #endif |
229 | 227 |
230 // webkit | 228 // webkit |
231 | 229 |
232 localized_strings->SetString("webkit_version", | 230 localized_strings->SetString("webkit_version", |
233 webkit_glue::GetWebKitVersion()); | 231 webkit_glue::GetWebKitVersion()); |
234 | 232 |
235 // javascript | 233 // javascript |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 break; | 349 break; |
352 case chromeos::UPDATE_STATUS_UPDATE_AVAILABLE: | 350 case chromeos::UPDATE_STATUS_UPDATE_AVAILABLE: |
353 message = l10n_util::GetStringUTF16(IDS_UPDATE_AVAILABLE); | 351 message = l10n_util::GetStringUTF16(IDS_UPDATE_AVAILABLE); |
354 started_ = true; | 352 started_ = true; |
355 break; | 353 break; |
356 case chromeos::UPDATE_STATUS_DOWNLOADING: | 354 case chromeos::UPDATE_STATUS_DOWNLOADING: |
357 { | 355 { |
358 int progress = static_cast<int>(status.download_progress * 100.0); | 356 int progress = static_cast<int>(status.download_progress * 100.0); |
359 if (progress != progress_) { | 357 if (progress != progress_) { |
360 progress_ = progress; | 358 progress_ = progress; |
361 // TODO(viettrungluu): need UTF-16 convenience form to eliminate hack. | 359 message = l10n_util::GetStringFUTF16Int(IDS_UPDATE_DOWNLOADING, |
362 message = WideToUTF16Hack( | 360 progress_); |
363 l10n_util::GetStringF(IDS_UPDATE_DOWNLOADING, progress_)); | |
364 } | 361 } |
365 started_ = true; | 362 started_ = true; |
366 } | 363 } |
367 break; | 364 break; |
368 case chromeos::UPDATE_STATUS_VERIFYING: | 365 case chromeos::UPDATE_STATUS_VERIFYING: |
369 message = l10n_util::GetStringUTF16(IDS_UPDATE_VERIFYING); | 366 message = l10n_util::GetStringUTF16(IDS_UPDATE_VERIFYING); |
370 started_ = true; | 367 started_ = true; |
371 break; | 368 break; |
372 case chromeos::UPDATE_STATUS_FINALIZING: | 369 case chromeos::UPDATE_STATUS_FINALIZING: |
373 message = l10n_util::GetStringUTF16(IDS_UPDATE_FINALIZING); | 370 message = l10n_util::GetStringUTF16(IDS_UPDATE_FINALIZING); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 | 415 |
419 void AboutPageHandler::OnOSVersion(chromeos::VersionLoader::Handle handle, | 416 void AboutPageHandler::OnOSVersion(chromeos::VersionLoader::Handle handle, |
420 std::string version) { | 417 std::string version) { |
421 if (version.size()) { | 418 if (version.size()) { |
422 scoped_ptr<Value> version_string(Value::CreateStringValue(version)); | 419 scoped_ptr<Value> version_string(Value::CreateStringValue(version)); |
423 dom_ui_->CallJavascriptFunction(L"AboutPage.updateOSVersionCallback", | 420 dom_ui_->CallJavascriptFunction(L"AboutPage.updateOSVersionCallback", |
424 *version_string); | 421 *version_string); |
425 } | 422 } |
426 } | 423 } |
427 #endif | 424 #endif |
OLD | NEW |