| OLD | NEW |
| 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/chromeos/system/timezone_util.h" | 5 #include "chrome/browser/chromeos/system/timezone_util.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/i18n/rtl.h" | 9 #include "base/i18n/rtl.h" |
| 10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 zone_strings = ures_getByKey(zone_bundle, "zone_strings", NULL, &status); | 51 zone_strings = ures_getByKey(zone_bundle, "zone_strings", NULL, &status); |
| 52 } | 52 } |
| 53 | 53 |
| 54 icu::UnicodeString zone_id; | 54 icu::UnicodeString zone_id; |
| 55 zone.getID(zone_id); | 55 zone.getID(zone_id); |
| 56 std::string zone_id_str; | 56 std::string zone_id_str; |
| 57 zone_id.toUTF8String(zone_id_str); | 57 zone_id.toUTF8String(zone_id_str); |
| 58 | 58 |
| 59 // Resource keys for timezones use ':' in place of '/'. | 59 // Resource keys for timezones use ':' in place of '/'. |
| 60 ReplaceSubstringsAfterOffset(&zone_id_str, 0, "/", ":"); | 60 ReplaceSubstringsAfterOffset(&zone_id_str, 0, "/", ":"); |
| 61 scoped_ptr_malloc<UResourceBundle, UResClose> zone_item( | 61 scoped_ptr<UResourceBundle, UResClose> zone_item( |
| 62 ures_getByKey(zone_strings, zone_id_str.c_str(), NULL, &status)); | 62 ures_getByKey(zone_strings, zone_id_str.c_str(), NULL, &status)); |
| 63 icu::UnicodeString city; | 63 icu::UnicodeString city; |
| 64 if (!U_FAILURE(status)) { | 64 if (!U_FAILURE(status)) { |
| 65 city = icu::ures_getUnicodeStringByKey(zone_item.get(), "ec", &status); | 65 city = icu::ures_getUnicodeStringByKey(zone_item.get(), "ec", &status); |
| 66 if (U_SUCCESS(status)) | 66 if (U_SUCCESS(status)) |
| 67 return base::string16(city.getBuffer(), city.length()); | 67 return base::string16(city.getBuffer(), city.length()); |
| 68 } | 68 } |
| 69 | 69 |
| 70 // Fallback case in case of failure. | 70 // Fallback case in case of failure. |
| 71 ReplaceSubstringsAfterOffset(&zone_id_str, 0, ":", "/"); | 71 ReplaceSubstringsAfterOffset(&zone_id_str, 0, ":", "/"); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 option->Append(new base::StringValue( | 138 option->Append(new base::StringValue( |
| 139 chromeos::system::TimezoneSettings::GetTimezoneID(*timezone))); | 139 chromeos::system::TimezoneSettings::GetTimezoneID(*timezone))); |
| 140 option->Append(new base::StringValue(GetTimezoneName(*timezone))); | 140 option->Append(new base::StringValue(GetTimezoneName(*timezone))); |
| 141 timezoneList->Append(option); | 141 timezoneList->Append(option); |
| 142 } | 142 } |
| 143 return timezoneList.Pass(); | 143 return timezoneList.Pass(); |
| 144 } | 144 } |
| 145 | 145 |
| 146 } // namespace system | 146 } // namespace system |
| 147 } // namespace chromeos | 147 } // namespace chromeos |
| OLD | NEW |