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

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: Rebased to fix conflict. 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"
22 #include "chrome/browser/search_engines/prepopulated_engines.h"
23 #include "chrome/browser/search_engines/search_engine_type.h" 23 #include "chrome/browser/search_engines/search_engine_type.h"
24 #include "chrome/browser/search_engines/search_terms_data.h" 24 #include "chrome/browser/search_engines/search_terms_data.h"
25 #include "chrome/browser/search_engines/template_url.h" 25 #include "chrome/browser/search_engines/template_url.h"
26 #include "chrome/browser/search_engines/template_url_service.h" 26 #include "chrome/browser/search_engines/template_url_service.h"
27 #include "chrome/common/chrome_switches.h" 27 #include "chrome/common/chrome_switches.h"
28 #include "chrome/common/pref_names.h" 28 #include "chrome/common/pref_names.h"
29 #include "content/public/browser/browser_thread.h" 29 #include "content/public/browser/browser_thread.h"
30 #include "googleurl/src/gurl.h" 30 #include "googleurl/src/gurl.h"
31 #include "grit/generated_resources.h" 31 #include "grit/generated_resources.h"
32 #include "grit/theme_resources.h" 32 #include "grit/theme_resources.h"
33 #include "ui/base/l10n/l10n_util.h" 33 #include "ui/base/l10n/l10n_util.h"
34 34
35 #if defined(OS_WIN) 35 #if defined(OS_WIN)
36 #undef IN // On Windows, windef.h defines this, which screws up "India" cases. 36 #undef IN // On Windows, windef.h defines this, which screws up "India" cases.
37 #elif defined(OS_MACOSX) 37 #elif defined(OS_MACOSX)
38 #include "base/mac/scoped_cftyperef.h" 38 #include "base/mac/scoped_cftyperef.h"
39 #endif 39 #endif
40 40
41 namespace { 41 namespace TemplateURLPrepopulateData {
42 42
43 // NOTE: See comments in GetDataVersion() below! You should probably not change 43 // 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! 44 // |kCurrentDataVersion| in prepopulated_engines.json. See comments in
45 45 // 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&q={searchTerms}&sugkey={google:suggestAPIKeyParameter}",
1188 "{google:baseURL}webhp?sourceid=chrome-instant&{google:RLZ}"
1189 "{google:instantEnabledParameter}ie={inputEncoding}",
1190 "[\"{google:baseURL}#q={searchTerms}\", "
1191 "\"{google:baseURL}search#q={searchTerms}\", "
1192 "\"{google:baseURL}webhp#q={searchTerms}\"]",
1193 SEARCH_ENGINE_GOOGLE,
1194 1,
1195 };
1196
1197 const PrepopulatedEngine guruji = {
1198 L"guruji",
1199 L"guruji.com",
1200 "http://guruji.com/favicon.ico",
1201 "http://guruji.com/search?q={searchTerms}",
1202 "UTF-8",
1203 NULL,
1204 NULL,
1205 NULL,
1206 SEARCH_ENGINE_OTHER,
1207 38,
1208 };
1209
1210 const PrepopulatedEngine hispavista = {
1211 L"hispavista",
1212 L"hispavista.com",
1213 "http://buscar.hispavista.com/favicon.ico",
1214 "http://buscar.hispavista.com/?cadena={searchTerms}",
1215 "iso-8859-1",
1216 NULL,
1217 NULL,
1218 NULL,
1219 SEARCH_ENGINE_OTHER,
1220 18,
1221 };
1222
1223 const PrepopulatedEngine in = {
1224 L"in.gr",
1225 L"in.gr",
1226 "http://www.in.gr/favicon.ico",
1227 "http://find.in.gr/?qs={searchTerms}",
1228 "ISO-8859-7",
1229 NULL,
1230 NULL,
1231 NULL,
1232 SEARCH_ENGINE_IN,
1233 54,
1234 };
1235
1236 const PrepopulatedEngine jabse = {
1237 L"Jabse",
1238 L"jabse.com",
1239 "http://www.jabse.com/favicon.ico",
1240 "http://www.jabse.com/searchmachine.php?query={searchTerms}",
1241 "UTF-8",
1242 NULL,
1243 NULL,
1244 NULL,
1245 SEARCH_ENGINE_OTHER,
1246 19,
1247 };
1248
1249 const PrepopulatedEngine jubii = {
1250 L"Jubii",
1251 L"jubii.dk",
1252 "http://search.jubii.dk/favicon_jubii.ico",
1253 "http://search.jubii.dk/cgi-bin/pursuit?query={searchTerms}",
1254 "ISO-8859-1",
1255 NULL,
1256 NULL,
1257 NULL,
1258 SEARCH_ENGINE_OTHER,
1259 28,
1260 };
1261
1262 const PrepopulatedEngine kvasir = {
1263 L"Kvasir",
1264 L"kvasir.no",
1265 "http://www.kvasir.no/img/favicon.ico",
1266 "http://www.kvasir.no/nettsok/searchResult.html?searchExpr={searchTerms}",
1267 "ISO-8859-1",
1268 NULL,
1269 NULL,
1270 NULL,
1271 SEARCH_ENGINE_OTHER,
1272 73,
1273 };
1274
1275 const PrepopulatedEngine latne = {
1276 L"LATNE",
1277 L"latne.lv",
1278 "http://latne.lv/favicon.ico",
1279 "http://latne.lv/siets.php?q={searchTerms}",
1280 "UTF-8",
1281 NULL,
1282 NULL,
1283 NULL,
1284 SEARCH_ENGINE_OTHER,
1285 71,
1286 };
1287
1288 const PrepopulatedEngine leit = {
1289 L"leit.is",
1290 L"leit.is",
1291 "http://leit.is/leit.ico",
1292 "http://leit.is/query.aspx?qt={searchTerms}",
1293 "ISO-8859-1",
1294 NULL,
1295 NULL,
1296 NULL,
1297 SEARCH_ENGINE_OTHER,
1298 59,
1299 };
1300
1301 const PrepopulatedEngine libero = {
1302 L"Libero",
1303 L"libero.it",
1304 "http://arianna.libero.it/favicon.ico",
1305 "http://arianna.libero.it/search/abin/integrata.cgi?query={searchTerms}",
1306 "ISO-8859-1",
1307 NULL,
1308 NULL,
1309 NULL,
1310 SEARCH_ENGINE_OTHER,
1311 63,
1312 };
1313
1314 const PrepopulatedEngine mail_ru = {
1315 L"@MAIL.RU",
1316 L"mail.ru",
1317 "http://img.go.mail.ru/favicon.ico",
1318 "http://go.mail.ru/search?q={searchTerms}",
1319 "windows-1251",
1320 "http://suggests.go.mail.ru/chrome?q={searchTerms}",
1321 NULL,
1322 NULL,
1323 SEARCH_ENGINE_MAILRU,
1324 83,
1325 };
1326
1327 const PrepopulatedEngine maktoob = {
1328 L"\x0645\x0643\x062a\x0648\x0628",
1329 L"maktoob.com",
1330 "http://www.maktoob.com/favicon.ico",
1331 "http://www.maktoob.com/searchResult.php?q={searchTerms}",
1332 "UTF-8",
1333 NULL,
1334 NULL,
1335 NULL,
1336 SEARCH_ENGINE_OTHER,
1337 13,
1338 };
1339
1340 const PrepopulatedEngine masrawy = {
1341 L"\x0645\x0635\x0631\x0627\x0648\x064a",
1342 L"masrawy.com",
1343 "http://www.masrawy.com/new/images/masrawy.ico",
1344 "http://masrawy.com/new/search.aspx?sr={searchTerms}",
1345 "windows-1256",
1346 NULL,
1347 NULL,
1348 NULL,
1349 SEARCH_ENGINE_OTHER,
1350 14,
1351 };
1352
1353 const PrepopulatedEngine mynet = {
1354 L"MYNET",
1355 L"mynet.com",
1356 "http://img.mynet.com/mynetfavori.ico",
1357 "http://arama.mynet.com/search.aspx?q={searchTerms}&pg=q",
1358 "windows-1254",
1359 NULL,
1360 NULL,
1361 NULL,
1362 SEARCH_ENGINE_OTHER,
1363 101,
1364 };
1365
1366 const PrepopulatedEngine najdi = {
1367 L"Najdi.si",
1368 L"najdi.si",
1369 "http://www.najdi.si/master/favicon.ico",
1370 "http://www.najdi.si/search.jsp?q={searchTerms}",
1371 "UTF-8",
1372 NULL,
1373 NULL,
1374 NULL,
1375 SEARCH_ENGINE_NAJDI,
1376 87,
1377 };
1378
1379 const PrepopulatedEngine nate = {
1380 L"\xb124\xc774\xd2b8\xb2f7\xcef4",
1381 L"nate.com",
1382 "http://nate.search.empas.com/favicon.ico",
1383 "http://nate.search.empas.com/search/all.html?q={searchTerms}",
1384 "EUC-KR",
1385 NULL,
1386 NULL,
1387 NULL,
1388 SEARCH_ENGINE_OTHER,
1389 69,
1390 };
1391
1392 const PrepopulatedEngine naver = {
1393 L"\xb124\xc774\xbc84",
1394 L"naver.com",
1395 "http://search.naver.com/favicon.ico",
1396 "http://search.naver.com/search.naver?ie={inputEncoding}&query={searchTerms}",
1397 "UTF-8",
1398 "http://ac.search.naver.com/autocompl?m=s&ie={inputEncoding}&oe=utf-8&"
1399 "q={searchTerms}",
1400 NULL,
1401 NULL,
1402 SEARCH_ENGINE_NAVER,
1403 67,
1404 };
1405
1406 const PrepopulatedEngine neti = {
1407 L"NETI",
1408 L"neti.ee",
1409 "http://www.neti.ee/favicon.ico",
1410 "http://www.neti.ee/cgi-bin/otsing?query={searchTerms}",
1411 "ISO-8859-1",
1412 NULL,
1413 NULL,
1414 NULL,
1415 SEARCH_ENGINE_NETI,
1416 44,
1417 };
1418
1419 const PrepopulatedEngine netsprint = {
1420 L"NetSprint",
1421 L"netsprint.pl",
1422 "http://netsprint.pl/favicon.ico",
1423 "http://www.netsprint.pl/serwis/search?q={searchTerms}",
1424 "UTF-8",
1425 NULL,
1426 NULL,
1427 NULL,
1428 SEARCH_ENGINE_NETSPRINT,
1429 30,
1430 };
1431
1432 const PrepopulatedEngine nur_kz = {
1433 L"NUR.KZ",
1434 L"nur.kz",
1435 "http://www.nur.kz/favicon_kz.ico",
1436 "http://search.nur.kz/?encoding={inputEncoding}&query={searchTerms}",
1437 "UTF-8",
1438 NULL,
1439 NULL,
1440 NULL,
1441 SEARCH_ENGINE_OTHER,
1442 20,
1443 };
1444
1445 const PrepopulatedEngine ok = {
1446 L"OK.hu",
1447 L"ok.hu",
1448 "http://ok.hu/gfx/favicon.ico",
1449 "http://ok.hu/katalogus?q={searchTerms}",
1450 "ISO-8859-2",
1451 NULL,
1452 NULL,
1453 NULL,
1454 SEARCH_ENGINE_OK,
1455 6,
1456 };
1457
1458 const PrepopulatedEngine onet = {
1459 L"Onet.pl",
1460 L"onet.pl",
1461 "http://szukaj.onet.pl/favicon.ico",
1462 "http://szukaj.onet.pl/query.html?qt={searchTerms}",
1463 "ISO-8859-2",
1464 NULL,
1465 NULL,
1466 NULL,
1467 SEARCH_ENGINE_OTHER,
1468 75,
1469 };
1470
1471 const PrepopulatedEngine pogodak_rs = {
1472 L"Pogodak!",
1473 L"pogodak.rs",
1474 "http://www.pogodak.rs/favicon.ico",
1475 "http://www.pogodak.rs/search.jsp?q={searchTerms}",
1476 "UTF-8",
1477 NULL,
1478 NULL,
1479 NULL,
1480 SEARCH_ENGINE_POGODAK,
1481 24,
1482 };
1483
1484 const PrepopulatedEngine rambler = {
1485 L"Rambler",
1486 L"rambler.ru",
1487 "http://www.rambler.ru/favicon.ico",
1488 "http://www.rambler.ru/srch?words={searchTerms}",
1489 "windows-1251",
1490 NULL,
1491 NULL,
1492 NULL,
1493 SEARCH_ENGINE_RAMBLER,
1494 16,
1495 };
1496
1497 const PrepopulatedEngine rediff = {
1498 L"Rediff",
1499 L"rediff.com",
1500 "http://search1.rediff.com/favicon.ico",
1501 "http://search1.rediff.com/dirsrch/default.asp?MT={searchTerms}",
1502 "UTF-8",
1503 NULL,
1504 NULL,
1505 NULL,
1506 SEARCH_ENGINE_OTHER,
1507 37,
1508 };
1509
1510 const PrepopulatedEngine rednano = {
1511 L"Rednano",
1512 L"rednano.sg",
1513 "http://rednano.sg/favicon.ico",
1514 "http://rednano.sg/sfe/lwi.action?querystring={searchTerms}",
1515 "UTF-8",
1516 NULL,
1517 NULL,
1518 NULL,
1519 SEARCH_ENGINE_OTHER,
1520 41,
1521 };
1522
1523 const PrepopulatedEngine sanook = {
1524 L"\x0e2a\x0e19\x0e38\x0e01!",
1525 L"sanook.com",
1526 "http://search.sanook.com/favicon.ico",
1527 "http://search.sanook.com/search.php?q={searchTerms}",
1528 "UTF-8",
1529 NULL,
1530 NULL,
1531 NULL,
1532 SEARCH_ENGINE_SANOOK,
1533 100,
1534 };
1535
1536 const PrepopulatedEngine sapo = {
1537 L"SAPO",
1538 L"sapo.pt",
1539 "http://imgs.sapo.pt/images/sapo.ico",
1540 "http://pesquisa.sapo.pt/?q={searchTerms}",
1541 "UTF-8",
1542 "http://pesquisa.sapo.pt/livesapo?q={searchTerms}",
1543 NULL,
1544 NULL,
1545 SEARCH_ENGINE_SAPO,
1546 77,
1547 };
1548
1549 const PrepopulatedEngine search_de_CH = {
1550 L"search.ch",
1551 L"search.ch",
1552 "http://www.search.ch/favicon.ico",
1553 "http://www.search.ch/index.de.html?q={searchTerms}",
1554 "ISO-8859-1",
1555 NULL,
1556 NULL,
1557 NULL,
1558 SEARCH_ENGINE_OTHER,
1559 51,
1560 };
1561
1562 const PrepopulatedEngine search_fr_CH = {
1563 L"search.ch",
1564 L"search.ch_", // search.ch is taken by search_de_CH.
1565 "http://www.search.ch/favicon.ico",
1566 "http://www.search.ch/index.fr.html?q={searchTerms}",
1567 "ISO-8859-1",
1568 NULL,
1569 NULL,
1570 NULL,
1571 SEARCH_ENGINE_OTHER,
1572 22,
1573 };
1574
1575 const PrepopulatedEngine seznam = {
1576 L"Seznam",
1577 L"seznam.cz",
1578 "http://1.im.cz/szn/img/favicon.ico",
1579 "http://search.seznam.cz/?q={searchTerms}",
1580 "UTF-8",
1581 "http:///suggest.fulltext.seznam.cz/?dict=fulltext_ff&phrase={searchTerms}&"
1582 "encoding={inputEncoding}&response_encoding=utf-8",
1583 NULL,
1584 NULL,
1585 SEARCH_ENGINE_SEZNAM,
1586 25,
1587 };
1588
1589 const PrepopulatedEngine terra_ar = {
1590 L"Terra Argentina",
1591 L"terra.com.ar",
1592 "http://buscar.terra.com.ar/favicon.ico",
1593 "http://buscar.terra.com.ar/Default.aspx?query={searchTerms}&source=Search",
1594 "ISO-8859-1",
1595 NULL,
1596 NULL,
1597 NULL,
1598 SEARCH_ENGINE_OTHER,
1599 90,
1600 };
1601
1602 const PrepopulatedEngine terra_es = {
1603 L"Terra",
1604 L"terra.es",
1605 "http://buscador.terra.es/favicon.ico",
1606 "http://buscador.terra.es/Default.aspx?query={searchTerms}&source=Search",
1607 "ISO-8859-1",
1608 NULL,
1609 NULL,
1610 NULL,
1611 SEARCH_ENGINE_OTHER,
1612 90,
1613 };
1614
1615 const PrepopulatedEngine tut = {
1616 L"TUT.BY",
1617 L"tut.by",
1618 "http://www.tut.by/favicon.ico",
1619 "http://search.tut.by/?query={searchTerms}",
1620 "windows-1251",
1621 NULL,
1622 NULL,
1623 NULL,
1624 SEARCH_ENGINE_TUT,
1625 17,
1626 };
1627
1628 const PrepopulatedEngine uol = {
1629 L"UOL Busca",
1630 L"busca.uol.com.br",
1631 "http://busca.uol.com.br/favicon.ico",
1632 "http://busca.uol.com.br/www/index.html?q={searchTerms}",
1633 "ISO-8859-1",
1634 NULL,
1635 NULL,
1636 NULL,
1637 SEARCH_ENGINE_OTHER,
1638 82,
1639 };
1640
1641 const PrepopulatedEngine virgilio = {
1642 L"Virgilio",
1643 L"virgilio.it",
1644 "http://ricerca.alice.it/favicon.ico",
1645 "http://ricerca.alice.it/ricerca?qs={searchTerms}",
1646 "ISO-8859-1",
1647 NULL,
1648 NULL,
1649 NULL,
1650 SEARCH_ENGINE_VIRGILIO,
1651 62,
1652 };
1653
1654 const PrepopulatedEngine walla = {
1655 L"\x05d5\x05d5\x05d0\x05dc\x05d4!",
1656 L"walla.co.il",
1657 "http://www.walla.co.il/favicon.ico",
1658 "http://search.walla.co.il/?e=hew&q={searchTerms}",
1659 "windows-1255",
1660 NULL,
1661 NULL,
1662 NULL,
1663 SEARCH_ENGINE_WALLA,
1664 55,
1665 };
1666
1667 const PrepopulatedEngine wp = {
1668 L"Wirtualna Polska",
1669 L"wp.pl",
1670 "http://szukaj.wp.pl/favicon.ico",
1671 "http://szukaj.wp.pl/szukaj.html?szukaj={searchTerms}",
1672 "ISO-8859-2",
1673 NULL,
1674 NULL,
1675 NULL,
1676 SEARCH_ENGINE_OTHER,
1677 76,
1678 };
1679
1680 const PrepopulatedEngine yahoo = {
1681 L"Yahoo!",
1682 L"yahoo.com",
1683 "http://search.yahoo.com/favicon.ico",
1684 "http://search.yahoo.com/search?ei={inputEncoding}&fr=crmas&p={searchTerms}",
1685 "UTF-8",
1686 "http://ff.search.yahoo.com/gossip?output=fxjson&command={searchTerms}",
1687 NULL,
1688 NULL,
1689 SEARCH_ENGINE_YAHOO,
1690 2,
1691 };
1692
1693 // For regional Yahoo variants without region-specific suggestion service,
1694 // suggestion is disabled. For some of them, we might consider
1695 // using a fallback (e.g. de for at/ch, ca or fr for qc, en for nl, no, hk).
1696 const PrepopulatedEngine yahoo_ar = {
1697 L"Yahoo! Argentina",
1698 L"ar.yahoo.com",
1699 "http://ar.search.yahoo.com/favicon.ico",
1700 "http://ar.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1701 "p={searchTerms}",
1702 "UTF-8",
1703 "http://ar-sayt.ff.search.yahoo.com/gossip-ar-sayt?output=fxjson&"
1704 "command={searchTerms}",
1705 NULL,
1706 NULL,
1707 SEARCH_ENGINE_YAHOO,
1708 2,
1709 };
1710
1711 const PrepopulatedEngine yahoo_at = {
1712 L"Yahoo! Suche",
1713 L"at.yahoo.com",
1714 "http://at.search.yahoo.com/favicon.ico",
1715 "http://at.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1716 "p={searchTerms}",
1717 "UTF-8",
1718 NULL,
1719 NULL,
1720 NULL,
1721 SEARCH_ENGINE_YAHOO,
1722 2,
1723 };
1724
1725 const PrepopulatedEngine yahoo_au = {
1726 L"Yahoo!7",
1727 L"au.yahoo.com",
1728 "http://au.search.yahoo.com/favicon.ico",
1729 "http://au.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1730 "p={searchTerms}",
1731 "UTF-8",
1732 "http://aue-sayt.ff.search.yahoo.com/gossip-au-sayt?output=fxjson&"
1733 "command={searchTerms}",
1734 NULL,
1735 NULL,
1736 SEARCH_ENGINE_YAHOO,
1737 2,
1738 };
1739
1740 const PrepopulatedEngine yahoo_br = {
1741 L"Yahoo! Brasil",
1742 L"br.yahoo.com",
1743 "http://br.search.yahoo.com/favicon.ico",
1744 "http://br.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1745 "p={searchTerms}",
1746 "UTF-8",
1747 "http://br-sayt.ff.search.yahoo.com/gossip-br-sayt?output=fxjson&"
1748 "command={searchTerms}",
1749 NULL,
1750 NULL,
1751 SEARCH_ENGINE_YAHOO,
1752 2,
1753 };
1754
1755 const PrepopulatedEngine yahoo_ca = {
1756 L"Yahoo! Canada",
1757 L"ca.yahoo.com",
1758 "http://ca.search.yahoo.com/favicon.ico",
1759 "http://ca.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1760 "p={searchTerms}",
1761 "UTF-8",
1762 "http://gossip.ca.yahoo.com/gossip-ca-sayt?output=fxjsonp&"
1763 "command={searchTerms}",
1764 NULL,
1765 NULL,
1766 SEARCH_ENGINE_YAHOO,
1767 2,
1768 };
1769
1770 const PrepopulatedEngine yahoo_ch = {
1771 L"Yahoo! Suche",
1772 L"ch.yahoo.com",
1773 "http://ch.search.yahoo.com/favicon.ico",
1774 "http://ch.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1775 "p={searchTerms}",
1776 "UTF-8",
1777 NULL,
1778 NULL,
1779 NULL,
1780 SEARCH_ENGINE_YAHOO,
1781 2,
1782 };
1783
1784 const PrepopulatedEngine yahoo_cl = {
1785 L"Yahoo! Chile",
1786 L"cl.yahoo.com",
1787 "http://cl.search.yahoo.com/favicon.ico",
1788 "http://cl.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1789 "p={searchTerms}",
1790 "UTF-8",
1791 "http://gossip.telemundo.yahoo.com/gossip-e1-sayt?output=fxjson&"
1792 "command={searchTerms}",
1793 NULL,
1794 NULL,
1795 SEARCH_ENGINE_YAHOO,
1796 2,
1797 };
1798
1799 const PrepopulatedEngine yahoo_cn = {
1800 L"\x4e2d\x56fd\x96c5\x864e",
1801 L"cn.yahoo.com",
1802 "http://search.cn.yahoo.com/favicon.ico",
1803 "http://search.cn.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1804 "p={searchTerms}",
1805 "GB2312",
1806 NULL,
1807 NULL,
1808 NULL,
1809 SEARCH_ENGINE_YAHOO,
1810 2,
1811 };
1812
1813 const PrepopulatedEngine yahoo_co = {
1814 L"Yahoo! Colombia",
1815 L"co.yahoo.com",
1816 "http://co.search.yahoo.com/favicon.ico",
1817 "http://co.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1818 "p={searchTerms}",
1819 "UTF-8",
1820 "http://gossip.telemundo.yahoo.com/gossip-e1-sayt?output=fxjson&"
1821 "command={searchTerms}",
1822 NULL,
1823 NULL,
1824 SEARCH_ENGINE_YAHOO,
1825 2,
1826 };
1827
1828 const PrepopulatedEngine yahoo_de = {
1829 L"Yahoo! Deutschland",
1830 L"de.yahoo.com",
1831 "http://de.search.yahoo.com/favicon.ico",
1832 "http://de.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1833 "p={searchTerms}",
1834 "UTF-8",
1835 "http://de-sayt.ff.search.yahoo.com/gossip-de-sayt?output=fxjson&"
1836 "command={searchTerms}",
1837 NULL,
1838 NULL,
1839 SEARCH_ENGINE_YAHOO,
1840 2,
1841 };
1842
1843 const PrepopulatedEngine yahoo_dk = {
1844 L"Yahoo! Danmark",
1845 L"dk.yahoo.com",
1846 "http://dk.search.yahoo.com/favicon.ico",
1847 "http://dk.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1848 "p={searchTerms}",
1849 "UTF-8",
1850 NULL,
1851 NULL,
1852 NULL,
1853 SEARCH_ENGINE_YAHOO,
1854 2,
1855 };
1856
1857 const PrepopulatedEngine yahoo_es = {
1858 L"Yahoo! Espa" L"\x00f1" L"a",
1859 L"es.yahoo.com",
1860 "http://es.search.yahoo.com/favicon.ico",
1861 "http://es.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1862 "p={searchTerms}",
1863 "UTF-8",
1864 "http://es-sayt.ff.search.yahoo.com/gossip-es-sayt?output=fxjson&"
1865 "command={searchTerms}",
1866 NULL,
1867 NULL,
1868 SEARCH_ENGINE_YAHOO,
1869 2,
1870 };
1871
1872 const PrepopulatedEngine yahoo_fi = {
1873 L"Yahoo!-haku",
1874 L"fi.yahoo.com",
1875 "http://fi.search.yahoo.com/favicon.ico",
1876 "http://fi.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1877 "p={searchTerms}",
1878 "UTF-8",
1879 NULL,
1880 NULL,
1881 NULL,
1882 SEARCH_ENGINE_YAHOO,
1883 2,
1884 };
1885
1886 const PrepopulatedEngine yahoo_fr = {
1887 L"Yahoo! France",
1888 L"fr.yahoo.com",
1889 "http://fr.search.yahoo.com/favicon.ico",
1890 "http://fr.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1891 "p={searchTerms}",
1892 "UTF-8",
1893 "http://fr-sayt.ff.search.yahoo.com/gossip-fr-sayt?output=fxjson&"
1894 "command={searchTerms}",
1895 NULL,
1896 NULL,
1897 SEARCH_ENGINE_YAHOO,
1898 2,
1899 };
1900
1901 const PrepopulatedEngine yahoo_hk = {
1902 L"Yahoo! Hong Kong",
1903 L"hk.yahoo.com",
1904 "http://hk.search.yahoo.com/favicon.ico",
1905 "http://hk.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1906 "p={searchTerms}",
1907 "UTF-8",
1908 NULL,
1909 NULL,
1910 NULL,
1911 SEARCH_ENGINE_YAHOO,
1912 2,
1913 };
1914
1915 const PrepopulatedEngine yahoo_id = {
1916 L"Yahoo! Indonesia",
1917 L"id.yahoo.com",
1918 "http://id.search.yahoo.com/favicon.ico",
1919 "http://id.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1920 "p={searchTerms}",
1921 "UTF-8",
1922 "http://id-sayt.ff.search.yahoo.com/gossip-id-sayt?output=fxjson&"
1923 "command={searchTerms}",
1924 NULL,
1925 NULL,
1926 SEARCH_ENGINE_YAHOO,
1927 2,
1928 };
1929
1930 const PrepopulatedEngine yahoo_in = {
1931 L"Yahoo! India",
1932 L"in.yahoo.com",
1933 "http://in.search.yahoo.com/favicon.ico",
1934 "http://in.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1935 "p={searchTerms}",
1936 "UTF-8",
1937 "http://in-sayt.ff.search.yahoo.com/gossip-in-sayt?output=fxjson&"
1938 "command={searchTerms}",
1939 NULL,
1940 NULL,
1941 SEARCH_ENGINE_YAHOO,
1942 2,
1943 };
1944
1945 const PrepopulatedEngine yahoo_it = {
1946 L"Yahoo! Italia",
1947 L"it.yahoo.com",
1948 "http://it.search.yahoo.com/favicon.ico",
1949 "http://it.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1950 "p={searchTerms}",
1951 "UTF-8",
1952 "http://it-sayt.ff.search.yahoo.com/gossip-it-sayt?output=fxjson&"
1953 "command={searchTerms}",
1954 NULL,
1955 NULL,
1956 SEARCH_ENGINE_YAHOO,
1957 2,
1958 };
1959
1960 const PrepopulatedEngine yahoo_jp = {
1961 L"Yahoo! JAPAN",
1962 L"yahoo.co.jp",
1963 "http://search.yahoo.co.jp/favicon.ico",
1964 "http://search.yahoo.co.jp/search?ei={inputEncoding}&fr=crmas&"
1965 "p={searchTerms}",
1966 "UTF-8",
1967 NULL,
1968 NULL,
1969 NULL,
1970 SEARCH_ENGINE_YAHOOJP,
1971 2,
1972 };
1973
1974 const PrepopulatedEngine yahoo_kr = {
1975 L"\xc57c\xd6c4! \xcf54\xb9ac\xc544",
1976 L"kr.yahoo.com",
1977 "http://kr.search.yahoo.com/favicon.ico",
1978 "http://kr.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1979 "p={searchTerms}",
1980 "UTF-8",
1981 "http://kr.atc.search.yahoo.com/atcx.php?property=main&ot=fxjson&"
1982 "ei=utf8&eo=utf8&command={searchTerms}",
1983 NULL,
1984 NULL,
1985 SEARCH_ENGINE_YAHOO,
1986 2,
1987 };
1988
1989 const PrepopulatedEngine yahoo_malaysia = {
1990 L"Yahoo! Malaysia",
1991 L"malaysia.yahoo.com",
1992 "http://malaysia.search.yahoo.com/favicon.ico",
1993 "http://malaysia.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
1994 "p={searchTerms}",
1995 "UTF-8",
1996 "http://my-sayt.ff.search.yahoo.com/gossip-my-sayt?output=fxjson&"
1997 "command={searchTerms}",
1998 NULL,
1999 NULL,
2000 SEARCH_ENGINE_YAHOO,
2001 2,
2002 };
2003
2004 const PrepopulatedEngine yahoo_mx = {
2005 L"Yahoo! M\x00e9xico",
2006 L"mx.yahoo.com",
2007 "http://mx.search.yahoo.com/favicon.ico",
2008 "http://mx.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2009 "p={searchTerms}",
2010 "UTF-8",
2011 "http://gossip.mx.yahoo.com/gossip-mx-sayt?output=fxjsonp&"
2012 "command={searchTerms}",
2013 NULL,
2014 NULL,
2015 SEARCH_ENGINE_YAHOO,
2016 2,
2017 };
2018
2019 const PrepopulatedEngine yahoo_nl = {
2020 L"Yahoo! Nederland",
2021 L"nl.yahoo.com",
2022 "http://nl.search.yahoo.com/favicon.ico",
2023 "http://nl.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2024 "p={searchTerms}",
2025 "UTF-8",
2026 NULL,
2027 NULL,
2028 NULL,
2029 SEARCH_ENGINE_YAHOO,
2030 2,
2031 };
2032
2033 const PrepopulatedEngine yahoo_no = {
2034 L"Yahoo! Norge",
2035 L"no.yahoo.com",
2036 "http://no.search.yahoo.com/favicon.ico",
2037 "http://no.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2038 "p={searchTerms}",
2039 "UTF-8",
2040 NULL,
2041 NULL,
2042 NULL,
2043 SEARCH_ENGINE_YAHOO,
2044 2,
2045 };
2046
2047 const PrepopulatedEngine yahoo_nz = {
2048 L"Yahoo!Xtra",
2049 L"nz.yahoo.com",
2050 "http://nz.search.yahoo.com/favicon.ico",
2051 "http://nz.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2052 "p={searchTerms}",
2053 "UTF-8",
2054 "http://aue-sayt.ff.search.yahoo.com/gossip-nz-sayt?output=fxjson&"
2055 "command={searchTerms}",
2056 NULL,
2057 NULL,
2058 SEARCH_ENGINE_YAHOO,
2059 2,
2060 };
2061
2062 const PrepopulatedEngine yahoo_pe = {
2063 L"Yahoo! Per\x00fa",
2064 L"pe.yahoo.com",
2065 "http://pe.search.yahoo.com/favicon.ico",
2066 "http://pe.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2067 "p={searchTerms}",
2068 "UTF-8",
2069 "http://gossip.telemundo.yahoo.com/gossip-e1-sayt?output=fxjson&"
2070 "command={searchTerms}",
2071 NULL,
2072 NULL,
2073 SEARCH_ENGINE_YAHOO,
2074 2,
2075 };
2076
2077 const PrepopulatedEngine yahoo_ph = {
2078 L"Yahoo! Philippines",
2079 L"ph.yahoo.com",
2080 "http://ph.search.yahoo.com/favicon.ico",
2081 "http://ph.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2082 "p={searchTerms}",
2083 "UTF-8",
2084 "http://ph-sayt.ff.search.yahoo.com/gossip-ph-sayt?output=fxjson&"
2085 "command={searchTerms}",
2086 NULL,
2087 NULL,
2088 SEARCH_ENGINE_YAHOO,
2089 2,
2090 };
2091
2092 const PrepopulatedEngine yahoo_qc = {
2093 L"Yahoo! Qu" L"\x00e9" L"bec",
2094 L"qc.yahoo.com",
2095 "http://qc.search.yahoo.com/favicon.ico",
2096 "http://qc.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2097 "p={searchTerms}",
2098 "UTF-8",
2099 NULL,
2100 NULL,
2101 NULL,
2102 SEARCH_ENGINE_YAHOOQC,
2103 5, // Can't be 2 as this has to appear in the Canada list alongside yahoo_ca.
2104 };
2105
2106 const PrepopulatedEngine yahoo_ru = {
2107 L"Yahoo! \x043f\x043e-\x0440\x0443\x0441\x0441\x043a\x0438",
2108 L"ru.yahoo.com",
2109 "http://ru.search.yahoo.com/favicon.ico",
2110 "http://ru.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2111 "p={searchTerms}",
2112 "UTF-8",
2113 NULL,
2114 NULL,
2115 NULL,
2116 SEARCH_ENGINE_YAHOO,
2117 2,
2118 };
2119
2120 const PrepopulatedEngine yahoo_se = {
2121 L"Yahoo! Sverige",
2122 L"se.yahoo.com",
2123 "http://se.search.yahoo.com/favicon.ico",
2124 "http://se.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2125 "p={searchTerms}",
2126 "UTF-8",
2127 NULL,
2128 NULL,
2129 NULL,
2130 SEARCH_ENGINE_YAHOO,
2131 2,
2132 };
2133
2134 const PrepopulatedEngine yahoo_sg = {
2135 L"Yahoo! Singapore",
2136 L"sg.yahoo.com",
2137 "http://sg.search.yahoo.com/favicon.ico",
2138 "http://sg.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2139 "p={searchTerms}",
2140 "UTF-8",
2141 "http://sg-sayt.ff.search.yahoo.com/gossip-sg-sayt?output=fxjson&"
2142 "command={searchTerms}",
2143 NULL,
2144 NULL,
2145 SEARCH_ENGINE_YAHOO,
2146 2,
2147 };
2148
2149 const PrepopulatedEngine yahoo_th = {
2150 L"Yahoo! \x0e1b\x0e23\x0e30\x0e40\x0e17\x0e28\x0e44\x0e17\x0e22",
2151 L"th.yahoo.com",
2152 "http://th.search.yahoo.com/favicon.ico",
2153 "http://th.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2154 "p={searchTerms}",
2155 "UTF-8",
2156 "http://th-sayt.ff.search.yahoo.com/gossip-th-sayt?output=fxjson&"
2157 "command={searchTerms}",
2158 NULL,
2159 NULL,
2160 SEARCH_ENGINE_YAHOO,
2161 2,
2162 };
2163
2164 const PrepopulatedEngine yahoo_tw = {
2165 L"Yahoo!\x5947\x6469",
2166 L"tw.yahoo.com",
2167 "http://tw.search.yahoo.com/favicon.ico",
2168 "http://tw.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2169 "p={searchTerms}",
2170 "UTF-8",
2171 NULL,
2172 NULL,
2173 NULL,
2174 SEARCH_ENGINE_YAHOO,
2175 2,
2176 };
2177
2178 const PrepopulatedEngine yahoo_uk = {
2179 L"Yahoo! UK & Ireland",
2180 L"uk.yahoo.com",
2181 "http://uk.search.yahoo.com/favicon.ico",
2182 "http://uk.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2183 "p={searchTerms}",
2184 "UTF-8",
2185 "http://uk-sayt.ff.search.yahoo.com/gossip-uk-sayt?output=fxjson&"
2186 "command={searchTerms}",
2187 NULL,
2188 NULL,
2189 SEARCH_ENGINE_YAHOO,
2190 2,
2191 };
2192
2193 const PrepopulatedEngine yahoo_ve = {
2194 L"Yahoo! Venezuela",
2195 L"ve.yahoo.com",
2196 "http://ve.search.yahoo.com/favicon.ico",
2197 "http://ve.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2198 "p={searchTerms}",
2199 "UTF-8",
2200 "http://gossip.telemundo.yahoo.com/gossip-e1-sayt?output=fxjson&"
2201 "command={searchTerms}",
2202 NULL,
2203 NULL,
2204 SEARCH_ENGINE_YAHOO,
2205 2,
2206 };
2207
2208 const PrepopulatedEngine yahoo_vn = {
2209 L"Yahoo! Vi\x1ec7t Nam",
2210 L"vn.yahoo.com",
2211 "http://vn.search.yahoo.com/favicon.ico",
2212 "http://vn.search.yahoo.com/search?ei={inputEncoding}&fr=crmas&"
2213 "p={searchTerms}",
2214 "UTF-8",
2215 "http://vn-sayt.ff.search.yahoo.com/gossip-vn-sayt?output=fxjson&"
2216 "command={searchTerms}",
2217 NULL,
2218 NULL,
2219 SEARCH_ENGINE_YAHOO,
2220 2,
2221 };
2222
2223 const PrepopulatedEngine yamli = {
2224 L"Yamli",
2225 L"yamli.com",
2226 "http://www.yamli.com/favicon.ico",
2227 "http://www.yamli.com/#q={searchTerms}",
2228 "UTF-8",
2229 NULL,
2230 NULL,
2231 NULL,
2232 SEARCH_ENGINE_OTHER,
2233 11,
2234 };
2235
2236 const PrepopulatedEngine yandex_ru = {
2237 L"\x042f\x043d\x0434\x0435\x043a\x0441",
2238 L"yandex.ru",
2239 "http://yandex.ru/favicon.ico",
2240 "http://yandex.ru/yandsearch?text={searchTerms}",
2241 "UTF-8",
2242 "http://suggest.yandex.net/suggest-ff.cgi?part={searchTerms}",
2243 NULL,
2244 NULL,
2245 SEARCH_ENGINE_YANDEX,
2246 15,
2247 };
2248
2249 const PrepopulatedEngine yandex_ua = {
2250 L"\x042f\x043d\x0434\x0435\x043a\x0441",
2251 L"yandex.ua",
2252 "http://yandex.ua/favicon.ico",
2253 "http://yandex.ua/yandsearch?text={searchTerms}",
2254 "UTF-8",
2255 "http://suggest.yandex.net/suggest-ff.cgi?part={searchTerms}",
2256 NULL,
2257 NULL,
2258 SEARCH_ENGINE_YANDEX,
2259 15,
2260 };
2261
2262 const PrepopulatedEngine zoznam = {
2263 L"Zoznam",
2264 L"zoznam.sk",
2265 "http://zoznam.sk/favicon.ico",
2266 "http://zoznam.sk/hladaj.fcgi?s={searchTerms}",
2267 "windows-1250",
2268 NULL,
2269 NULL,
2270 NULL,
2271 SEARCH_ENGINE_ZOZNAM,
2272 85,
2273 };
2274
2275 // UMA-only engines ////////////////////////////////////////////////////////////
2276
2277 // The following engines are not included in any of the country lists. They
2278 // are listed in |kAllEngines|, however, so that GetEngineType can find them
2279 // for UMA reporting purposes.
2280
2281 const PrepopulatedEngine all_by = {
2282 L"ALL.BY",
2283 L"all.by",
2284 NULL,
2285 "http://www.all.by/cgi-bin/search.cgi?mode=by&query={searchTerms}",
2286 "UTF-8",
2287 NULL,
2288 NULL,
2289 NULL,
2290 SEARCH_ENGINE_ALL_BY,
2291 33,
2292 };
2293
2294 const PrepopulatedEngine aport = {
2295 L"Aport",
2296 L"aport.ru",
2297 NULL,
2298 "http://www.aport.ru/search/?r={searchTerms}",
2299 "UTF-8",
2300 NULL,
2301 NULL,
2302 NULL,
2303 SEARCH_ENGINE_APORT,
2304 34,
2305 };
2306
2307 const PrepopulatedEngine avg = {
2308 L"AVG Secure Search",
2309 L"search.avg.com",
2310 NULL,
2311 "http://search.avg.com/route/?q={searchTerms}&lng={language}",
2312 "UTF-8",
2313 NULL,
2314 NULL,
2315 NULL,
2316 SEARCH_ENGINE_AVG,
2317 50,
2318 };
2319
2320 const PrepopulatedEngine avg_i = {
2321 L"AVG Secure Search",
2322 L"isearch.avg.com",
2323 NULL,
2324 "http://isearch.avg.com/search?q={searchTerms}&lng={language}",
2325 "UTF-8",
2326 NULL,
2327 NULL,
2328 NULL,
2329 SEARCH_ENGINE_AVG,
2330 52,
2331 };
2332
2333 const PrepopulatedEngine conduit = {
2334 L"Conduit",
2335 L"conduit.com",
2336 NULL,
2337 "http://search.conduit.com/Results.aspx?q={searchTerms}",
2338 "UTF-8",
2339 NULL,
2340 NULL,
2341 NULL,
2342 SEARCH_ENGINE_CONDUIT,
2343 36,
2344 };
2345
2346 const PrepopulatedEngine icq = {
2347 L"ICQ",
2348 L"icq.com",
2349 NULL,
2350 "http://search.icq.com/search/results.php?q={searchTerms}",
2351 "UTF-8",
2352 NULL,
2353 NULL,
2354 NULL,
2355 SEARCH_ENGINE_ICQ,
2356 39,
2357 };
2358
2359 const PrepopulatedEngine meta_ua = {
2360 L"Meta-Ukraine",
2361 L"meta.ua",
2362 NULL,
2363 "http://meta.ua/search.asp?q={searchTerms}",
2364 "UTF-8",
2365 NULL,
2366 NULL,
2367 NULL,
2368 SEARCH_ENGINE_META_UA,
2369 40,
2370 };
2371
2372 const PrepopulatedEngine metabot_ru = {
2373 L"Metabot",
2374 L"metabot.ru",
2375 NULL,
2376 "http://results.metabot.ru/?st={searchTerms}",
2377 "UTF-8",
2378 NULL,
2379 NULL,
2380 NULL,
2381 SEARCH_ENGINE_METABOT_RU,
2382 42,
2383 };
2384
2385 const PrepopulatedEngine nigma = {
2386 L"Nigma",
2387 L"nigma.ru",
2388 NULL,
2389 "http://www.nigma.ru/?s={searchTerms}",
2390 "UTF-8",
2391 NULL,
2392 NULL,
2393 NULL,
2394 SEARCH_ENGINE_NIGMA,
2395 43,
2396 };
2397
2398 const PrepopulatedEngine qip = {
2399 L"QIP",
2400 L"qip.ru",
2401 NULL,
2402 "http://search.qip.ru/?query={searchTerms}",
2403 "UTF-8",
2404 NULL,
2405 NULL,
2406 NULL,
2407 SEARCH_ENGINE_QIP,
2408 47,
2409 };
2410
2411 const PrepopulatedEngine ukr_net = {
2412 L"Ukr.net",
2413 L"ukr.net",
2414 NULL,
2415 "http://search.ukr.net/google/search.php?q={searchTerms}",
2416 "UTF-8",
2417 NULL,
2418 NULL,
2419 NULL,
2420 SEARCH_ENGINE_UKR_NET,
2421 48,
2422 };
2423
2424 const PrepopulatedEngine webalta = {
2425 L"Webalta",
2426 L"webalta.ru",
2427 NULL,
2428 "http://webalta.ru/search?q={searchTerms}",
2429 "UTF-8",
2430 NULL,
2431 NULL,
2432 NULL,
2433 SEARCH_ENGINE_WEBALTA,
2434 49,
2435 };
2436
2437 const PrepopulatedEngine yandex_tr = {
2438 L"Yandex",
2439 L"yandex.com.tr",
2440 "http://yandex.com.tr/favicon.ico",
2441 "http://yandex.com.tr/yandsearch?text={searchTerms}",
2442 "UTF-8",
2443 "http://suggest.yandex.net/suggest-ff.cgi?part={searchTerms}",
2444 NULL,
2445 NULL,
2446 SEARCH_ENGINE_YANDEX,
2447 15,
2448 };
2449 46
2450 // Lists of engines per country //////////////////////////////////////////////// 47 // Lists of engines per country ////////////////////////////////////////////////
2451 48
2452 // Put these in order with most interesting/important first. The default will 49 // Put these in order with most interesting/important first. The default will
2453 // be the first engine. 50 // be the first engine.
2454 51
2455 // Default (for countries with no better engine set) 52 // Default (for countries with no better engine set)
2456 const PrepopulatedEngine* engines_default[] = 53 const PrepopulatedEngine* engines_default[] =
2457 { &google, &yahoo, &bing, }; 54 { &google, &yahoo, &bing, };
2458 55
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after
3476 }; 1073 };
3477 1074
3478 const LogoURLs google_logos = { 1075 const LogoURLs google_logos = {
3479 "https://www.google.com/images/chrome_search/google_logo.png", 1076 "https://www.google.com/images/chrome_search/google_logo.png",
3480 "https://www.google.com/images/chrome_search/google_logo_2x.png", 1077 "https://www.google.com/images/chrome_search/google_logo_2x.png",
3481 }; 1078 };
3482 1079
3483 1080
3484 //////////////////////////////////////////////////////////////////////////////// 1081 ////////////////////////////////////////////////////////////////////////////////
3485 1082
3486 } // namespace
3487
3488 namespace TemplateURLPrepopulateData {
3489
3490 // The following id is for UMA stats only. Please update
3491 // kMaxPrepopulatedEngineID if it changes upwards.
3492 const int kMaxPrepopulatedEngineID = 101;
3493
3494 void RegisterUserPrefs(PrefService* prefs) { 1083 void RegisterUserPrefs(PrefService* prefs) {
3495 prefs->RegisterIntegerPref(prefs::kCountryIDAtInstall, 1084 prefs->RegisterIntegerPref(prefs::kCountryIDAtInstall,
3496 kCountryIDUnknown, 1085 kCountryIDUnknown,
3497 PrefService::UNSYNCABLE_PREF); 1086 PrefService::UNSYNCABLE_PREF);
3498 prefs->RegisterListPref(prefs::kSearchProviderOverrides, 1087 prefs->RegisterListPref(prefs::kSearchProviderOverrides,
3499 PrefService::UNSYNCABLE_PREF); 1088 PrefService::UNSYNCABLE_PREF);
3500 prefs->RegisterIntegerPref(prefs::kSearchProviderOverridesVersion, 1089 prefs->RegisterIntegerPref(prefs::kSearchProviderOverridesVersion,
3501 -1, 1090 -1,
3502 PrefService::UNSYNCABLE_PREF); 1091 PrefService::UNSYNCABLE_PREF);
3503 // Obsolete pref, for migration. 1092 // Obsolete pref, for migration.
3504 prefs->RegisterIntegerPref(prefs::kGeoIDAtInstall, 1093 prefs->RegisterIntegerPref(prefs::kGeoIDAtInstall,
3505 -1, 1094 -1,
3506 PrefService::UNSYNCABLE_PREF); 1095 PrefService::UNSYNCABLE_PREF);
3507 } 1096 }
3508 1097
3509 int GetDataVersion(PrefService* prefs) { 1098 int GetDataVersion(PrefService* prefs) {
3510 // Increment this if you change the above data in ways that mean users with
3511 // existing data should get a new version.
3512 const int kCurrentDataVersion = 46;
3513 // Allow tests to override the local version. 1099 // Allow tests to override the local version.
3514 return (prefs && prefs->HasPrefPath(prefs::kSearchProviderOverridesVersion)) ? 1100 return (prefs && prefs->HasPrefPath(prefs::kSearchProviderOverridesVersion)) ?
3515 prefs->GetInteger(prefs::kSearchProviderOverridesVersion) : 1101 prefs->GetInteger(prefs::kSearchProviderOverridesVersion) :
3516 kCurrentDataVersion; 1102 kCurrentDataVersion;
3517 } 1103 }
3518 1104
3519 TemplateURL* MakePrepopulatedTemplateURL(Profile* profile, 1105 TemplateURL* MakePrepopulatedTemplateURL(Profile* profile,
3520 const string16& name, 1106 const string16& name,
3521 const string16& keyword, 1107 const string16& keyword,
3522 const base::StringPiece& search_url, 1108 const base::StringPiece& search_url,
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
3591 encoding, id)); 1177 encoding, id));
3592 } 1178 }
3593 } 1179 }
3594 } 1180 }
3595 1181
3596 // The caller owns the returned TemplateURL. 1182 // The caller owns the returned TemplateURL.
3597 TemplateURL* MakePrepopulatedTemplateURLFromPrepopulateEngine( 1183 TemplateURL* MakePrepopulatedTemplateURLFromPrepopulateEngine(
3598 Profile* profile, 1184 Profile* profile,
3599 const PrepopulatedEngine& engine) { 1185 const PrepopulatedEngine& engine) {
3600 1186
3601 // Use an empty list if there are no alternate_urls. 1187 ListValue alternate_urls;
3602 ListValue empty_list;
3603 ListValue* alternate_urls = &empty_list;
3604 // Will hold the result of |ReadToValue|, which we own.
3605 scoped_ptr<Value> value;
3606 if (engine.alternate_urls) { 1188 if (engine.alternate_urls) {
3607 base::JSONReader json_reader; 1189 for (size_t i = 0; i < engine.alternate_urls_size; ++i)
3608 value.reset(json_reader.ReadToValue(std::string(engine.alternate_urls))); 1190 alternate_urls.AppendString(std::string(engine.alternate_urls[i]));
3609 DCHECK(value.get());
3610 value->GetAsList(&alternate_urls);
3611 } 1191 }
3612 1192
3613 return MakePrepopulatedTemplateURL(profile, WideToUTF16(engine.name), 1193 return MakePrepopulatedTemplateURL(profile, WideToUTF16(engine.name),
3614 WideToUTF16(engine.keyword), engine.search_url, engine.suggest_url, 1194 WideToUTF16(engine.keyword), engine.search_url, engine.suggest_url,
3615 engine.instant_url, *alternate_urls, 1195 engine.instant_url, alternate_urls,
3616 engine.favicon_url, engine.encoding, engine.id); 1196 engine.favicon_url, engine.encoding, engine.id);
3617 } 1197 }
3618 1198
3619 void GetPrepopulatedEngines(Profile* profile, 1199 void GetPrepopulatedEngines(Profile* profile,
3620 std::vector<TemplateURL*>* t_urls, 1200 std::vector<TemplateURL*>* t_urls,
3621 size_t* default_search_provider_index) { 1201 size_t* default_search_provider_index) {
3622 // If there is a set of search engines in the preferences file, it overrides 1202 // If there is a set of search engines in the preferences file, it overrides
3623 // the built-in set. 1203 // the built-in set.
3624 *default_search_provider_index = 0; 1204 *default_search_provider_index = 0;
3625 GetPrepopulatedTemplateFromPrefs(profile, t_urls); 1205 GetPrepopulatedTemplateFromPrefs(profile, t_urls);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
3707 g_country_code_at_install = kCountryIDUnknown; 1287 g_country_code_at_install = kCountryIDUnknown;
3708 } else { 1288 } else {
3709 g_country_code_at_install = 1289 g_country_code_at_install =
3710 CountryCharsToCountryIDWithUpdate(country_code[0], country_code[1]); 1290 CountryCharsToCountryIDWithUpdate(country_code[0], country_code[1]);
3711 } 1291 }
3712 } 1292 }
3713 1293
3714 #endif 1294 #endif
3715 1295
3716 } // namespace TemplateURLPrepopulateData 1296 } // namespace TemplateURLPrepopulateData
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698