OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_COUNTRY_NAMES_H_ | 5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_COUNTRY_NAMES_H_ |
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_COUNTRY_NAMES_H_ | 6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_COUNTRY_NAMES_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
| 9 #include <memory> |
9 #include <string> | 10 #include <string> |
10 #include <vector> | 11 #include <vector> |
11 | 12 |
12 #include "base/macros.h" | 13 #include "base/macros.h" |
13 #include "base/memory/scoped_ptr.h" | |
14 #include "base/strings/string16.h" | 14 #include "base/strings/string16.h" |
15 #include "third_party/icu/source/common/unicode/locid.h" | 15 #include "third_party/icu/source/common/unicode/locid.h" |
16 #include "third_party/icu/source/i18n/unicode/coll.h" | 16 #include "third_party/icu/source/i18n/unicode/coll.h" |
17 | 17 |
18 namespace base { | 18 namespace base { |
19 template <typename T> | 19 template <typename T> |
20 struct DefaultSingletonTraits; | 20 struct DefaultSingletonTraits; |
21 } | 21 } |
22 | 22 |
23 namespace autofill { | 23 namespace autofill { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 const icu::Collator& collator); | 61 const icu::Collator& collator); |
62 | 62 |
63 // Returns an ICU collator -- i.e. string comparator -- appropriate for the | 63 // Returns an ICU collator -- i.e. string comparator -- appropriate for the |
64 // given |locale|, or null if no collator is available. | 64 // given |locale|, or null if no collator is available. |
65 const icu::Collator* GetCollatorForLocale(const icu::Locale& locale); | 65 const icu::Collator* GetCollatorForLocale(const icu::Locale& locale); |
66 | 66 |
67 // The locale object for the application locale string. | 67 // The locale object for the application locale string. |
68 const icu::Locale locale_; | 68 const icu::Locale locale_; |
69 | 69 |
70 // Collator for the application locale. | 70 // Collator for the application locale. |
71 const scoped_ptr<icu::Collator> collator_; | 71 const std::unique_ptr<icu::Collator> collator_; |
72 | 72 |
73 // Collator for the "en_US" locale, if different from the application | 73 // Collator for the "en_US" locale, if different from the application |
74 // locale, null otherwise. | 74 // locale, null otherwise. |
75 const scoped_ptr<icu::Collator> default_collator_; | 75 const std::unique_ptr<icu::Collator> default_collator_; |
76 | 76 |
77 // Maps from common country names, including 2- and 3-letter country codes, | 77 // Maps from common country names, including 2- and 3-letter country codes, |
78 // to the corresponding 2-letter country codes. The keys are uppercase ASCII | 78 // to the corresponding 2-letter country codes. The keys are uppercase ASCII |
79 // strings. | 79 // strings. |
80 const std::map<std::string, std::string> common_names_; | 80 const std::map<std::string, std::string> common_names_; |
81 | 81 |
82 // Maps from localized country names (in the application locale) to their | 82 // Maps from localized country names (in the application locale) to their |
83 // corresponding country codes. The keys are ICU collation sort keys | 83 // corresponding country codes. The keys are ICU collation sort keys |
84 // corresponding to the target localized country name. | 84 // corresponding to the target localized country name. |
85 const std::map<std::string, std::string> localized_names_; | 85 const std::map<std::string, std::string> localized_names_; |
86 | 86 |
87 // The same as |localized_names_| but for the "en_US" locale. Empty if | 87 // The same as |localized_names_| but for the "en_US" locale. Empty if |
88 // "en_US" is the application locale already. | 88 // "en_US" is the application locale already. |
89 const std::map<std::string, std::string> default_localized_names_; | 89 const std::map<std::string, std::string> default_localized_names_; |
90 | 90 |
91 DISALLOW_COPY_AND_ASSIGN(CountryNames); | 91 DISALLOW_COPY_AND_ASSIGN(CountryNames); |
92 }; | 92 }; |
93 | 93 |
94 } // namespace autofill | 94 } // namespace autofill |
95 | 95 |
96 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_COUNTRY_NAMES_H_ | 96 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_COUNTRY_NAMES_H_ |
OLD | NEW |