| 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 |