Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
1 // |reftest| skip-if(!this.hasOwnProperty("Intl")||xulRuntime.shell)
2 // -- test in browser only that ICU has locale data for all Mozilla languages
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 // This array contains the locales that ICU supports in
9 // collation whose languages Mozilla localizes Firefox into.
10 // Current as of ICU 50.1.2 and Firefox March 2013.
11 var locales = [
12 "af",
13 "af-NA",
14 "af-ZA",
15 "ar",
16 "ar-001",
17 "ar-AE",
18 "ar-BH",
19 "ar-DJ",
20 "ar-DZ",
21 "ar-EG",
22 "ar-EH",
23 "ar-ER",
24 "ar-IL",
25 "ar-IQ",
26 "ar-JO",
27 "ar-KM",
28 "ar-KW",
29 "ar-LB",
30 "ar-LY",
31 "ar-MA",
32 "ar-MR",
33 "ar-OM",
34 "ar-PS",
35 "ar-QA",
36 "ar-SA",
37 "ar-SD",
38 "ar-SO",
39 "ar-SY",
40 "ar-TD",
41 "ar-TN",
42 "ar-YE",
43 "as",
44 "as-IN",
45 "be",
46 "be-BY",
47 "bg",
48 "bg-BG",
49 "bn",
50 "bn-BD",
51 "bn-IN",
52 "bs",
53 "bs-Cyrl",
54 "bs-Cyrl-BA",
55 "bs-Latn",
56 "bs-Latn-BA",
57 "ca",
58 "ca-AD",
59 "ca-ES",
60 "cs",
61 "cs-CZ",
62 "cy",
63 "cy-GB",
64 "da",
65 "da-DK",
66 "de",
67 "de-AT",
68 "de-BE",
69 "de-CH",
70 "de-DE",
71 "de-LI",
72 "de-LU",
73 "el",
74 "el-CY",
75 "el-GR",
76 "en",
77 "en-150",
78 "en-AG",
79 "en-AS",
80 "en-AU",
81 "en-BB",
82 "en-BE",
83 "en-BM",
84 "en-BS",
85 "en-BW",
86 "en-BZ",
87 "en-CA",
88 "en-CM",
89 "en-DM",
90 "en-FJ",
91 "en-FM",
92 "en-GB",
93 "en-GD",
94 "en-GG",
95 "en-GH",
96 "en-GI",
97 "en-GM",
98 "en-GU",
99 "en-HK",
100 "en-IE",
101 "en-IM",
102 "en-IN",
103 "en-JE",
104 "en-JM",
105 "en-KE",
106 "en-KI",
107 "en-KN",
108 "en-KY",
109 "en-LC",
110 "en-LR",
111 "en-LS",
112 "en-MG",
113 "en-MH",
114 "en-MP",
115 "en-MT",
116 "en-MU",
117 "en-MW",
118 "en-NA",
119 "en-NG",
120 "en-NZ",
121 "en-PG",
122 "en-PH",
123 "en-PK",
124 "en-PR",
125 "en-PW",
126 "en-SB",
127 "en-SC",
128 "en-SG",
129 "en-SL",
130 "en-SS",
131 "en-TC",
132 "en-TO",
133 "en-TT",
134 "en-TZ",
135 "en-UG",
136 "en-UM",
137 "en-US",
138 "en-US-POSIX",
139 "en-VC",
140 "en-VG",
141 "en-VI",
142 "en-VU",
143 "en-WS",
144 "en-ZA",
145 "en-ZM",
146 "en-ZW",
147 "eo",
148 "es",
149 "es-419",
150 "es-AR",
151 "es-BO",
152 "es-CL",
153 "es-CO",
154 "es-CR",
155 "es-CU",
156 "es-DO",
157 "es-EA",
158 "es-EC",
159 "es-ES",
160 "es-GQ",
161 "es-GT",
162 "es-HN",
163 "es-IC",
164 "es-MX",
165 "es-NI",
166 "es-PA",
167 "es-PE",
168 "es-PH",
169 "es-PR",
170 "es-PY",
171 "es-SV",
172 "es-US",
173 "es-UY",
174 "es-VE",
175 "et",
176 "et-EE",
177 "fa",
178 "fa-AF",
179 "fa-IR",
180 "fi",
181 "fi-FI",
182 "fr",
183 "fr-BE",
184 "fr-BF",
185 "fr-BI",
186 "fr-BJ",
187 "fr-BL",
188 "fr-CA",
189 "fr-CD",
190 "fr-CF",
191 "fr-CG",
192 "fr-CH",
193 "fr-CI",
194 "fr-CM",
195 "fr-DJ",
196 "fr-DZ",
197 "fr-FR",
198 "fr-GA",
199 "fr-GN",
200 "fr-GP",
201 "fr-GQ",
202 "fr-HT",
203 "fr-KM",
204 "fr-LU",
205 "fr-MA",
206 "fr-MC",
207 "fr-MF",
208 "fr-MG",
209 "fr-ML",
210 "fr-MQ",
211 "fr-MR",
212 "fr-MU",
213 "fr-NC",
214 "fr-NE",
215 "fr-PF",
216 "fr-RE",
217 "fr-RW",
218 "fr-SC",
219 "fr-SN",
220 "fr-SY",
221 "fr-TD",
222 "fr-TG",
223 "fr-TN",
224 "fr-VU",
225 "ga",
226 "ga-IE",
227 "gu",
228 "gu-IN",
229 "he",
230 "he-IL",
231 "hi",
232 "hi-IN",
233 "hr",
234 "hr-BA",
235 "hr-HR",
236 "hu",
237 "hu-HU",
238 "hy",
239 "hy-AM",
240 "id",
241 "id-ID",
242 "is",
243 "is-IS",
244 "it",
245 "it-CH",
246 "it-IT",
247 "it-SM",
248 "ja",
249 "ja-JP",
250 "kk",
251 "kk-KZ",
252 "km",
253 "km-KH",
254 "kn",
255 "kn-IN",
256 "ko",
257 "ko-KP",
258 "ko-KR",
259 "lt",
260 "lt-LT",
261 "lv",
262 "lv-LV",
263 "mk",
264 "mk-MK",
265 "ml",
266 "ml-IN",
267 "mr",
268 "mr-IN",
269 "nb",
270 "nb-NO",
271 "nl",
272 "nl-AW",
273 "nl-BE",
274 "nl-CW",
275 "nl-NL",
276 "nl-SR",
277 "nl-SX",
278 "nn",
279 "nn-NO",
280 "or",
281 "or-IN",
282 "pa",
283 "pa-Arab",
284 "pa-Arab-PK",
285 "pa-Guru",
286 "pa-Guru-IN",
287 "pl",
288 "pl-PL",
289 "pt",
290 "pt-AO",
291 "pt-BR",
292 "pt-CV",
293 "pt-GW",
294 "pt-MO",
295 "pt-MZ",
296 "pt-PT",
297 "pt-ST",
298 "pt-TL",
299 "ro",
300 "ro-MD",
301 "ro-RO",
302 "ru",
303 "ru-BY",
304 "ru-KG",
305 "ru-KZ",
306 "ru-MD",
307 "ru-RU",
308 "ru-UA",
309 "si",
310 "si-LK",
311 "sk",
312 "sk-SK",
313 "sl",
314 "sl-SI",
315 "sq",
316 "sq-AL",
317 "sq-MK",
318 "sr",
319 "sr-Cyrl",
320 "sr-Cyrl-BA",
321 "sr-Cyrl-ME",
322 "sr-Cyrl-RS",
323 "sr-Latn",
324 "sr-Latn-BA",
325 "sr-Latn-ME",
326 "sr-Latn-RS",
327 "sv",
328 "sv-AX",
329 "sv-FI",
330 "sv-SE",
331 "te",
332 "te-IN",
333 "th",
334 "th-TH",
335 "tr",
336 "tr-CY",
337 "tr-TR",
338 "uk",
339 "uk-UA",
340 "vi",
341 "vi-VN",
342 "zh",
343 "zh-Hans",
344 "zh-Hans-CN",
345 "zh-Hans-SG",
346 "zh-Hant",
347 "zh-Hant-HK",
348 "zh-Hant-MO",
349 "zh-Hant-TW",
350 ];
353 var count = Intl.Collator.supportedLocalesOf(locales).length;
355 reportCompare(locales.length, count, "Number of supported locales in Intl.Collator");