Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: chrome/browser/search_engines/template_url_prepopulate_data.cc

Issue 11377049: Moving prepopulated search engines to a JSON file. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Ready for thorough review Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/search_engines/template_url_prepopulate_data.h" 5 #include "chrome/browser/search_engines/template_url_prepopulate_data.h"
6 6
7 #if defined(OS_POSIX) && !defined(OS_MACOSX) 7 #if defined(OS_POSIX) && !defined(OS_MACOSX)
8 #include <locale.h> 8 #include <locale.h>
9 #endif 9 #endif
10 10
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/json/json_reader.h"
13 #include "base/logging.h" 12 #include "base/logging.h"
14 #include "base/memory/scoped_vector.h" 13 #include "base/memory/scoped_vector.h"
15 #include "base/string16.h" 14 #include "base/string16.h"
16 #include "base/string_piece.h" 15 #include "base/string_piece.h"
17 #include "base/string_util.h" 16 #include "base/string_util.h"
18 #include "base/stl_util.h" 17 #include "base/stl_util.h"
19 #include "base/utf_string_conversions.h" 18 #include "base/utf_string_conversions.h"
20 #include "chrome/browser/google/google_util.h" 19 #include "chrome/browser/google/google_util.h"
21 #include "chrome/browser/prefs/pref_service.h" 20 #include "chrome/browser/prefs/pref_service.h"
22 #include "chrome/browser/profiles/profile.h" 21 #include "chrome/browser/profiles/profile.h"
23 #include "chrome/browser/search_engines/search_engine_type.h" 22 #include "chrome/browser/search_engines/search_engine_type.h"
24 #include "chrome/browser/search_engines/search_terms_data.h" 23 #include "chrome/browser/search_engines/search_terms_data.h"
25 #include "chrome/browser/search_engines/template_url.h" 24 #include "chrome/browser/search_engines/template_url.h"
26 #include "chrome/browser/search_engines/template_url_service.h" 25 #include "chrome/browser/search_engines/template_url_service.h"
27 #include "chrome/common/chrome_switches.h" 26 #include "chrome/common/chrome_switches.h"
28 #include "chrome/common/pref_names.h" 27 #include "chrome/common/pref_names.h"
29 #include "content/public/browser/browser_thread.h" 28 #include "content/public/browser/browser_thread.h"
30 #include "googleurl/src/gurl.h" 29 #include "googleurl/src/gurl.h"
31 #include "grit/generated_resources.h" 30 #include "grit/generated_resources.h"
32 #include "grit/theme_resources.h" 31 #include "grit/theme_resources.h"
33 #include "ui/base/l10n/l10n_util.h" 32 #include "ui/base/l10n/l10n_util.h"
34 33
34 #include "prepopulated_engines.h"
not at google - send to devlin 2012/11/12 18:38:13 out of curiosity: why not chrome/browser/seatch_en
Peter Kasting 2012/11/12 22:46:36 Yeah, that's probably an error actually.
beaudoin 2012/11/13 18:44:26 Because mistake! Thanks for catching it! :) Done.
beaudoin 2012/11/13 18:44:26 Done.
35
35 #if defined(OS_WIN) 36 #if defined(OS_WIN)
36 #undef IN // On Windows, windef.h defines this, which screws up "India" cases. 37 #undef IN // On Windows, windef.h defines this, which screws up "India" cases.
37 #elif defined(OS_MACOSX) 38 #elif defined(OS_MACOSX)
38 #include "base/mac/scoped_cftyperef.h" 39 #include "base/mac/scoped_cftyperef.h"
39 #endif 40 #endif
40 41
41 namespace { 42 namespace TemplateURLPrepopulateData {
42 43
43 // NOTE: See comments in GetDataVersion() below! You should probably not change 44 // NOTE: You should probably not change the data in this file without changing
44 // the data in this file without changing the result of that function! 45 // |kCurrentDataVersion| in prepopulated_engines.json. See comments in
45 46 // GetDataVersion() below!
46 // Engine definitions //////////////////////////////////////////////////////////
47
48 struct PrepopulatedEngine {
49 const wchar_t* const name;
50 const wchar_t* const keyword;
51 const char* const favicon_url; // If NULL, there is no favicon.
52 const char* const search_url;
53 const char* const encoding;
54 const char* const suggest_url; // If NULL, this engine does not support
55 // suggestions.
56 const char* const instant_url; // If NULL, this engine does not support
57 // instant.
58 // A JSON array containing a list of URL patterns that can be used, in
59 // addition to |search_url|, to extract search terms from a URL. Can be NULL.
60 const char* const alternate_urls;
61 // SEARCH_ENGINE_OTHER if there is no matching type.
62 const SearchEngineType type;
63 // Unique id for this prepopulate engine (corresponds to
64 // TemplateURL::prepopulate_id). This ID must be greater than zero and must
65 // remain the same for a particular site regardless of how the url changes;
66 // the ID is used when modifying engine data in subsequent versions, so that
67 // we can find the "old" entry to update even when the name or URL changes.
68 //
69 // This ID must be "unique" within one country's prepopulated data, but two
70 // entries can share an ID if they represent the "same" engine (e.g. Yahoo! US
71 // vs. Yahoo! UK) and will not appear in the same user-visible data set. This
72 // facilitates changes like adding more specific per-country data in the
73 // future; in such a case the localized engines will transparently replace the
74 // previous, non-localized versions. For engines where we need two instances
75 // to appear for one country (e.g. Bing Search U.S. English and Spanish), we
76 // must use two different unique IDs (and different keywords).
77 //
78 // The following unique IDs are available:
79 // 53, 56, 58, 60, 61, 64, 65, 66, 70, 74, 78, 79, 80, 81, 84, 86, 88, 91,
80 // 92, 93, 94, 95, 96, 97, 98, 99, 102+
81 //
82 // IDs > 1000 are reserved for distribution custom engines.
83 //
84 // NOTES:
85 // CHANGE THE ABOVE NUMBERS IF YOU ADD A NEW ENGINE; ID conflicts = bad!
86 // CHANGE kMaxPrepopulatedEngineID below if you add new engine outside
87 // of the current range or it will not be counted in stats.
88 const int id;
89 };
90
91 // Prepopulated engines ////////////////////////////////////////////////////////
92
93 // The following engines are included in country lists and are added to the list
94 // of search engines on the first run depending on user's country.
95
96 const PrepopulatedEngine abcsok = {
97 L"ABC S\x00f8k",
98 L"abcsok.no",
99 "http://abcsok.no/favicon.ico",
100 "http://abcsok.no/index.html?q={searchTerms}",
101 "UTF-8",
102 NULL,
103 NULL,
104 NULL,
105 SEARCH_ENGINE_ABCSOK,
106 72,
107 };
108
109 const PrepopulatedEngine altavista = {
110 L"AltaVista",
111 L"altavista.com",
112 "http://www.altavista.com/favicon.ico",
113 "http://www.altavista.com/web/results?q={searchTerms}",
114 "UTF-8",
115 NULL,
116 NULL,
117 NULL,
118 SEARCH_ENGINE_ALTAVISTA,
119 89,
120 };
121
122 const PrepopulatedEngine altavista_ar = {
123 L"AltaVista",
124 L"ar.altavista.com",
125 "http://ar.altavista.com/favicon.ico",
126 "http://ar.altavista.com/web/results?q={searchTerms}",
127 "UTF-8",
128 NULL,
129 NULL,
130 NULL,
131 SEARCH_ENGINE_ALTAVISTA,
132 89,
133 };
134
135 const PrepopulatedEngine altavista_se = {
136 L"AltaVista",
137 L"se.altavista.com",
138 "http://se.altavista.com/favicon.ico",
139 "http://se.altavista.com/web/results?q={searchTerms}",
140 "UTF-8",
141 NULL,
142 NULL,
143 NULL,
144 SEARCH_ENGINE_ALTAVISTA,
145 89,
146 };
147
148 const PrepopulatedEngine aol = {
149 L"AOL",
150 L"aol.com",
151 "http://search.aol.com/favicon.ico",
152 "http://search.aol.com/aol/search?query={searchTerms}",
153 "UTF-8",
154 NULL,
155 NULL,
156 NULL,
157 SEARCH_ENGINE_OTHER,
158 35,
159 };
160
161 const PrepopulatedEngine araby = {
162 L"\x0639\x0631\x0628\x064a",
163 L"araby.com",
164 "http://araby.com/favicon.ico",
165 "http://araby.com/?q={searchTerms}",
166 "UTF-8",
167 NULL,
168 NULL,
169 NULL,
170 SEARCH_ENGINE_OTHER,
171 12,
172 };
173
174 const PrepopulatedEngine ask = {
175 L"Ask",
176 L"ask.com",
177 "http://www.ask.com/favicon.ico",
178 "http://www.ask.com/web?q={searchTerms}",
179 "UTF-8",
180 "http://ss.ask.com/query?q={searchTerms}&li=ff",
181 NULL,
182 NULL,
183 SEARCH_ENGINE_ASK,
184 4,
185 };
186
187 const PrepopulatedEngine ask_de = {
188 L"Ask.com Deutschland",
189 L"de.ask.com",
190 "http://de.ask.com/favicon.ico",
191 "http://de.ask.com/web?q={searchTerms}",
192 "UTF-8",
193 "http://ss.de.ask.com/query?q={searchTerms}&li=ff",
194 NULL,
195 NULL,
196 SEARCH_ENGINE_ASK,
197 4,
198 };
199
200 const PrepopulatedEngine ask_es = {
201 L"Ask.com Espa" L"\x00f1" L"a",
202 L"es.ask.com",
203 "http://es.ask.com/favicon.ico",
204 "http://es.ask.com/web?q={searchTerms}",
205 "UTF-8",
206 "http://ss.es.ask.com/query?q={searchTerms}&li=ff",
207 NULL,
208 NULL,
209 SEARCH_ENGINE_ASK,
210 4,
211 };
212
213 const PrepopulatedEngine ask_it = {
214 L"Ask.com Italia",
215 L"it.ask.com",
216 "http://it.ask.com/favicon.ico",
217 "http://it.ask.com/web?q={searchTerms}",
218 "UTF-8",
219 "http://ss.it.ask.com/query?q={searchTerms}&li=ff",
220 NULL,
221 NULL,
222 SEARCH_ENGINE_ASK,
223 4,
224 };
225
226 const PrepopulatedEngine ask_nl = {
227 L"Ask.com Nederland",
228 L"nl.ask.com",
229 "http://nl.ask.com/favicon.ico",
230 "http://nl.ask.com/web?q={searchTerms}",
231 "UTF-8",
232 "http://ss.nl.ask.com/query?q={searchTerms}&li=ff",
233 NULL,
234 NULL,
235 SEARCH_ENGINE_ASK,
236 4,
237 };
238
239 const PrepopulatedEngine ask_uk = {
240 L"Ask Jeeves",
241 L"uk.ask.com",
242 "http://uk.ask.com/favicon.ico",
243 "http://uk.ask.com/web?q={searchTerms}",
244 "UTF-8",
245 "http://ss.uk.ask.com/query?q={searchTerms}&li=ff",
246 NULL,
247 NULL,
248 SEARCH_ENGINE_ASK,
249 4,
250 };
251
252 const PrepopulatedEngine atlas_cz = {
253 L"Atlas",
254 L"atlas.cz",
255 "http://img.atlas.cz/favicon.ico",
256 "http://search.atlas.cz/?q={searchTerms}",
257 "windows-1250",
258 NULL,
259 NULL,
260 NULL,
261 SEARCH_ENGINE_OTHER,
262 27,
263 };
264
265 const PrepopulatedEngine atlas_sk = {
266 L"ATLAS.SK",
267 L"atlas.sk",
268 "http://www.atlas.sk/images/favicon.ico",
269 "http://hladaj.atlas.sk/fulltext/?phrase={searchTerms}",
270 "UTF-8",
271 NULL,
272 NULL,
273 NULL,
274 SEARCH_ENGINE_OTHER,
275 27,
276 };
277
278 const PrepopulatedEngine baidu = {
279 L"\x767e\x5ea6",
280 L"baidu.com",
281 "http://www.baidu.com/favicon.ico",
282 "http://www.baidu.com/s?wd={searchTerms}",
283 "GB2312",
284 NULL,
285 NULL,
286 NULL,
287 SEARCH_ENGINE_BAIDU,
288 21,
289 };
290
291 const PrepopulatedEngine bing = {
292 L"Bing",
293 L"bing.com",
294 "http://www.bing.com/s/wlflag.ico",
295 "http://www.bing.com/search?q={searchTerms}",
296 "UTF-8",
297 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
298 NULL,
299 NULL,
300 SEARCH_ENGINE_BING,
301 3,
302 };
303
304 const PrepopulatedEngine bing_ar_XA = {
305 L"Bing",
306 L"bing.com_", // bing.com is taken by bing_en_XA.
307 "http://www.bing.com/s/wlflag.ico",
308 "http://www.bing.com/search?setmkt=ar-XA&q={searchTerms}",
309 "UTF-8",
310 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
311 NULL,
312 NULL,
313 SEARCH_ENGINE_BING,
314 7, // Can't be 3 as this has to appear in the Arabian countries' lists
315 // alongside bing_en_XA.
316 };
317
318 const PrepopulatedEngine bing_bg_BG = {
319 L"Bing",
320 L"bing.com",
321 "http://www.bing.com/s/wlflag.ico",
322 "http://www.bing.com/search?setmkt=bg-BG&q={searchTerms}",
323 "UTF-8",
324 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
325 NULL,
326 NULL,
327 SEARCH_ENGINE_BING,
328 3,
329 };
330
331 const PrepopulatedEngine bing_cs_CZ = {
332 L"Bing",
333 L"bing.com",
334 "http://www.bing.com/s/wlflag.ico",
335 "http://www.bing.com/search?setmkt=cs-CZ&q={searchTerms}",
336 "UTF-8",
337 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
338 NULL,
339 NULL,
340 SEARCH_ENGINE_BING,
341 3,
342 };
343
344 const PrepopulatedEngine bing_da_DK = {
345 L"Bing",
346 L"bing.com",
347 "http://www.bing.com/s/wlflag.ico",
348 "http://www.bing.com/search?setmkt=da-DK&q={searchTerms}",
349 "UTF-8",
350 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
351 NULL,
352 NULL,
353 SEARCH_ENGINE_BING,
354 3,
355 };
356
357 const PrepopulatedEngine bing_de_AT = {
358 L"Bing",
359 L"bing.com",
360 "http://www.bing.com/s/wlflag.ico",
361 "http://www.bing.com/search?setmkt=de-AT&q={searchTerms}",
362 "UTF-8",
363 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
364 NULL,
365 NULL,
366 SEARCH_ENGINE_BING,
367 3,
368 };
369
370 const PrepopulatedEngine bing_de_CH = {
371 L"Bing",
372 L"bing.com",
373 "http://www.bing.com/s/wlflag.ico",
374 "http://www.bing.com/search?setmkt=de-CH&q={searchTerms}",
375 "UTF-8",
376 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
377 NULL,
378 NULL,
379 SEARCH_ENGINE_BING,
380 3,
381 };
382
383 const PrepopulatedEngine bing_de_DE = {
384 L"Bing",
385 L"bing.com",
386 "http://www.bing.com/s/wlflag.ico",
387 "http://www.bing.com/search?setmkt=de-DE&q={searchTerms}",
388 "UTF-8",
389 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
390 NULL,
391 NULL,
392 SEARCH_ENGINE_BING,
393 3,
394 };
395
396 const PrepopulatedEngine bing_el_GR = {
397 L"Bing",
398 L"bing.com",
399 "http://www.bing.com/s/wlflag.ico",
400 "http://www.bing.com/search?setmkt=el-GR&q={searchTerms}",
401 "UTF-8",
402 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
403 NULL,
404 NULL,
405 SEARCH_ENGINE_BING,
406 3,
407 };
408
409 const PrepopulatedEngine bing_en_AU = {
410 L"Bing",
411 L"bing.com",
412 "http://www.bing.com/s/wlflag.ico",
413 "http://www.bing.com/search?setmkt=en-AU&q={searchTerms}",
414 "UTF-8",
415 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
416 NULL,
417 NULL,
418 SEARCH_ENGINE_BING,
419 3,
420 };
421
422 const PrepopulatedEngine bing_en_CA = {
423 L"Bing",
424 L"bing.com",
425 "http://www.bing.com/s/wlflag.ico",
426 "http://www.bing.com/search?setmkt=en-CA&q={searchTerms}",
427 "UTF-8",
428 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
429 NULL,
430 NULL,
431 SEARCH_ENGINE_BING,
432 3,
433 };
434
435 const PrepopulatedEngine bing_en_GB = {
436 L"Bing",
437 L"bing.com",
438 "http://www.bing.com/s/wlflag.ico",
439 "http://www.bing.com/search?setmkt=en-GB&q={searchTerms}",
440 "UTF-8",
441 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
442 NULL,
443 NULL,
444 SEARCH_ENGINE_BING,
445 3,
446 };
447
448 const PrepopulatedEngine bing_en_ID = {
449 L"Bing",
450 L"bing.com",
451 "http://www.bing.com/s/wlflag.ico",
452 "http://www.bing.com/search?setmkt=en-ID&q={searchTerms}",
453 "UTF-8",
454 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
455 NULL,
456 NULL,
457 SEARCH_ENGINE_BING,
458 3,
459 };
460
461 const PrepopulatedEngine bing_en_IE = {
462 L"Bing",
463 L"bing.com",
464 "http://www.bing.com/s/wlflag.ico",
465 "http://www.bing.com/search?setmkt=en-IE&q={searchTerms}",
466 "UTF-8",
467 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
468 NULL,
469 NULL,
470 SEARCH_ENGINE_BING,
471 3,
472 };
473
474 const PrepopulatedEngine bing_en_IN = {
475 L"Bing",
476 L"bing.com",
477 "http://www.bing.com/s/wlflag.ico",
478 "http://www.bing.com/search?setmkt=en-IN&q={searchTerms}",
479 "UTF-8",
480 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
481 NULL,
482 NULL,
483 SEARCH_ENGINE_BING,
484 3,
485 };
486
487 const PrepopulatedEngine bing_en_MY = {
488 L"Bing",
489 L"bing.com",
490 "http://www.bing.com/s/wlflag.ico",
491 "http://www.bing.com/search?setmkt=en-MY&q={searchTerms}",
492 "UTF-8",
493 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
494 NULL,
495 NULL,
496 SEARCH_ENGINE_BING,
497 3,
498 };
499
500 const PrepopulatedEngine bing_en_NZ = {
501 L"Bing",
502 L"bing.com",
503 "http://www.bing.com/s/wlflag.ico",
504 "http://www.bing.com/search?setmkt=en-NZ&q={searchTerms}",
505 "UTF-8",
506 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
507 NULL,
508 NULL,
509 SEARCH_ENGINE_BING,
510 3,
511 };
512
513 const PrepopulatedEngine bing_en_PH = {
514 L"Bing",
515 L"bing.com",
516 "http://www.bing.com/s/wlflag.ico",
517 "http://www.bing.com/search?setmkt=en-PH&q={searchTerms}",
518 "UTF-8",
519 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
520 NULL,
521 NULL,
522 SEARCH_ENGINE_BING,
523 3,
524 };
525
526 const PrepopulatedEngine bing_en_SG = {
527 L"Bing",
528 L"bing.com",
529 "http://www.bing.com/s/wlflag.ico",
530 "http://www.bing.com/search?setmkt=en-SG&q={searchTerms}",
531 "UTF-8",
532 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
533 NULL,
534 NULL,
535 SEARCH_ENGINE_BING,
536 3,
537 };
538
539 const PrepopulatedEngine bing_en_US = {
540 L"Bing",
541 L"bing.com",
542 "http://www.bing.com/s/wlflag.ico",
543 "http://www.bing.com/search?setmkt=en-US&q={searchTerms}",
544 "UTF-8",
545 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
546 NULL,
547 NULL,
548 SEARCH_ENGINE_BING,
549 3,
550 };
551
552 const PrepopulatedEngine bing_en_XA = {
553 L"Bing",
554 L"bing.com",
555 "http://www.bing.com/s/wlflag.ico",
556 "http://www.bing.com/search?setmkt=en-XA&q={searchTerms}",
557 "UTF-8",
558 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
559 NULL,
560 NULL,
561 SEARCH_ENGINE_BING,
562 3,
563 };
564
565 const PrepopulatedEngine bing_en_ZA = {
566 L"Bing",
567 L"bing.com",
568 "http://www.bing.com/s/wlflag.ico",
569 "http://www.bing.com/search?setmkt=en-ZA&q={searchTerms}",
570 "UTF-8",
571 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
572 NULL,
573 NULL,
574 SEARCH_ENGINE_BING,
575 3,
576 };
577
578 const PrepopulatedEngine bing_es_AR = {
579 L"Bing",
580 L"bing.com",
581 "http://www.bing.com/s/wlflag.ico",
582 "http://www.bing.com/search?setmkt=es-AR&q={searchTerms}",
583 "UTF-8",
584 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
585 NULL,
586 NULL,
587 SEARCH_ENGINE_BING,
588 3,
589 };
590
591 const PrepopulatedEngine bing_es_CL = {
592 L"Bing",
593 L"bing.com",
594 "http://www.bing.com/s/wlflag.ico",
595 "http://www.bing.com/search?setmkt=es-CL&q={searchTerms}",
596 "UTF-8",
597 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
598 NULL,
599 NULL,
600 SEARCH_ENGINE_BING,
601 3,
602 };
603
604 const PrepopulatedEngine bing_es_ES = {
605 L"Bing",
606 L"bing.com",
607 "http://www.bing.com/s/wlflag.ico",
608 "http://www.bing.com/search?setmkt=es-ES&q={searchTerms}",
609 "UTF-8",
610 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
611 NULL,
612 NULL,
613 SEARCH_ENGINE_BING,
614 3,
615 };
616
617 const PrepopulatedEngine bing_es_MX = {
618 L"Bing",
619 L"bing.com",
620 "http://www.bing.com/s/wlflag.ico",
621 "http://www.bing.com/search?setmkt=es-MX&q={searchTerms}",
622 "UTF-8",
623 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
624 NULL,
625 NULL,
626 SEARCH_ENGINE_BING,
627 3,
628 };
629
630 const PrepopulatedEngine bing_es_XL = {
631 L"Bing",
632 L"bing.com",
633 "http://www.bing.com/s/wlflag.ico",
634 "http://www.bing.com/search?setmkt=es-XL&q={searchTerms}",
635 "UTF-8",
636 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
637 NULL,
638 NULL,
639 SEARCH_ENGINE_BING,
640 3,
641 };
642
643 const PrepopulatedEngine bing_et_EE = {
644 L"Bing",
645 L"bing.com",
646 "http://www.bing.com/s/wlflag.ico",
647 "http://www.bing.com/search?setmkt=et-EE&q={searchTerms}",
648 "UTF-8",
649 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
650 NULL,
651 NULL,
652 SEARCH_ENGINE_BING,
653 3,
654 };
655
656 const PrepopulatedEngine bing_fi_FI = {
657 L"Bing",
658 L"bing.com",
659 "http://www.bing.com/s/wlflag.ico",
660 "http://www.bing.com/search?setmkt=fi-FI&q={searchTerms}",
661 "UTF-8",
662 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
663 NULL,
664 NULL,
665 SEARCH_ENGINE_BING,
666 3,
667 };
668
669 const PrepopulatedEngine bing_fr_BE = {
670 L"Bing",
671 L"bing.com_", // bing.com is taken by bing_nl_BE.
672 "http://www.bing.com/s/wlflag.ico",
673 "http://www.bing.com/search?setmkt=fr-BE&q={searchTerms}",
674 "UTF-8",
675 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
676 NULL,
677 NULL,
678 SEARCH_ENGINE_BING,
679 7,
680 };
681
682 const PrepopulatedEngine bing_fr_CA = {
683 L"Bing",
684 L"bing.com_", // bing.com is taken by bing_en_CA.
685 "http://www.bing.com/s/wlflag.ico",
686 "http://www.bing.com/search?setmkt=fr-CA&q={searchTerms}",
687 "UTF-8",
688 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
689 NULL,
690 NULL,
691 SEARCH_ENGINE_BING,
692 7,
693 };
694
695 const PrepopulatedEngine bing_fr_CH = {
696 L"Bing",
697 L"bing.com_", // bing.com is taken by bing_de_CH.
698 "http://www.bing.com/s/wlflag.ico",
699 "http://www.bing.com/search?setmkt=fr-CH&q={searchTerms}",
700 "UTF-8",
701 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
702 NULL,
703 NULL,
704 SEARCH_ENGINE_BING,
705 7,
706 };
707
708 const PrepopulatedEngine bing_fr_FR = {
709 L"Bing",
710 L"bing.com",
711 "http://www.bing.com/s/wlflag.ico",
712 "http://www.bing.com/search?setmkt=fr-FR&q={searchTerms}",
713 "UTF-8",
714 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
715 NULL,
716 NULL,
717 SEARCH_ENGINE_BING,
718 3,
719 };
720
721 const PrepopulatedEngine bing_he_IL = {
722 L"Bing",
723 L"bing.com",
724 "http://www.bing.com/s/wlflag.ico",
725 "http://www.bing.com/search?setmkt=he-IL&q={searchTerms}",
726 "UTF-8",
727 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
728 NULL,
729 NULL,
730 SEARCH_ENGINE_BING,
731 3,
732 };
733
734 const PrepopulatedEngine bing_hr_HR = {
735 L"Bing",
736 L"bing.com",
737 "http://www.bing.com/s/wlflag.ico",
738 "http://www.bing.com/search?setmkt=hr-HR&q={searchTerms}",
739 "UTF-8",
740 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
741 NULL,
742 NULL,
743 SEARCH_ENGINE_BING,
744 3,
745 };
746
747 const PrepopulatedEngine bing_hu_HU = {
748 L"Bing",
749 L"bing.com",
750 "http://www.bing.com/s/wlflag.ico",
751 "http://www.bing.com/search?setmkt=hu-HU&q={searchTerms}",
752 "UTF-8",
753 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
754 NULL,
755 NULL,
756 SEARCH_ENGINE_BING,
757 3,
758 };
759
760 const PrepopulatedEngine bing_it_IT = {
761 L"Bing",
762 L"bing.com",
763 "http://www.bing.com/s/wlflag.ico",
764 "http://www.bing.com/search?setmkt=it-IT&q={searchTerms}",
765 "UTF-8",
766 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
767 NULL,
768 NULL,
769 SEARCH_ENGINE_BING,
770 3,
771 };
772
773 const PrepopulatedEngine bing_ja_JP = {
774 L"Bing",
775 L"bing.com",
776 "http://www.bing.com/s/wlflag.ico",
777 "http://www.bing.com/search?setmkt=ja-JP&q={searchTerms}",
778 "UTF-8",
779 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
780 NULL,
781 NULL,
782 SEARCH_ENGINE_BING,
783 3,
784 };
785
786 const PrepopulatedEngine bing_ko_KR = {
787 L"Bing",
788 L"bing.com",
789 "http://www.bing.com/s/wlflag.ico",
790 "http://www.bing.com/search?setmkt=ko-KR&q={searchTerms}",
791 "UTF-8",
792 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
793 NULL,
794 NULL,
795 SEARCH_ENGINE_BING,
796 3,
797 };
798
799 const PrepopulatedEngine bing_lt_LT = {
800 L"Bing",
801 L"bing.com",
802 "http://www.bing.com/s/wlflag.ico",
803 "http://www.bing.com/search?setmkt=lt-LT&q={searchTerms}",
804 "UTF-8",
805 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
806 NULL,
807 NULL,
808 SEARCH_ENGINE_BING,
809 3,
810 };
811
812 const PrepopulatedEngine bing_lv_LV = {
813 L"Bing",
814 L"bing.com",
815 "http://www.bing.com/s/wlflag.ico",
816 "http://www.bing.com/search?setmkt=lv-LV&q={searchTerms}",
817 "UTF-8",
818 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
819 NULL,
820 NULL,
821 SEARCH_ENGINE_BING,
822 3,
823 };
824
825 const PrepopulatedEngine bing_nb_NO = {
826 L"Bing",
827 L"bing.com",
828 "http://www.bing.com/s/wlflag.ico",
829 "http://www.bing.com/search?setmkt=nb-NO&q={searchTerms}",
830 "UTF-8",
831 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
832 NULL,
833 NULL,
834 SEARCH_ENGINE_BING,
835 3,
836 };
837
838 const PrepopulatedEngine bing_nl_BE = {
839 L"Bing",
840 L"bing.com",
841 "http://www.bing.com/s/wlflag.ico",
842 "http://www.bing.com/search?setmkt=nl-BE&q={searchTerms}",
843 "UTF-8",
844 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
845 NULL,
846 NULL,
847 SEARCH_ENGINE_BING,
848 3,
849 };
850
851 const PrepopulatedEngine bing_nl_NL = {
852 L"Bing",
853 L"bing.com",
854 "http://www.bing.com/s/wlflag.ico",
855 "http://www.bing.com/search?setmkt=nl-NL&q={searchTerms}",
856 "UTF-8",
857 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
858 NULL,
859 NULL,
860 SEARCH_ENGINE_BING,
861 3,
862 };
863
864 const PrepopulatedEngine bing_pl_PL = {
865 L"Bing",
866 L"bing.com",
867 "http://www.bing.com/s/wlflag.ico",
868 "http://www.bing.com/search?setmkt=pl-PL&q={searchTerms}",
869 "UTF-8",
870 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
871 NULL,
872 NULL,
873 SEARCH_ENGINE_BING,
874 3,
875 };
876
877 const PrepopulatedEngine bing_pt_BR = {
878 L"Bing",
879 L"bing.com",
880 "http://www.bing.com/s/wlflag.ico",
881 "http://www.bing.com/search?setmkt=pt-BR&q={searchTerms}",
882 "UTF-8",
883 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
884 NULL,
885 NULL,
886 SEARCH_ENGINE_BING,
887 3,
888 };
889
890 const PrepopulatedEngine bing_pt_PT = {
891 L"Bing",
892 L"bing.com",
893 "http://www.bing.com/s/wlflag.ico",
894 "http://www.bing.com/search?setmkt=pt-PT&q={searchTerms}",
895 "UTF-8",
896 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
897 NULL,
898 NULL,
899 SEARCH_ENGINE_BING,
900 3,
901 };
902
903 const PrepopulatedEngine bing_ro_RO = {
904 L"Bing",
905 L"bing.com",
906 "http://www.bing.com/s/wlflag.ico",
907 "http://www.bing.com/search?setmkt=ro-RO&q={searchTerms}",
908 "UTF-8",
909 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
910 NULL,
911 NULL,
912 SEARCH_ENGINE_BING,
913 3,
914 };
915
916 const PrepopulatedEngine bing_ru_RU = {
917 L"Bing",
918 L"bing.com",
919 "http://www.bing.com/s/wlflag.ico",
920 "http://www.bing.com/search?setmkt=ru-RU&q={searchTerms}",
921 "UTF-8",
922 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
923 NULL,
924 NULL,
925 SEARCH_ENGINE_BING,
926 3,
927 };
928
929 const PrepopulatedEngine bing_sl_SI = {
930 L"Bing",
931 L"bing.com",
932 "http://www.bing.com/s/wlflag.ico",
933 "http://www.bing.com/search?setmkt=sl-SI&q={searchTerms}",
934 "UTF-8",
935 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
936 NULL,
937 NULL,
938 SEARCH_ENGINE_BING,
939 3,
940 };
941
942 const PrepopulatedEngine bing_sk_SK = {
943 L"Bing",
944 L"bing.com",
945 "http://www.bing.com/s/wlflag.ico",
946 "http://www.bing.com/search?setmkt=sk-SK&q={searchTerms}",
947 "UTF-8",
948 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
949 NULL,
950 NULL,
951 SEARCH_ENGINE_BING,
952 3,
953 };
954
955 const PrepopulatedEngine bing_sv_SE = {
956 L"Bing",
957 L"bing.com",
958 "http://www.bing.com/s/wlflag.ico",
959 "http://www.bing.com/search?setmkt=sv-SE&q={searchTerms}",
960 "UTF-8",
961 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
962 NULL,
963 NULL,
964 SEARCH_ENGINE_BING,
965 3,
966 };
967
968 const PrepopulatedEngine bing_th_TH = {
969 L"Bing",
970 L"bing.com",
971 "http://www.bing.com/s/wlflag.ico",
972 "http://www.bing.com/search?setmkt=th-TH&q={searchTerms}",
973 "UTF-8",
974 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
975 NULL,
976 NULL,
977 SEARCH_ENGINE_BING,
978 3,
979 };
980
981 const PrepopulatedEngine bing_tr_TR = {
982 L"Bing",
983 L"bing.com",
984 "http://www.bing.com/s/wlflag.ico",
985 "http://www.bing.com/search?setmkt=tr-TR&q={searchTerms}",
986 "UTF-8",
987 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
988 NULL,
989 NULL,
990 SEARCH_ENGINE_BING,
991 3,
992 };
993
994 const PrepopulatedEngine bing_uk_UA = {
995 L"Bing",
996 L"bing.com",
997 "http://www.bing.com/s/wlflag.ico",
998 "http://www.bing.com/search?setmkt=uk-UA&q={searchTerms}",
999 "UTF-8",
1000 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
1001 NULL,
1002 NULL,
1003 SEARCH_ENGINE_BING,
1004 3,
1005 };
1006
1007 const PrepopulatedEngine bing_zh_CN = {
1008 L"Bing",
1009 L"bing.com",
1010 "http://www.bing.com/s/wlflag.ico",
1011 "http://www.bing.com/search?setmkt=zh-CN&q={searchTerms}",
1012 "UTF-8",
1013 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
1014 NULL,
1015 NULL,
1016 SEARCH_ENGINE_BING,
1017 3,
1018 };
1019
1020 const PrepopulatedEngine bing_zh_HK = {
1021 L"Bing",
1022 L"bing.com",
1023 "http://www.bing.com/s/wlflag.ico",
1024 "http://www.bing.com/search?setmkt=zh-HK&q={searchTerms}",
1025 "UTF-8",
1026 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
1027 NULL,
1028 NULL,
1029 SEARCH_ENGINE_BING,
1030 3,
1031 };
1032
1033 const PrepopulatedEngine bing_zh_TW = {
1034 L"Bing",
1035 L"bing.com",
1036 "http://www.bing.com/s/wlflag.ico",
1037 "http://www.bing.com/search?setmkt=zh-TW&q={searchTerms}",
1038 "UTF-8",
1039 "http://api.bing.com/osjson.aspx?query={searchTerms}&language={language}",
1040 NULL,
1041 NULL,
1042 SEARCH_ENGINE_BING,
1043 3,
1044 };
1045
1046 const PrepopulatedEngine centrum_cz = {
1047 L"Centrum.cz",
1048 L"centrum.cz",
1049 "http://img.centrum.cz/6/vy2/o/favicon.ico",
1050 "http://search.centrum.cz/index.php?charset={inputEncoding}&q={searchTerms}",
1051 "UTF-8",
1052 NULL,
1053 NULL,
1054 NULL,
1055 SEARCH_ENGINE_CENTRUM,
1056 26,
1057 };
1058
1059 const PrepopulatedEngine centrum_sk = {
1060 L"Centrum.sk",
1061 L"centrum.sk",
1062 "http://img.centrum.sk/4/favicon.ico",
1063 "http://search.centrum.sk/index.php?charset={inputEncoding}&q={searchTerms}",
1064 "UTF-8",
1065 NULL,
1066 NULL,
1067 NULL,
1068 SEARCH_ENGINE_CENTRUM,
1069 26,
1070 };
1071
1072 const PrepopulatedEngine daum = {
1073 L"Daum",
1074 L"daum.net",
1075 "http://icon.daum-img.net/favicon.ico",
1076 "http://search.daum.net/search?q={searchTerms}",
1077 "UTF-8",
1078 "http://sug.search.daum.net/search_nsuggest?mod=fxjson&code=utf_in_out&"
1079 "q={searchTerms}",
1080 NULL,
1081 NULL,
1082 SEARCH_ENGINE_DAUM,
1083 68,
1084 };
1085
1086 const PrepopulatedEngine delfi_lt = {
1087 L"DELFI",
1088 L"delfi.lt",
1089 "http://search.delfi.lt/img/favicon.png",
1090 "http://search.delfi.lt/search.php?q={searchTerms}",
1091 "UTF-8",
1092 NULL,
1093 NULL,
1094 NULL,
1095 SEARCH_ENGINE_DELFI,
1096 45,
1097 };
1098
1099 const PrepopulatedEngine delfi_lv = {
1100 L"DELFI",
1101 L"delfi.lv",
1102 "http://smart.delfi.lv/img/smart_search.png",
1103 "http://smart.delfi.lv/i.php?enc={inputEncoding}&q={searchTerms}",
1104 "UTF-8",
1105 NULL,
1106 NULL,
1107 NULL,
1108 SEARCH_ENGINE_DELFI,
1109 45,
1110 };
1111
1112 const PrepopulatedEngine diri = {
1113 L"diri",
1114 L"diri.bg",
1115 "http://i.dir.bg/diri/images/favicon.ico",
1116 "http://diri.bg/search.php?textfield={searchTerms}",
1117 "windows-1251",
1118 NULL,
1119 NULL,
1120 NULL,
1121 SEARCH_ENGINE_DIRI,
1122 32,
1123 };
1124
1125 const PrepopulatedEngine eniro_fi = {
1126 L"Eniro",
1127 L"eniro.fi",
1128 "http://eniro.fi/favicon.ico",
1129 "http://eniro.fi/query?search_word={searchTerms}&what=web_local",
1130 "ISO-8859-1",
1131 NULL,
1132 NULL,
1133 NULL,
1134 SEARCH_ENGINE_OTHER,
1135 29,
1136 };
1137
1138 const PrepopulatedEngine eniro_se = {
1139 L"Eniro",
1140 L"eniro.se",
1141 "http://eniro.se/favicon.ico",
1142 "http://eniro.se/query?search_word={searchTerms}&what=web_local",
1143 "ISO-8859-1",
1144 NULL,
1145 NULL,
1146 NULL,
1147 SEARCH_ENGINE_OTHER,
1148 29,
1149 };
1150
1151 const PrepopulatedEngine fonecta_02_fi = {
1152 L"Fonecta 02.fi",
1153 L"www.fi",
1154 "http://www.02.fi/img/favicon.ico",
1155 "http://www.02.fi/haku/{searchTerms}",
1156 "UTF-8",
1157 NULL,
1158 NULL,
1159 NULL,
1160 SEARCH_ENGINE_OTHER,
1161 46,
1162 };
1163
1164 const PrepopulatedEngine goo = {
1165 L"goo",
1166 L"search.goo.ne.jp",
1167 "http://goo.ne.jp/favicon.ico",
1168 "http://search.goo.ne.jp/web.jsp?MT={searchTerms}&IE={inputEncoding}",
1169 "UTF-8",
1170 NULL,
1171 NULL,
1172 NULL,
1173 SEARCH_ENGINE_GOO,
1174 23,
1175 };
1176
1177 const PrepopulatedEngine google = {
1178 L"Google",
1179 L"google.com", // This will be dynamically updated by the TemplateURL system.
1180 "http://www.google.com/favicon.ico",
1181 "{google:baseURL}search?q={searchTerms}&{google:RLZ}"
1182 "{google:acceptedSuggestion}{google:originalQueryForSuggestion}"
1183 "{google:assistedQueryStats}{google:searchFieldtrialParameter}"
1184 "sourceid=chrome&ie={inputEncoding}",
1185 "UTF-8",
1186 "{google:baseSuggestURL}search?{google:searchFieldtrialParameter}"
1187 "client=chrome&hl={language}&q={searchTerms}&"
1188 "sugkey={google:suggestAPIKeyParameter}",
1189 "{google:baseURL}webhp?sourceid=chrome-instant&{google:RLZ}"
1190 "{google:instantEnabledParameter}ie={inputEncoding}",
1191 "[\"{google:baseURL}#q={searchTerms}\", "
1192 "\"{google:baseURL}search#q={searchTerms}\", "
1193 "\"{google:baseURL}webhp#q={searchTerms}\"]",
1194 SEARCH_ENGINE_GOOGLE,
1195 1,
1196 };
1197
1198 const PrepopulatedEngine guruji = {
1199 L"guruji",
1200 L"guruji.com",
1201 "http://guruji.com/favicon.ico",
1202 "http://guruji.com/search?q={searchTerms}",
1203 "UTF-8",
1204 NULL,
1205 NULL,
1206 NULL,
1207 SEARCH_ENGINE_OTHER,
1208 38,
1209 };
1210
1211 const PrepopulatedEngine hispavista = {
1212 L"hispavista",
1213 L"hispavista.com",
1214 "http://buscar.hispavista.com/favicon.ico",
1215 "http://buscar.hispavista.com/?cadena={searchTerms}",
1216 "iso-8859-1",
1217 NULL,
1218 NULL,
1219 NULL,
1220 SEARCH_ENGINE_OTHER,
1221 18,
1222 };
1223
1224 const PrepopulatedEngine in = {
1225 L"in.gr",
1226 L"in.gr",
1227 "http://www.in.gr/favicon.ico",
1228 "http://find.in.gr/?qs={searchTerms}",
1229 "ISO-8859-7",
1230 NULL,
1231 NULL,
1232 NULL,
1233 SEARCH_ENGINE_IN,
1234 54,
1235 };
1236
1237 const PrepopulatedEngine jabse = {
1238 L"Jabse",
1239 L"jabse.com",
1240 "http://www.jabse.com/favicon.ico",
1241 "http://www.jabse.com/searchmachine.php?query={searchTerms}",
1242 "UTF-8",
1243 NULL,
1244 NULL,
1245 NULL,
1246 SEARCH_ENGINE_OTHER,
1247 19,
1248 };
1249
1250 const PrepopulatedEngine jubii = {
1251 L"Jubii",
1252 L"jubii.dk",
1253 "http://search.jubii.dk/favicon_jubii.ico",
1254 "http://search.jubii.dk/cgi-bin/pursuit?query={searchTerms}",
1255 "ISO-8859-1",
1256 NULL,
1257 NULL,
1258 NULL,
1259 SEARCH_ENGINE_OTHER,
1260 28,
1261 };
1262
1263 const PrepopulatedEngine kvasir = {
1264 L"Kvasir",
1265 L"kvasir.no",
1266 "http://www.kvasir.no/img/favicon.ico",
1267 "http://www.kvasir.no/nettsok/searchResult.html?searchExpr={searchTerms}",
1268 "ISO-8859-1",
1269 NULL,
1270 NULL,
1271 NULL,
1272 SEARCH_ENGINE_OTHER,
1273 73,
1274 };
1275
1276 const PrepopulatedEngine latne = {
1277 L"LATNE",
1278 L"latne.lv",
1279 "http://latne.lv/favicon.ico",
1280 "http://latne.lv/siets.php?q={searchTerms}",
1281 "UTF-8",
1282 NULL,
1283 NULL,
1284 NULL,
1285 SEARCH_ENGINE_OTHER,
1286 71,
1287 };
1288
1289 const PrepopulatedEngine leit = {
1290 L"leit.is",
1291 L"leit.is",
1292 "http://leit.is/leit.ico",
1293 "http://leit.is/query.aspx?qt={searchTerms}",
1294 "ISO-8859-1",
1295 NULL,
1296 NULL,
1297 NULL,
1298 SEARCH_ENGINE_OTHER,
1299 59,
1300 };
1301
1302 const PrepopulatedEngine libero = {
1303 L"Libero",
1304 L"libero.it",
1305 "http://arianna.libero.it/favicon.ico",
1306 "http://arianna.libero.it/search/abin/integrata.cgi?query={searchTerms}",
1307 "ISO-8859-1",
1308 NULL,
1309 NULL,
1310 NULL,
1311 SEARCH_ENGINE_OTHER,
1312 63,
1313 };
1314
1315 const PrepopulatedEngine mail_ru = {
1316 L"@MAIL.RU",
1317 L"mail.ru",
1318 "http://img.go.mail.ru/favicon.ico",
1319 "http://go.mail.ru/search?q={searchTerms}",
1320 "windows-1251",
1321 "http://suggests.go.mail.ru/chrome?q={searchTerms}",
1322 NULL,
1323 NULL,
1324 SEARCH_ENGINE_MAILRU,
1325 83,
1326 };
1327
1328 const PrepopulatedEngine maktoob = {
1329 L"\x0645\x0643\x062a\x0648\x0628",
1330 L"maktoob.com",
1331 "http://www.maktoob.com/favicon.ico",
1332 "http://www.maktoob.com/searchResult.php?q={searchTerms}",
1333 "UTF-8",
1334 NULL,
1335 NULL,
1336 NULL,
1337 SEARCH_ENGINE_OTHER,
1338 13,
1339 };
1340
1341 const PrepopulatedEngine masrawy = {
1342 L"\x0645\x0635\x0631\x0627\x0648\x064a",
1343 L"masrawy.com",
1344 "http://www.masrawy.com/new/images/masrawy.ico",
1345 "http://masrawy.com/new/search.aspx?sr={searchTerms}",
1346 "windows-1256",
1347 NULL,
1348 NULL,
1349 NULL,
1350 SEARCH_ENGINE_OTHER,
1351 14,
1352 };
1353
1354 const PrepopulatedEngine mynet = {
1355 L"MYNET",
1356 L"mynet.com",
1357 "http://img.mynet.com/mynetfavori.ico",
1358 "http://arama.mynet.com/search.aspx?q={searchTerms}&pg=q",
1359 "windows-1254",
1360 NULL,
1361 NULL,
1362 NULL,
1363 SEARCH_ENGINE_OTHER,
1364 101,
1365 };
1366
1367 const PrepopulatedEngine najdi = {
1368 L"Najdi.si",
1369 L"najdi.si",
1370 "http://www.najdi.si/master/favicon.ico",
1371 "http://www.najdi.si/search.jsp?q={searchTerms}",
1372 "UTF-8",
1373 NULL,
1374 NULL,
1375 NULL,
1376 SEARCH_ENGINE_NAJDI,
1377 87,
1378 };
1379
1380 const PrepopulatedEngine nate = {
1381 L"\xb124\xc774\xd2b8\xb2f7\xcef4",
1382 L"nate.com",
1383 "http://nate.search.empas.com/favicon.ico",
1384 "http://nate.search.empas.com/search/all.html?q={searchTerms}",
1385 "EUC-KR",
1386 NULL,
1387 NULL,
1388 NULL,
1389 SEARCH_ENGINE_OTHER,
1390 69,
1391 };
1392
1393 const PrepopulatedEngine naver = {
1394 L"\xb124\xc774\xbc84",
1395 L"naver.com",
1396 "http://search.naver.com/favicon.ico",
1397 "http://search.naver.com/search.naver?ie={inputEncoding}&query={searchTerms}",
1398 "UTF-8",
1399 "http://ac.search.naver.com/autocompl?m=s&ie={inputEncoding}&oe=utf-8&"
1400 "q={searchTerms}",
1401 NULL,
1402 NULL,
1403 SEARCH_ENGINE_NAVER,
1404 67,
1405 };
1406
1407 const PrepopulatedEngine neti = {
1408 L"NETI",
1409 L"neti.ee",
1410 "http://www.neti.ee/favicon.ico",
1411 "http://www.neti.ee/cgi-bin/otsing?query={searchTerms}",
1412 "ISO-8859-1",
1413 NULL,
1414 NULL,
1415 NULL,
1416 SEARCH_ENGINE_NETI,
1417 44,
1418 };
1419
1420 const PrepopulatedEngine netsprint = {
1421 L"NetSprint",
1422 L"netsprint.pl",
1423 "http://netsprint.pl/favicon.ico",
1424 "http://www.netsprint.pl/serwis/search?q={searchTerms}",
1425 "UTF-8",
1426 NULL,
1427 NULL,
1428 NULL,
1429 SEARCH_ENGINE_NETSPRINT,
1430 30,
1431 };
1432
1433 const PrepopulatedEngine nur_kz = {
1434 L"NUR.KZ",
1435 L"nur.kz",
1436 "http://www.nur.kz/favicon_kz.ico",
1437 "http://search.nur.kz/?encoding={inputEncoding}&query={searchTerms}",
1438 "UTF-8",
1439 NULL,
1440 NULL,
1441 NULL,
1442 SEARCH_ENGINE_OTHER,
1443 20,
1444 };
1445
1446 const PrepopulatedEngine ok = {
1447 L"OK.hu",
1448 L"ok.hu",
1449 "http://ok.hu/gfx/favicon.ico",
1450 "http://ok.hu/katalogus?q={searchTerms}",
1451 "ISO-8859-2",
1452 NULL,
1453 NULL,
1454 NULL,
1455 SEARCH_ENGINE_OK,
1456 6,
1457 };
1458
1459 const PrepopulatedEngine onet = {
1460 L"Onet.pl",
1461 L"onet.pl",
1462 "http://szukaj.onet.pl/favicon.ico",
1463 "http://szukaj.onet.pl/query.html?qt={searchTerms}",
1464 "ISO-8859-2",
1465 NULL,
1466 NULL,
1467 NULL,
1468 SEARCH_ENGINE_OTHER,
1469 75,
1470 };
1471
1472 const PrepopulatedEngine pogodak_rs = {
1473 L"Pogodak!",
1474 L"pogodak.rs",
1475 "http://www.pogodak.rs/favicon.ico",
1476 "http://www.pogodak.rs/search.jsp?q={searchTerms}",
1477 "UTF-8",
1478 NULL,
1479 NULL,
1480 NULL,
1481 SEARCH_ENGINE_POGODAK,
1482 24,
1483 };
1484
1485 const PrepopulatedEngine rambler = {
1486 L"Rambler",
1487 L"rambler.ru",
1488 "http://www.rambler.ru/favicon.ico",
1489 "http://www.rambler.ru/srch?words={searchTerms}",
1490 "windows-1251",
1491 NULL,
1492 NULL,
1493 NULL,
1494 SEARCH_ENGINE_RAMBLER,
1495 16,
1496 };
1497
1498 const PrepopulatedEngine rediff = {
1499 L"Rediff",
1500 L"rediff.com",
1501 "http://search1.rediff.com/favicon.ico",
1502 "http://search1.rediff.com/dirsrch/default.asp?MT={searchTerms}",
1503 "UTF-8",
1504 NULL,
1505 NULL,
1506 NULL,
1507 SEARCH_ENGINE_OTHER,
1508 37,
1509 };
1510
1511 const PrepopulatedEngine rednano = {
1512 L"Rednano",
1513 L"rednano.sg",
1514 "http://rednano.sg/favicon.ico",
1515 "http://rednano.sg/sfe/lwi.action?querystring={searchTerms}",
1516 "UTF-8",
1517 NULL,
1518 NULL,
1519 NULL,
1520 SEARCH_ENGINE_OTHER,
1521 41,
1522 };
1523
1524 const PrepopulatedEngine sanook = {
1525 L"\x0e2a\x0e19\x0e38\x0e01!",
1526 L"sanook.com",
1527 "http://search.sanook.com/favicon.ico",
1528 "http://search.sanook.com/search.php?q={searchTerms}",
1529 "UTF-8",
1530 NULL,
1531 NULL,
1532 NULL,
1533 SEARCH_ENGINE_SANOOK,
1534 100,
1535 };
1536
1537 const PrepopulatedEngine sapo = {
1538 L"SAPO",
1539 L"sapo.pt",
1540 "http://imgs.sapo.pt/images/sapo.ico",
1541 "http://pesquisa.sapo.pt/?q={searchTerms}",
1542 "UTF-8",
1543 "http://pesquisa.sapo.pt/livesapo?q={searchTerms}",
1544 NULL,
1545 NULL,
1546 SEARCH_ENGINE_SAPO,
1547 77,
1548 };
1549
1550 const PrepopulatedEngine search_de_CH = {
1551 L"search.ch",
1552 L"search.ch",
1553 "http://www.search.ch/favicon.ico",
1554 "http://www.search.ch/index.de.html?q={searchTerms}",
1555 "ISO-8859-1",
1556 NULL,
1557 NULL,
1558 NULL,
1559 SEARCH_ENGINE_OTHER,
1560 51,
1561 };
1562
1563 const PrepopulatedEngine search_fr_CH = {
1564 L"search.ch",
1565 L"search.ch_", // search.ch is taken by search_de_CH.
1566 "http://www.search.ch/favicon.ico",
1567 "http://www.search.ch/index.fr.html?q={searchTerms}",
1568 "ISO-8859-1",
1569 NULL,
1570 NULL,
1571 NULL,
1572 SEARCH_ENGINE_OTHER,
1573 22,
1574 };
1575
1576 const PrepopulatedEngine seznam = {
1577 L"Seznam",
1578 L"seznam.cz",
1579 "http://1.im.cz/szn/img/favicon.ico",
1580 "http://search.seznam.cz/?q={searchTerms}",
1581 "UTF-8",
1582 "http:///suggest.fulltext.seznam.cz/?dict=fulltext_ff&phrase={searchTerms}&"
1583 "encoding={inputEncoding}&response_encoding=utf-8",
1584 NULL,
1585 NULL,
1586 SEARCH_ENGINE_SEZNAM,
1587 25,
1588 };
1589
1590 const PrepopulatedEngine terra_ar = {
1591 L"Terra Argentina",
1592 L"terra.com.ar",
1593 "http://buscar.terra.com.ar/favicon.ico",
1594 "http://buscar.terra.com.ar/Default.aspx?query={searchTerms}&source=Search",
1595 "ISO-8859-1",
1596 NULL,
1597 NULL,
1598 NULL,
1599 SEARCH_ENGINE_OTHER,
1600 90,
1601 };
1602
1603 const PrepopulatedEngine terra_es = {
1604 L"Terra",
1605 L"terra.es",
1606 "http://buscador.terra.es/favicon.ico",
1607 "http://buscador.terra.es/Default.aspx?query={searchTerms}&source=Search",
1608 "ISO-8859-1",
1609 NULL,
1610 NULL,
1611 NULL,
1612 SEARCH_ENGINE_OTHER,
1613 90,
1614 };
1615
1616 const PrepopulatedEngine tut = {
1617 L"TUT.BY",
1618 L"tut.by",
1619 "http://www.tut.by/favicon.ico",
1620 "http://search.tut.by/?query={searchTerms}",
1621 "windows-1251",
1622 NULL,
1623 NULL,
1624 NULL,
1625 SEARCH_ENGINE_TUT,
1626 17,
1627 };
1628
1629 const PrepopulatedEngine uol = {
1630 L"UOL Busca",
1631 L"busca.uol.com.br",
1632 "http://busca.uol.com.br/favicon.ico",
1633 "http://busca.uol.com.br/www/index.html?q={searchTerms}",
1634 "ISO-8859-1",
1635 NULL,
1636 NULL,
1637 NULL,
1638 SEARCH_ENGINE_OTHER,
1639 82,
1640 };
1641
1642 const PrepopulatedEngine virgilio = {
1643 L"Virgilio",
1644 L"virgilio.it",
1645 "http://ricerca.alice.it/favicon.ico",
1646 "http://ricerca.alice.it/ricerca?qs={searchTerms}",
1647 "ISO-8859-1",
1648 NULL,
1649 NULL,
1650 NULL,
1651 SEARCH_ENGINE_VIRGILIO,
1652 62,
1653 };
1654
1655 const PrepopulatedEngine walla = {
1656 L"\x05d5\x05d5\x05d0\x05dc\x05d4!",
1657 L"walla.co.il",
1658 "http://www.walla.co.il/favicon.ico",
1659 "http://search.walla.co.il/?e=hew&q={searchTerms}",
1660 "windows-1255",
1661 NULL,
1662 NULL,
1663 NULL,
1664 SEARCH_ENGINE_WALLA,
1665 55,
1666 };
1667
1668 const PrepopulatedEngine wp = {
1669 L"Wirtualna Polska",
1670 L"wp.pl",
1671 "http://szukaj.wp.pl/favicon.ico",
1672 "http://szukaj.wp.pl/szukaj.html?szukaj={searchTerms}",
1673 "ISO-8859-2",
1674 NULL,
1675 NULL,
1676 NULL,
1677 SEARCH_ENGINE_OTHER,
1678 76,
1679 };
1680
1681 const PrepopulatedEngine yahoo = {
1682 L"Yahoo!",
1683 L"yahoo.com",
1684 "http://search.yahoo.com/favicon.ico",
1685 "http://search.yahoo.com/search?ei={inputEncoding}&fr=crmas&p={searchTerms}",
1686 "UTF-8",
1687 "http://ff.search.yahoo.com/gossip?output=fxjson&command={searchTerms}",
1688 NULL,
1689 NULL,
1690 SEARCH_ENGINE_YAHOO,
1691 2,
1692 };
1693
1694 // For regional Yahoo variants without region-specific suggestion service,
1695 // suggestion is disabled. For some of them, we might consider
1696 // using a fallback (e.g. de for at/ch, ca or fr for qc, en for nl, no, hk).
1697 const PrepopulatedEngine yahoo_ar = {
1698 L"Yahoo! Argentina",
1699 L"ar.yahoo.com",
1700 "http://ar.search.yahoo.com/favicon.ico",
1701 "http://ar.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1702 "p={searchTerms}",
1703 "UTF-8",
1704 "http://ar-sayt.ff.search.yahoo.com/gossip-ar-sayt?output=fxjson&"
1705 "command={searchTerms}",
1706 NULL,
1707 NULL,
1708 SEARCH_ENGINE_YAHOO,
1709 2,
1710 };
1711
1712 const PrepopulatedEngine yahoo_at = {
1713 L"Yahoo! Suche",
1714 L"at.yahoo.com",
1715 "http://at.search.yahoo.com/favicon.ico",
1716 "http://at.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1717 "p={searchTerms}",
1718 "UTF-8",
1719 NULL,
1720 NULL,
1721 NULL,
1722 SEARCH_ENGINE_YAHOO,
1723 2,
1724 };
1725
1726 const PrepopulatedEngine yahoo_au = {
1727 L"Yahoo!7",
1728 L"au.yahoo.com",
1729 "http://au.search.yahoo.com/favicon.ico",
1730 "http://au.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1731 "p={searchTerms}",
1732 "UTF-8",
1733 "http://aue-sayt.ff.search.yahoo.com/gossip-au-sayt?output=fxjson&"
1734 "command={searchTerms}",
1735 NULL,
1736 NULL,
1737 SEARCH_ENGINE_YAHOO,
1738 2,
1739 };
1740
1741 const PrepopulatedEngine yahoo_br = {
1742 L"Yahoo! Brasil",
1743 L"br.yahoo.com",
1744 "http://br.search.yahoo.com/favicon.ico",
1745 "http://br.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1746 "p={searchTerms}",
1747 "UTF-8",
1748 "http://br-sayt.ff.search.yahoo.com/gossip-br-sayt?output=fxjson&"
1749 "command={searchTerms}",
1750 NULL,
1751 NULL,
1752 SEARCH_ENGINE_YAHOO,
1753 2,
1754 };
1755
1756 const PrepopulatedEngine yahoo_ca = {
1757 L"Yahoo! Canada",
1758 L"ca.yahoo.com",
1759 "http://ca.search.yahoo.com/favicon.ico",
1760 "http://ca.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1761 "p={searchTerms}",
1762 "UTF-8",
1763 "http://gossip.ca.yahoo.com/gossip-ca-sayt?output=fxjsonp&"
1764 "command={searchTerms}",
1765 NULL,
1766 NULL,
1767 SEARCH_ENGINE_YAHOO,
1768 2,
1769 };
1770
1771 const PrepopulatedEngine yahoo_ch = {
1772 L"Yahoo! Suche",
1773 L"ch.yahoo.com",
1774 "http://ch.search.yahoo.com/favicon.ico",
1775 "http://ch.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1776 "p={searchTerms}",
1777 "UTF-8",
1778 NULL,
1779 NULL,
1780 NULL,
1781 SEARCH_ENGINE_YAHOO,
1782 2,
1783 };
1784
1785 const PrepopulatedEngine yahoo_cl = {
1786 L"Yahoo! Chile",
1787 L"cl.yahoo.com",
1788 "http://cl.search.yahoo.com/favicon.ico",
1789 "http://cl.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1790 "p={searchTerms}",
1791 "UTF-8",
1792 "http://gossip.telemundo.yahoo.com/gossip-e1-sayt?output=fxjson&"
1793 "command={searchTerms}",
1794 NULL,
1795 NULL,
1796 SEARCH_ENGINE_YAHOO,
1797 2,
1798 };
1799
1800 const PrepopulatedEngine yahoo_cn = {
1801 L"\x4e2d\x56fd\x96c5\x864e",
1802 L"cn.yahoo.com",
1803 "http://search.cn.yahoo.com/favicon.ico",
1804 "http://search.cn.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1805 "p={searchTerms}",
1806 "GB2312",
1807 NULL,
1808 NULL,
1809 NULL,
1810 SEARCH_ENGINE_YAHOO,
1811 2,
1812 };
1813
1814 const PrepopulatedEngine yahoo_co = {
1815 L"Yahoo! Colombia",
1816 L"co.yahoo.com",
1817 "http://co.search.yahoo.com/favicon.ico",
1818 "http://co.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1819 "p={searchTerms}",
1820 "UTF-8",
1821 "http://gossip.telemundo.yahoo.com/gossip-e1-sayt?output=fxjson&"
1822 "command={searchTerms}",
1823 NULL,
1824 NULL,
1825 SEARCH_ENGINE_YAHOO,
1826 2,
1827 };
1828
1829 const PrepopulatedEngine yahoo_de = {
1830 L"Yahoo! Deutschland",
1831 L"de.yahoo.com",
1832 "http://de.search.yahoo.com/favicon.ico",
1833 "http://de.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1834 "p={searchTerms}",
1835 "UTF-8",
1836 "http://de-sayt.ff.search.yahoo.com/gossip-de-sayt?output=fxjson&"
1837 "command={searchTerms}",
1838 NULL,
1839 NULL,
1840 SEARCH_ENGINE_YAHOO,
1841 2,
1842 };
1843
1844 const PrepopulatedEngine yahoo_dk = {
1845 L"Yahoo! Danmark",
1846 L"dk.yahoo.com",
1847 "http://dk.search.yahoo.com/favicon.ico",
1848 "http://dk.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1849 "p={searchTerms}",
1850 "UTF-8",
1851 NULL,
1852 NULL,
1853 NULL,
1854 SEARCH_ENGINE_YAHOO,
1855 2,
1856 };
1857
1858 const PrepopulatedEngine yahoo_es = {
1859 L"Yahoo! Espa" L"\x00f1" L"a",
1860 L"es.yahoo.com",
1861 "http://es.search.yahoo.com/favicon.ico",
1862 "http://es.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1863 "p={searchTerms}",
1864 "UTF-8",
1865 "http://es-sayt.ff.search.yahoo.com/gossip-es-sayt?output=fxjson&"
1866 "command={searchTerms}",
1867 NULL,
1868 NULL,
1869 SEARCH_ENGINE_YAHOO,
1870 2,
1871 };
1872
1873 const PrepopulatedEngine yahoo_fi = {
1874 L"Yahoo!-haku",
1875 L"fi.yahoo.com",
1876 "http://fi.search.yahoo.com/favicon.ico",
1877 "http://fi.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1878 "p={searchTerms}",
1879 "UTF-8",
1880 NULL,
1881 NULL,
1882 NULL,
1883 SEARCH_ENGINE_YAHOO,
1884 2,
1885 };
1886
1887 const PrepopulatedEngine yahoo_fr = {
1888 L"Yahoo! France",
1889 L"fr.yahoo.com",
1890 "http://fr.search.yahoo.com/favicon.ico",
1891 "http://fr.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1892 "p={searchTerms}",
1893 "UTF-8",
1894 "http://fr-sayt.ff.search.yahoo.com/gossip-fr-sayt?output=fxjson&"
1895 "command={searchTerms}",
1896 NULL,
1897 NULL,
1898 SEARCH_ENGINE_YAHOO,
1899 2,
1900 };
1901
1902 const PrepopulatedEngine yahoo_hk = {
1903 L"Yahoo! Hong Kong",
1904 L"hk.yahoo.com",
1905 "http://hk.search.yahoo.com/favicon.ico",
1906 "http://hk.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1907 "p={searchTerms}",
1908 "UTF-8",
1909 NULL,
1910 NULL,
1911 NULL,
1912 SEARCH_ENGINE_YAHOO,
1913 2,
1914 };
1915
1916 const PrepopulatedEngine yahoo_id = {
1917 L"Yahoo! Indonesia",
1918 L"id.yahoo.com",
1919 "http://id.search.yahoo.com/favicon.ico",
1920 "http://id.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1921 "p={searchTerms}",
1922 "UTF-8",
1923 "http://id-sayt.ff.search.yahoo.com/gossip-id-sayt?output=fxjson&"
1924 "command={searchTerms}",
1925 NULL,
1926 NULL,
1927 SEARCH_ENGINE_YAHOO,
1928 2,
1929 };
1930
1931 const PrepopulatedEngine yahoo_in = {
1932 L"Yahoo! India",
1933 L"in.yahoo.com",
1934 "http://in.search.yahoo.com/favicon.ico",
1935 "http://in.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1936 "p={searchTerms}",
1937 "UTF-8",
1938 "http://in-sayt.ff.search.yahoo.com/gossip-in-sayt?output=fxjson&"
1939 "command={searchTerms}",
1940 NULL,
1941 NULL,
1942 SEARCH_ENGINE_YAHOO,
1943 2,
1944 };
1945
1946 const PrepopulatedEngine yahoo_it = {
1947 L"Yahoo! Italia",
1948 L"it.yahoo.com",
1949 "http://it.search.yahoo.com/favicon.ico",
1950 "http://it.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1951 "p={searchTerms}",
1952 "UTF-8",
1953 "http://it-sayt.ff.search.yahoo.com/gossip-it-sayt?output=fxjson&"
1954 "command={searchTerms}",
1955 NULL,
1956 NULL,
1957 SEARCH_ENGINE_YAHOO,
1958 2,
1959 };
1960
1961 const PrepopulatedEngine yahoo_jp = {
1962 L"Yahoo! JAPAN",
1963 L"yahoo.co.jp",
1964 "http://search.yahoo.co.jp/favicon.ico",
1965 "http://search.yahoo.co.jp/search?ei={inputEncoding}&fr=crmas&"
1966 "p={searchTerms}",
1967 "UTF-8",
1968 NULL,
1969 NULL,
1970 NULL,
1971 SEARCH_ENGINE_YAHOOJP,
1972 2,
1973 };
1974
1975 const PrepopulatedEngine yahoo_kr = {
1976 L"\xc57c\xd6c4! \xcf54\xb9ac\xc544",
1977 L"kr.yahoo.com",
1978 "http://kr.search.yahoo.com/favicon.ico",
1979 "http://kr.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1980 "p={searchTerms}",
1981 "UTF-8",
1982 "http://kr.atc.search.yahoo.com/atcx.php?property=main&ot=fxjson&"
1983 "ei=utf8&eo=utf8&command={searchTerms}",
1984 NULL,
1985 NULL,
1986 SEARCH_ENGINE_YAHOO,
1987 2,
1988 };
1989
1990 const PrepopulatedEngine yahoo_malaysia = {
1991 L"Yahoo! Malaysia",
1992 L"malaysia.yahoo.com",
1993 "http://malaysia.search.yahoo.com/favicon.ico",
1994 "http://malaysia.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1995 "p={searchTerms}",
1996 "UTF-8",
1997 "http://my-sayt.ff.search.yahoo.com/gossip-my-sayt?output=fxjson&"
1998 "command={searchTerms}",
1999 NULL,
2000 NULL,
2001 SEARCH_ENGINE_YAHOO,
2002 2,
2003 };
2004
2005 const PrepopulatedEngine yahoo_mx = {
2006 L"Yahoo! M\x00e9xico",
2007 L"mx.yahoo.com",
2008 "http://mx.search.yahoo.com/favicon.ico",
2009 "http://mx.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2010 "p={searchTerms}",
2011 "UTF-8",
2012 "http://gossip.mx.yahoo.com/gossip-mx-sayt?output=fxjsonp&"
2013 "command={searchTerms}",
2014 NULL,
2015 NULL,
2016 SEARCH_ENGINE_YAHOO,
2017 2,
2018 };
2019
2020 const PrepopulatedEngine yahoo_nl = {
2021 L"Yahoo! Nederland",
2022 L"nl.yahoo.com",
2023 "http://nl.search.yahoo.com/favicon.ico",
2024 "http://nl.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2025 "p={searchTerms}",
2026 "UTF-8",
2027 NULL,
2028 NULL,
2029 NULL,
2030 SEARCH_ENGINE_YAHOO,
2031 2,
2032 };
2033
2034 const PrepopulatedEngine yahoo_no = {
2035 L"Yahoo! Norge",
2036 L"no.yahoo.com",
2037 "http://no.search.yahoo.com/favicon.ico",
2038 "http://no.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2039 "p={searchTerms}",
2040 "UTF-8",
2041 NULL,
2042 NULL,
2043 NULL,
2044 SEARCH_ENGINE_YAHOO,
2045 2,
2046 };
2047
2048 const PrepopulatedEngine yahoo_nz = {
2049 L"Yahoo!Xtra",
2050 L"nz.yahoo.com",
2051 "http://nz.search.yahoo.com/favicon.ico",
2052 "http://nz.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2053 "p={searchTerms}",
2054 "UTF-8",
2055 "http://aue-sayt.ff.search.yahoo.com/gossip-nz-sayt?output=fxjson&"
2056 "command={searchTerms}",
2057 NULL,
2058 NULL,
2059 SEARCH_ENGINE_YAHOO,
2060 2,
2061 };
2062
2063 const PrepopulatedEngine yahoo_pe = {
2064 L"Yahoo! Per\x00fa",
2065 L"pe.yahoo.com",
2066 "http://pe.search.yahoo.com/favicon.ico",
2067 "http://pe.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2068 "p={searchTerms}",
2069 "UTF-8",
2070 "http://gossip.telemundo.yahoo.com/gossip-e1-sayt?output=fxjson&"
2071 "command={searchTerms}",
2072 NULL,
2073 NULL,
2074 SEARCH_ENGINE_YAHOO,
2075 2,
2076 };
2077
2078 const PrepopulatedEngine yahoo_ph = {
2079 L"Yahoo! Philippines",
2080 L"ph.yahoo.com",
2081 "http://ph.search.yahoo.com/favicon.ico",
2082 "http://ph.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2083 "p={searchTerms}",
2084 "UTF-8",
2085 "http://ph-sayt.ff.search.yahoo.com/gossip-ph-sayt?output=fxjson&"
2086 "command={searchTerms}",
2087 NULL,
2088 NULL,
2089 SEARCH_ENGINE_YAHOO,
2090 2,
2091 };
2092
2093 const PrepopulatedEngine yahoo_qc = {
2094 L"Yahoo! Qu" L"\x00e9" L"bec",
2095 L"qc.yahoo.com",
2096 "http://qc.search.yahoo.com/favicon.ico",
2097 "http://qc.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2098 "p={searchTerms}",
2099 "UTF-8",
2100 NULL,
2101 NULL,
2102 NULL,
2103 SEARCH_ENGINE_YAHOOQC,
2104 5, // Can't be 2 as this has to appear in the Canada list alongside yahoo_ca.
2105 };
2106
2107 const PrepopulatedEngine yahoo_ru = {
2108 L"Yahoo! \x043f\x043e-\x0440\x0443\x0441\x0441\x043a\x0438",
2109 L"ru.yahoo.com",
2110 "http://ru.search.yahoo.com/favicon.ico",
2111 "http://ru.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2112 "p={searchTerms}",
2113 "UTF-8",
2114 NULL,
2115 NULL,
2116 NULL,
2117 SEARCH_ENGINE_YAHOO,
2118 2,
2119 };
2120
2121 const PrepopulatedEngine yahoo_se = {
2122 L"Yahoo! Sverige",
2123 L"se.yahoo.com",
2124 "http://se.search.yahoo.com/favicon.ico",
2125 "http://se.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2126 "p={searchTerms}",
2127 "UTF-8",
2128 NULL,
2129 NULL,
2130 NULL,
2131 SEARCH_ENGINE_YAHOO,
2132 2,
2133 };
2134
2135 const PrepopulatedEngine yahoo_sg = {
2136 L"Yahoo! Singapore",
2137 L"sg.yahoo.com",
2138 "http://sg.search.yahoo.com/favicon.ico",
2139 "http://sg.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2140 "p={searchTerms}",
2141 "UTF-8",
2142 "http://sg-sayt.ff.search.yahoo.com/gossip-sg-sayt?output=fxjson&"
2143 "command={searchTerms}",
2144 NULL,
2145 NULL,
2146 SEARCH_ENGINE_YAHOO,
2147 2,
2148 };
2149
2150 const PrepopulatedEngine yahoo_th = {
2151 L"Yahoo! \x0e1b\x0e23\x0e30\x0e40\x0e17\x0e28\x0e44\x0e17\x0e22",
2152 L"th.yahoo.com",
2153 "http://th.search.yahoo.com/favicon.ico",
2154 "http://th.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2155 "p={searchTerms}",
2156 "UTF-8",
2157 "http://th-sayt.ff.search.yahoo.com/gossip-th-sayt?output=fxjson&"
2158 "command={searchTerms}",
2159 NULL,
2160 NULL,
2161 SEARCH_ENGINE_YAHOO,
2162 2,
2163 };
2164
2165 const PrepopulatedEngine yahoo_tw = {
2166 L"Yahoo!\x5947\x6469",
2167 L"tw.yahoo.com",
2168 "http://tw.search.yahoo.com/favicon.ico",
2169 "http://tw.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2170 "p={searchTerms}",
2171 "UTF-8",
2172 NULL,
2173 NULL,
2174 NULL,
2175 SEARCH_ENGINE_YAHOO,
2176 2,
2177 };
2178
2179 const PrepopulatedEngine yahoo_uk = {
2180 L"Yahoo! UK & Ireland",
2181 L"uk.yahoo.com",
2182 "http://uk.search.yahoo.com/favicon.ico",
2183 "http://uk.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2184 "p={searchTerms}",
2185 "UTF-8",
2186 "http://uk-sayt.ff.search.yahoo.com/gossip-uk-sayt?output=fxjson&"
2187 "command={searchTerms}",
2188 NULL,
2189 NULL,
2190 SEARCH_ENGINE_YAHOO,
2191 2,
2192 };
2193
2194 const PrepopulatedEngine yahoo_ve = {
2195 L"Yahoo! Venezuela",
2196 L"ve.yahoo.com",
2197 "http://ve.search.yahoo.com/favicon.ico",
2198 "http://ve.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2199 "p={searchTerms}",
2200 "UTF-8",
2201 "http://gossip.telemundo.yahoo.com/gossip-e1-sayt?output=fxjson&"
2202 "command={searchTerms}",
2203 NULL,
2204 NULL,
2205 SEARCH_ENGINE_YAHOO,
2206 2,
2207 };
2208
2209 const PrepopulatedEngine yahoo_vn = {
2210 L"Yahoo! Vi\x1ec7t Nam",
2211 L"vn.yahoo.com",
2212 "http://vn.search.yahoo.com/favicon.ico",
2213 "http://vn.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2214 "p={searchTerms}",
2215 "UTF-8",
2216 "http://vn-sayt.ff.search.yahoo.com/gossip-vn-sayt?output=fxjson&"
2217 "command={searchTerms}",
2218 NULL,
2219 NULL,
2220 SEARCH_ENGINE_YAHOO,
2221 2,
2222 };
2223
2224 const PrepopulatedEngine yamli = {
2225 L"Yamli",
2226 L"yamli.com",
2227 "http://www.yamli.com/favicon.ico",
2228 "http://www.yamli.com/#q={searchTerms}",
2229 "UTF-8",
2230 NULL,
2231 NULL,
2232 NULL,
2233 SEARCH_ENGINE_OTHER,
2234 11,
2235 };
2236
2237 const PrepopulatedEngine yandex_ru = {
2238 L"\x042f\x043d\x0434\x0435\x043a\x0441",
2239 L"yandex.ru",
2240 "http://yandex.ru/favicon.ico",
2241 "http://yandex.ru/yandsearch?text={searchTerms}",
2242 "UTF-8",
2243 "http://suggest.yandex.net/suggest-ff.cgi?part={searchTerms}",
2244 NULL,
2245 NULL,
2246 SEARCH_ENGINE_YANDEX,
2247 15,
2248 };
2249
2250 const PrepopulatedEngine yandex_ua = {
2251 L"\x042f\x043d\x0434\x0435\x043a\x0441",
2252 L"yandex.ua",
2253 "http://yandex.ua/favicon.ico",
2254 "http://yandex.ua/yandsearch?text={searchTerms}",
2255 "UTF-8",
2256 "http://suggest.yandex.net/suggest-ff.cgi?part={searchTerms}",
2257 NULL,
2258 NULL,
2259 SEARCH_ENGINE_YANDEX,
2260 15,
2261 };
2262
2263 const PrepopulatedEngine zoznam = {
2264 L"Zoznam",
2265 L"zoznam.sk",
2266 "http://zoznam.sk/favicon.ico",
2267 "http://zoznam.sk/hladaj.fcgi?s={searchTerms}",
2268 "windows-1250",
2269 NULL,
2270 NULL,
2271 NULL,
2272 SEARCH_ENGINE_ZOZNAM,
2273 85,
2274 };
2275
2276 // UMA-only engines ////////////////////////////////////////////////////////////
2277
2278 // The following engines are not included in any of the country lists. They
2279 // are listed in |kAllEngines|, however, so that GetEngineType can find them
2280 // for UMA reporting purposes.
2281
2282 const PrepopulatedEngine all_by = {
2283 L"ALL.BY",
2284 L"all.by",
2285 NULL,
2286 "http://www.all.by/cgi-bin/search.cgi?mode=by&query={searchTerms}",
2287 "UTF-8",
2288 NULL,
2289 NULL,
2290 NULL,
2291 SEARCH_ENGINE_ALL_BY,
2292 33,
2293 };
2294
2295 const PrepopulatedEngine aport = {
2296 L"Aport",
2297 L"aport.ru",
2298 NULL,
2299 "http://www.aport.ru/search/?r={searchTerms}",
2300 "UTF-8",
2301 NULL,
2302 NULL,
2303 NULL,
2304 SEARCH_ENGINE_APORT,
2305 34,
2306 };
2307
2308 const PrepopulatedEngine avg = {
2309 L"AVG Secure Search",
2310 L"search.avg.com",
2311 NULL,
2312 "http://search.avg.com/route/?q={searchTerms}&lng={language}",
2313 "UTF-8",
2314 NULL,
2315 NULL,
2316 NULL,
2317 SEARCH_ENGINE_AVG,
2318 50,
2319 };
2320
2321 const PrepopulatedEngine avg_i = {
2322 L"AVG Secure Search",
2323 L"isearch.avg.com",
2324 NULL,
2325 "http://isearch.avg.com/search?q={searchTerms}&lng={language}",
2326 "UTF-8",
2327 NULL,
2328 NULL,
2329 NULL,
2330 SEARCH_ENGINE_AVG,
2331 52,
2332 };
2333
2334 const PrepopulatedEngine conduit = {
2335 L"Conduit",
2336 L"conduit.com",
2337 NULL,
2338 "http://search.conduit.com/Results.aspx?q={searchTerms}",
2339 "UTF-8",
2340 NULL,
2341 NULL,
2342 NULL,
2343 SEARCH_ENGINE_CONDUIT,
2344 36,
2345 };
2346
2347 const PrepopulatedEngine icq = {
2348 L"ICQ",
2349 L"icq.com",
2350 NULL,
2351 "http://search.icq.com/search/results.php?q={searchTerms}",
2352 "UTF-8",
2353 NULL,
2354 NULL,
2355 NULL,
2356 SEARCH_ENGINE_ICQ,
2357 39,
2358 };
2359
2360 const PrepopulatedEngine meta_ua = {
2361 L"Meta-Ukraine",
2362 L"meta.ua",
2363 NULL,
2364 "http://meta.ua/search.asp?q={searchTerms}",
2365 "UTF-8",
2366 NULL,
2367 NULL,
2368 NULL,
2369 SEARCH_ENGINE_META_UA,
2370 40,
2371 };
2372
2373 const PrepopulatedEngine metabot_ru = {
2374 L"Metabot",
2375 L"metabot.ru",
2376 NULL,
2377 "http://results.metabot.ru/?st={searchTerms}",
2378 "UTF-8",
2379 NULL,
2380 NULL,
2381 NULL,
2382 SEARCH_ENGINE_METABOT_RU,
2383 42,
2384 };
2385
2386 const PrepopulatedEngine nigma = {
2387 L"Nigma",
2388 L"nigma.ru",
2389 NULL,
2390 "http://www.nigma.ru/?s={searchTerms}",
2391 "UTF-8",
2392 NULL,
2393 NULL,
2394 NULL,
2395 SEARCH_ENGINE_NIGMA,
2396 43,
2397 };
2398
2399 const PrepopulatedEngine qip = {
2400 L"QIP",
2401 L"qip.ru",
2402 NULL,
2403 "http://search.qip.ru/?query={searchTerms}",
2404 "UTF-8",
2405 NULL,
2406 NULL,
2407 NULL,
2408 SEARCH_ENGINE_QIP,
2409 47,
2410 };
2411
2412 const PrepopulatedEngine ukr_net = {
2413 L"Ukr.net",
2414 L"ukr.net",
2415 NULL,
2416 "http://search.ukr.net/google/search.php?q={searchTerms}",
2417 "UTF-8",
2418 NULL,
2419 NULL,
2420 NULL,
2421 SEARCH_ENGINE_UKR_NET,
2422 48,
2423 };
2424
2425 const PrepopulatedEngine webalta = {
2426 L"Webalta",
2427 L"webalta.ru",
2428 NULL,
2429 "http://webalta.ru/search?q={searchTerms}",
2430 "UTF-8",
2431 NULL,
2432 NULL,
2433 NULL,
2434 SEARCH_ENGINE_WEBALTA,
2435 49,
2436 };
2437
2438 const PrepopulatedEngine yandex_tr = {
2439 L"Yandex",
2440 L"yandex.com.tr",
2441 "http://yandex.com.tr/favicon.ico",
2442 "http://yandex.com.tr/yandsearch?text={searchTerms}",
2443 "UTF-8",
2444 "http://suggest.yandex.net/suggest-ff.cgi?part={searchTerms}",
2445 NULL,
2446 NULL,
2447 SEARCH_ENGINE_YANDEX,
2448 15,
2449 };
2450 47
2451 // Lists of engines per country //////////////////////////////////////////////// 48 // Lists of engines per country ////////////////////////////////////////////////
2452 49
2453 // Put these in order with most interesting/important first. The default will 50 // Put these in order with most interesting/important first. The default will
2454 // be the first engine. 51 // be the first engine.
2455 52
2456 // Default (for countries with no better engine set) 53 // Default (for countries with no better engine set)
2457 const PrepopulatedEngine* engines_default[] = 54 const PrepopulatedEngine* engines_default[] =
2458 { &google, &yahoo, &bing, }; 55 { &google, &yahoo, &bing, };
2459 56
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after
3477 }; 1074 };
3478 1075
3479 const LogoURLs google_logos = { 1076 const LogoURLs google_logos = {
3480 "https://www.google.com/images/chrome_search/google_logo.png", 1077 "https://www.google.com/images/chrome_search/google_logo.png",
3481 "https://www.google.com/images/chrome_search/google_logo_2x.png", 1078 "https://www.google.com/images/chrome_search/google_logo_2x.png",
3482 }; 1079 };
3483 1080
3484 1081
3485 //////////////////////////////////////////////////////////////////////////////// 1082 ////////////////////////////////////////////////////////////////////////////////
3486 1083
3487 } // namespace
3488
3489 namespace TemplateURLPrepopulateData {
3490
3491 // The following id is for UMA stats only. Please update 1084 // The following id is for UMA stats only. Please update
3492 // kMaxPrepopulatedEngineID if it changes upwards. 1085 // kMaxPrepopulatedEngineID if it changes upwards.
3493 const int kMaxPrepopulatedEngineID = 101; 1086 const int kMaxPrepopulatedEngineID = 101;
3494 1087
3495 void RegisterUserPrefs(PrefService* prefs) { 1088 void RegisterUserPrefs(PrefService* prefs) {
3496 prefs->RegisterIntegerPref(prefs::kCountryIDAtInstall, 1089 prefs->RegisterIntegerPref(prefs::kCountryIDAtInstall,
3497 kCountryIDUnknown, 1090 kCountryIDUnknown,
3498 PrefService::UNSYNCABLE_PREF); 1091 PrefService::UNSYNCABLE_PREF);
3499 prefs->RegisterListPref(prefs::kSearchProviderOverrides, 1092 prefs->RegisterListPref(prefs::kSearchProviderOverrides,
3500 PrefService::UNSYNCABLE_PREF); 1093 PrefService::UNSYNCABLE_PREF);
3501 prefs->RegisterIntegerPref(prefs::kSearchProviderOverridesVersion, 1094 prefs->RegisterIntegerPref(prefs::kSearchProviderOverridesVersion,
3502 -1, 1095 -1,
3503 PrefService::UNSYNCABLE_PREF); 1096 PrefService::UNSYNCABLE_PREF);
3504 // Obsolete pref, for migration. 1097 // Obsolete pref, for migration.
3505 prefs->RegisterIntegerPref(prefs::kGeoIDAtInstall, 1098 prefs->RegisterIntegerPref(prefs::kGeoIDAtInstall,
3506 -1, 1099 -1,
3507 PrefService::UNSYNCABLE_PREF); 1100 PrefService::UNSYNCABLE_PREF);
3508 } 1101 }
3509 1102
3510 int GetDataVersion(PrefService* prefs) { 1103 int GetDataVersion(PrefService* prefs) {
3511 // Increment this if you change the above data in ways that mean users with
3512 // existing data should get a new version.
3513 const int kCurrentDataVersion = 45;
3514 // Allow tests to override the local version. 1104 // Allow tests to override the local version.
3515 return (prefs && prefs->HasPrefPath(prefs::kSearchProviderOverridesVersion)) ? 1105 return (prefs && prefs->HasPrefPath(prefs::kSearchProviderOverridesVersion)) ?
3516 prefs->GetInteger(prefs::kSearchProviderOverridesVersion) : 1106 prefs->GetInteger(prefs::kSearchProviderOverridesVersion) :
3517 kCurrentDataVersion; 1107 kCurrentDataVersion;
3518 } 1108 }
3519 1109
3520 TemplateURL* MakePrepopulatedTemplateURL(Profile* profile, 1110 TemplateURL* MakePrepopulatedTemplateURL(Profile* profile,
3521 const string16& name, 1111 const string16& name,
3522 const string16& keyword, 1112 const string16& keyword,
3523 const base::StringPiece& search_url, 1113 const base::StringPiece& search_url,
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
3592 encoding, id)); 1182 encoding, id));
3593 } 1183 }
3594 } 1184 }
3595 } 1185 }
3596 1186
3597 // The caller owns the returned TemplateURL. 1187 // The caller owns the returned TemplateURL.
3598 TemplateURL* MakePrepopulatedTemplateURLFromPrepopulateEngine( 1188 TemplateURL* MakePrepopulatedTemplateURLFromPrepopulateEngine(
3599 Profile* profile, 1189 Profile* profile,
3600 const PrepopulatedEngine& engine) { 1190 const PrepopulatedEngine& engine) {
3601 1191
3602 // Use an empty list if there are no alternate_urls. 1192 ListValue alternate_urls;
3603 ListValue empty_list;
3604 ListValue* alternate_urls = &empty_list;
3605 // Will hold the result of |ReadToValue|, which we own.
3606 scoped_ptr<Value> value;
3607 if (engine.alternate_urls) { 1193 if (engine.alternate_urls) {
3608 base::JSONReader json_reader; 1194 for (size_t i = 0; i < sizeof(engine.alternate_urls) /
3609 value.reset(json_reader.ReadToValue(std::string(engine.alternate_urls))); 1195 sizeof(engine.alternate_urls[0]); ++i) {
Peter Kasting 2012/11/12 22:46:36 Can we use arraysize() somehow instead? Maybe we
beaudoin 2012/11/13 18:44:26 Unfortunately it wont let me declare it as an arra
3610 DCHECK(value.get()); 1196 alternate_urls.AppendString(std::string(engine.alternate_urls[i]));
3611 value->GetAsList(&alternate_urls); 1197 }
3612 } 1198 }
3613 1199
3614 return MakePrepopulatedTemplateURL(profile, WideToUTF16(engine.name), 1200 return MakePrepopulatedTemplateURL(profile, WideToUTF16(engine.name),
3615 WideToUTF16(engine.keyword), engine.search_url, engine.suggest_url, 1201 WideToUTF16(engine.keyword), engine.search_url, engine.suggest_url,
3616 engine.instant_url, *alternate_urls, 1202 engine.instant_url, alternate_urls,
3617 engine.favicon_url, engine.encoding, engine.id); 1203 engine.favicon_url, engine.encoding, engine.id);
3618 } 1204 }
3619 1205
3620 void GetPrepopulatedEngines(Profile* profile, 1206 void GetPrepopulatedEngines(Profile* profile,
3621 std::vector<TemplateURL*>* t_urls, 1207 std::vector<TemplateURL*>* t_urls,
3622 size_t* default_search_provider_index) { 1208 size_t* default_search_provider_index) {
3623 // If there is a set of search engines in the preferences file, it overrides 1209 // If there is a set of search engines in the preferences file, it overrides
3624 // the built-in set. 1210 // the built-in set.
3625 *default_search_provider_index = 0; 1211 *default_search_provider_index = 0;
3626 GetPrepopulatedTemplateFromPrefs(profile, t_urls); 1212 GetPrepopulatedTemplateFromPrefs(profile, t_urls);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
3708 g_country_code_at_install = kCountryIDUnknown; 1294 g_country_code_at_install = kCountryIDUnknown;
3709 } else { 1295 } else {
3710 g_country_code_at_install = 1296 g_country_code_at_install =
3711 CountryCharsToCountryIDWithUpdate(country_code[0], country_code[1]); 1297 CountryCharsToCountryIDWithUpdate(country_code[0], country_code[1]);
3712 } 1298 }
3713 } 1299 }
3714 1300
3715 #endif 1301 #endif
3716 1302
3717 } // namespace TemplateURLPrepopulateData 1303 } // namespace TemplateURLPrepopulateData
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698