Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 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 #include "prepopulated_engines.h" | |
| 36 | |
| 37 using namespace search_engines; | |
|
Peter Kasting
2012/11/08 19:02:25
This is banned by the style guide
beaudoin
2012/11/08 19:39:01
I didn't like it either. Other options I can think
beaudoin
2012/11/09 04:16:53
Found an elegant fix by using the same namespace f
| |
| 38 | |
| 35 #if defined(OS_WIN) | 39 #if defined(OS_WIN) |
| 36 #undef IN // On Windows, windef.h defines this, which screws up "India" cases. | 40 #undef IN // On Windows, windef.h defines this, which screws up "India" cases. |
| 37 #elif defined(OS_MACOSX) | 41 #elif defined(OS_MACOSX) |
| 38 #include "base/mac/scoped_cftyperef.h" | 42 #include "base/mac/scoped_cftyperef.h" |
| 39 #endif | 43 #endif |
| 40 | 44 |
| 41 namespace { | 45 namespace { |
| 42 | 46 |
| 43 // NOTE: See comments in GetDataVersion() below! You should probably not change | 47 // NOTE: See comments in GetDataVersion() below! You should probably not change |
| 44 // the data in this file without changing the result of that function! | 48 // the data in this file without changing the result of that function! |
| 45 | 49 |
| 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 //////////////////////////////////////////////////////// | 50 // Prepopulated engines //////////////////////////////////////////////////////// |
| 92 | 51 |
| 93 // The following engines are included in country lists and are added to the list | 52 // 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. | 53 // of search engines on the first run depending on user's country. |
| 95 | 54 |
| 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 = { | 55 const PrepopulatedEngine altavista_ar = { |
| 123 L"AltaVista", | 56 L"AltaVista", |
| 124 L"ar.altavista.com", | 57 L"ar.altavista.com", |
| 125 "http://ar.altavista.com/favicon.ico", | 58 "http://ar.altavista.com/favicon.ico", |
| 126 "http://ar.altavista.com/web/results?q={searchTerms}", | 59 "http://ar.altavista.com/web/results?q={searchTerms}", |
| 127 "UTF-8", | 60 "UTF-8", |
| 128 NULL, | 61 NULL, |
| 129 NULL, | 62 NULL, |
| 130 NULL, | 63 NULL, |
| 131 SEARCH_ENGINE_ALTAVISTA, | 64 SEARCH_ENGINE_ALTAVISTA, |
| (...skipping 3576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3708 g_country_code_at_install = kCountryIDUnknown; | 3641 g_country_code_at_install = kCountryIDUnknown; |
| 3709 } else { | 3642 } else { |
| 3710 g_country_code_at_install = | 3643 g_country_code_at_install = |
| 3711 CountryCharsToCountryIDWithUpdate(country_code[0], country_code[1]); | 3644 CountryCharsToCountryIDWithUpdate(country_code[0], country_code[1]); |
| 3712 } | 3645 } |
| 3713 } | 3646 } |
| 3714 | 3647 |
| 3715 #endif | 3648 #endif |
| 3716 | 3649 |
| 3717 } // namespace TemplateURLPrepopulateData | 3650 } // namespace TemplateURLPrepopulateData |
| OLD | NEW |