diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-01-23 17:21:03 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-01-23 16:25:15 +0000 |
commit | c551f43206405019121bd2b2c93714319a0a3300 (patch) | |
tree | 1f48c30631c421fd4bbb3c36da20183c8a2ed7d7 /chromium/components/search_engines | |
parent | 7961cea6d1041e3e454dae6a1da660b453efd238 (diff) | |
download | qtwebengine-chromium-c551f43206405019121bd2b2c93714319a0a3300.tar.gz |
BASELINE: Update Chromium to 79.0.3945.139
Change-Id: I336b7182fab9bca80b709682489c07db112eaca5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/components/search_engines')
9 files changed, 258 insertions, 176 deletions
diff --git a/chromium/components/search_engines/android/BUILD.gn b/chromium/components/search_engines/android/BUILD.gn index d6b37fc60a5..0247b737534 100644 --- a/chromium/components/search_engines/android/BUILD.gn +++ b/chromium/components/search_engines/android/BUILD.gn @@ -7,8 +7,10 @@ import("//build/config/android/rules.gni") android_library("java") { deps = [ "//base:base_java", + "//base:jni_java", "//content/public/android:content_java", ] + annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] java_files = [ "java/src/org/chromium/components/search_engines/TemplateUrl.java", diff --git a/chromium/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java b/chromium/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java index 093eedd0567..6e40f28d8f6 100644 --- a/chromium/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java +++ b/chromium/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java @@ -4,6 +4,7 @@ package org.chromium.components.search_engines; import org.chromium.base.annotations.CalledByNative; +import org.chromium.base.annotations.NativeMethods; import java.util.Locale; @@ -28,7 +29,7 @@ public class TemplateUrl { * @return The name of the search engine. */ public String getShortName() { - return nativeGetShortName(mTemplateUrlPtr); + return TemplateUrlJni.get().getShortName(mTemplateUrlPtr); } /** @@ -36,21 +37,21 @@ public class TemplateUrl { * non-zero, for custom search engines, it will return 0. */ public int getPrepopulatedId() { - return nativeGetPrepopulatedId(mTemplateUrlPtr); + return TemplateUrlJni.get().getPrepopulatedId(mTemplateUrlPtr); } /** * @return Whether a search engine is prepopulated or created by policy. */ public boolean getIsPrepopulated() { - return nativeIsPrepopulatedOrCreatedByPolicy(mTemplateUrlPtr); + return TemplateUrlJni.get().isPrepopulatedOrCreatedByPolicy(mTemplateUrlPtr); } /** * @return The keyword of the search engine. */ public String getKeyword() { - return nativeGetKeyword(mTemplateUrlPtr); + return TemplateUrlJni.get().getKeyword(mTemplateUrlPtr); } /** @@ -58,7 +59,7 @@ public class TemplateUrl { * return 0. */ public long getLastVisitedTime() { - return nativeGetLastVisitedTime(mTemplateUrlPtr); + return TemplateUrlJni.get().getLastVisitedTime(mTemplateUrlPtr); } /** @@ -66,7 +67,7 @@ public class TemplateUrl { * prepopulated_engines.json. */ public String getURL() { - return nativeGetURL(mTemplateUrlPtr); + return TemplateUrlJni.get().getURL(mTemplateUrlPtr); } @Override @@ -84,10 +85,13 @@ public class TemplateUrl { getKeyword(), getShortName(), getIsPrepopulated()); } - private static native String nativeGetShortName(long templateUrlPtr); - private static native String nativeGetKeyword(long templateUrlPtr); - private static native boolean nativeIsPrepopulatedOrCreatedByPolicy(long templateUrlPtr); - private static native long nativeGetLastVisitedTime(long templateUrlPtr); - private static native int nativeGetPrepopulatedId(long templateUrlPtr); - private static native String nativeGetURL(long templateUrlPtr); + @NativeMethods + interface Natives { + String getShortName(long templateUrlPtr); + String getKeyword(long templateUrlPtr); + boolean isPrepopulatedOrCreatedByPolicy(long templateUrlPtr); + long getLastVisitedTime(long templateUrlPtr); + int getPrepopulatedId(long templateUrlPtr); + String getURL(long templateUrlPtr); + } } diff --git a/chromium/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrlService.java b/chromium/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrlService.java index b00162b85c5..7184c90a907 100644 --- a/chromium/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrlService.java +++ b/chromium/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrlService.java @@ -4,12 +4,13 @@ package org.chromium.components.search_engines; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import org.chromium.base.ObserverList; import org.chromium.base.ThreadUtils; import org.chromium.base.VisibleForTesting; import org.chromium.base.annotations.CalledByNative; +import org.chromium.base.annotations.NativeMethods; import org.chromium.base.task.PostTask; import org.chromium.content_public.browser.UiThreadTaskTraits; @@ -63,12 +64,13 @@ public class TemplateUrlService { public boolean isLoaded() { ThreadUtils.assertOnUiThread(); - return nativeIsLoaded(mNativeTemplateUrlServiceAndroid); + return TemplateUrlServiceJni.get().isLoaded( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this); } public void load() { ThreadUtils.assertOnUiThread(); - nativeLoad(mNativeTemplateUrlServiceAndroid); + TemplateUrlServiceJni.get().load(mNativeTemplateUrlServiceAndroid, TemplateUrlService.this); } /** @@ -102,7 +104,8 @@ public class TemplateUrlService { public List<TemplateUrl> getTemplateUrls() { ThreadUtils.assertOnUiThread(); List<TemplateUrl> templateUrls = new ArrayList<>(); - nativeGetTemplateUrls(mNativeTemplateUrlServiceAndroid, templateUrls); + TemplateUrlServiceJni.get().getTemplateUrls( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, templateUrls); return templateUrls; } @@ -141,13 +144,14 @@ public class TemplateUrlService { */ public @Nullable TemplateUrl getDefaultSearchEngineTemplateUrl() { if (!isLoaded()) return null; - return nativeGetDefaultSearchEngine(mNativeTemplateUrlServiceAndroid); + return TemplateUrlServiceJni.get().getDefaultSearchEngine( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this); } public void setSearchEngine(String selectedKeyword) { ThreadUtils.assertOnUiThread(); - nativeSetUserSelectedDefaultSearchProvider( - mNativeTemplateUrlServiceAndroid, selectedKeyword); + TemplateUrlServiceJni.get().setUserSelectedDefaultSearchProvider( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, selectedKeyword); } /** @@ -155,7 +159,8 @@ public class TemplateUrlService { * DSE can not be modified by the user. */ public boolean isDefaultSearchManaged() { - return nativeIsDefaultSearchManaged(mNativeTemplateUrlServiceAndroid); + return TemplateUrlServiceJni.get().isDefaultSearchManaged( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this); } /** @@ -163,14 +168,16 @@ public class TemplateUrlService { */ public boolean isSearchByImageAvailable() { ThreadUtils.assertOnUiThread(); - return nativeIsSearchByImageAvailable(mNativeTemplateUrlServiceAndroid); + return TemplateUrlServiceJni.get().isSearchByImageAvailable( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this); } /** * @return Whether the default configured search engine is for a Google property. */ public boolean isDefaultSearchEngineGoogle() { - return nativeIsDefaultSearchEngineGoogle(mNativeTemplateUrlServiceAndroid); + return TemplateUrlServiceJni.get().isDefaultSearchEngineGoogle( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this); } /** @@ -180,8 +187,8 @@ public class TemplateUrlService { */ public boolean isSearchResultsPageFromDefaultSearchProvider(String url) { ThreadUtils.assertOnUiThread(); - return nativeIsSearchResultsPageFromDefaultSearchProvider( - mNativeTemplateUrlServiceAndroid, url); + return TemplateUrlServiceJni.get().isSearchResultsPageFromDefaultSearchProvider( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, url); } /** @@ -239,7 +246,8 @@ public class TemplateUrlService { * {@code query} inserted as the search parameter. */ public String getUrlForSearchQuery(String query) { - return nativeGetUrlForSearchQuery(mNativeTemplateUrlServiceAndroid, query); + return TemplateUrlServiceJni.get().getUrlForSearchQuery( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, query); } /** @@ -251,7 +259,8 @@ public class TemplateUrlService { * {@code query} inserted as the search parameter and voice input source param set. */ public String getUrlForVoiceSearchQuery(String query) { - return nativeGetUrlForVoiceSearchQuery(mNativeTemplateUrlServiceAndroid, query); + return TemplateUrlServiceJni.get().getUrlForVoiceSearchQuery( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, query); } /** @@ -267,8 +276,9 @@ public class TemplateUrlService { */ public String getUrlForContextualSearchQuery( String query, String alternateTerm, boolean shouldPrefetch, String protocolVersion) { - return nativeGetUrlForContextualSearchQuery(mNativeTemplateUrlServiceAndroid, query, - alternateTerm, shouldPrefetch, protocolVersion); + return TemplateUrlServiceJni.get().getUrlForContextualSearchQuery( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, query, alternateTerm, + shouldPrefetch, protocolVersion); } /** @@ -277,7 +287,8 @@ public class TemplateUrlService { * @return A {@link String} that contains the url of the specified search engine. */ public String getSearchEngineUrlFromTemplateUrl(String keyword) { - return nativeGetSearchEngineUrlFromTemplateUrl(mNativeTemplateUrlServiceAndroid, keyword); + return TemplateUrlServiceJni.get().getSearchEngineUrlFromTemplateUrl( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, keyword); } /** @@ -286,7 +297,8 @@ public class TemplateUrlService { * @return The search engine type of the specified search engine that contains the keyword. */ public int getSearchEngineTypeFromTemplateUrl(String keyword) { - return nativeGetSearchEngineTypeFromTemplateUrl(mNativeTemplateUrlServiceAndroid, keyword); + return TemplateUrlServiceJni.get().getSearchEngineTypeFromTemplateUrl( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, keyword); } /** @@ -301,54 +313,64 @@ public class TemplateUrlService { */ public boolean setPlayAPISearchEngine( String name, String keyword, String searchUrl, String suggestUrl, String faviconUrl) { - return nativeSetPlayAPISearchEngine( - mNativeTemplateUrlServiceAndroid, name, keyword, searchUrl, suggestUrl, faviconUrl); + return TemplateUrlServiceJni.get().setPlayAPISearchEngine(mNativeTemplateUrlServiceAndroid, + TemplateUrlService.this, name, keyword, searchUrl, suggestUrl, faviconUrl); } // TODO(crbug/1002271): This API is called from clank repo. Helper function below will be // removed once clank repo is updated. public boolean setPlayAPISearchEngine( String name, String keyword, String searchUrl, String faviconUrl) { - return nativeSetPlayAPISearchEngine( - mNativeTemplateUrlServiceAndroid, name, keyword, searchUrl, null, faviconUrl); + return TemplateUrlServiceJni.get().setPlayAPISearchEngine(mNativeTemplateUrlServiceAndroid, + TemplateUrlService.this, name, keyword, searchUrl, null, faviconUrl); } @VisibleForTesting public String addSearchEngineForTesting(String keyword, int ageInDays) { - return nativeAddSearchEngineForTesting( - mNativeTemplateUrlServiceAndroid, keyword, ageInDays); + return TemplateUrlServiceJni.get().addSearchEngineForTesting( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, keyword, ageInDays); } @VisibleForTesting public String updateLastVisitedForTesting(String keyword) { - return nativeUpdateLastVisitedForTesting(mNativeTemplateUrlServiceAndroid, keyword); + return TemplateUrlServiceJni.get().updateLastVisitedForTesting( + mNativeTemplateUrlServiceAndroid, TemplateUrlService.this, keyword); } - private native void nativeLoad(long nativeTemplateUrlServiceAndroid); - private native boolean nativeIsLoaded(long nativeTemplateUrlServiceAndroid); - private native void nativeSetUserSelectedDefaultSearchProvider( - long nativeTemplateUrlServiceAndroid, String selectedKeyword); - private native boolean nativeIsDefaultSearchManaged(long nativeTemplateUrlServiceAndroid); - private native boolean nativeIsSearchResultsPageFromDefaultSearchProvider( - long nativeTemplateUrlServiceAndroid, String url); - private native boolean nativeIsSearchByImageAvailable(long nativeTemplateUrlServiceAndroid); - private native boolean nativeIsDefaultSearchEngineGoogle(long nativeTemplateUrlServiceAndroid); - private native String nativeGetUrlForSearchQuery( - long nativeTemplateUrlServiceAndroid, String query); - private native String nativeGetUrlForVoiceSearchQuery( - long nativeTemplateUrlServiceAndroid, String query); - private native String nativeGetUrlForContextualSearchQuery(long nativeTemplateUrlServiceAndroid, - String query, String alternateTerm, boolean shouldPrefetch, String protocolVersion); - private native String nativeGetSearchEngineUrlFromTemplateUrl( - long nativeTemplateUrlServiceAndroid, String keyword); - private native int nativeGetSearchEngineTypeFromTemplateUrl( - long nativeTemplateUrlServiceAndroid, String keyword); - private native String nativeAddSearchEngineForTesting( - long nativeTemplateUrlServiceAndroid, String keyword, int offset); - private native boolean nativeSetPlayAPISearchEngine(long nativeTemplateUrlServiceAndroid, - String name, String keyword, String searchUrl, String suggestUrl, String faviconUrl); - private native String nativeUpdateLastVisitedForTesting( - long nativeTemplateUrlServiceAndroid, String keyword); - private native void nativeGetTemplateUrls( - long nativeTemplateUrlServiceAndroid, List<TemplateUrl> templateUrls); - private native TemplateUrl nativeGetDefaultSearchEngine(long nativeTemplateUrlServiceAndroid); + @NativeMethods + interface Natives { + void load(long nativeTemplateUrlServiceAndroid, TemplateUrlService caller); + boolean isLoaded(long nativeTemplateUrlServiceAndroid, TemplateUrlService caller); + void setUserSelectedDefaultSearchProvider(long nativeTemplateUrlServiceAndroid, + TemplateUrlService caller, String selectedKeyword); + boolean isDefaultSearchManaged( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller); + boolean isSearchResultsPageFromDefaultSearchProvider( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller, String url); + boolean isSearchByImageAvailable( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller); + boolean isDefaultSearchEngineGoogle( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller); + String getUrlForSearchQuery( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller, String query); + String getUrlForVoiceSearchQuery( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller, String query); + String getUrlForContextualSearchQuery(long nativeTemplateUrlServiceAndroid, + TemplateUrlService caller, String query, String alternateTerm, + boolean shouldPrefetch, String protocolVersion); + String getSearchEngineUrlFromTemplateUrl( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller, String keyword); + int getSearchEngineTypeFromTemplateUrl( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller, String keyword); + String addSearchEngineForTesting(long nativeTemplateUrlServiceAndroid, + TemplateUrlService caller, String keyword, int offset); + boolean setPlayAPISearchEngine(long nativeTemplateUrlServiceAndroid, + TemplateUrlService caller, String name, String keyword, String searchUrl, + String suggestUrl, String faviconUrl); + String updateLastVisitedForTesting( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller, String keyword); + void getTemplateUrls(long nativeTemplateUrlServiceAndroid, TemplateUrlService caller, + List<TemplateUrl> templateUrls); + TemplateUrl getDefaultSearchEngine( + long nativeTemplateUrlServiceAndroid, TemplateUrlService caller); + } } diff --git a/chromium/components/search_engines/default_search_policy_handler_unittest.cc b/chromium/components/search_engines/default_search_policy_handler_unittest.cc index a5610ff682f..f02f8bada2e 100644 --- a/chromium/components/search_engines/default_search_policy_handler_unittest.cc +++ b/chromium/components/search_engines/default_search_policy_handler_unittest.cc @@ -133,7 +133,7 @@ TEST_F(DefaultSearchPolicyHandlerTest, Invalid) { const char bad_search_url[] = "http://test.com/noSearchTerms"; policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, - base::WrapUnique(new base::Value(bad_search_url)), nullptr); + std::make_unique<base::Value>(bad_search_url), nullptr); UpdateProviderPolicy(policy); const base::Value* temp = nullptr; @@ -249,11 +249,10 @@ TEST_F(DefaultSearchPolicyHandlerTest, DisabledByPolicy) { PolicyMap policy; policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, - base::WrapUnique(new base::Value(false)), nullptr); + std::make_unique<base::Value>(false), nullptr); policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, - base::WrapUnique(new base::Value("http://a/?{searchTerms}")), - nullptr); + std::make_unique<base::Value>("http://a/?{searchTerms}"), nullptr); UpdateProviderPolicy(policy); const base::Value* temp = nullptr; // Ignore any other search provider related policy in this case. @@ -275,8 +274,7 @@ TEST_F(DefaultSearchPolicyHandlerTest, DisabledByPolicyNotSet) { PolicyMap policy; policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, - base::WrapUnique(new base::Value("http://a/?{searchTerms}")), - nullptr); + std::make_unique<base::Value>("http://a/?{searchTerms}"), nullptr); UpdateProviderPolicy(policy); const base::Value* temp = nullptr; EXPECT_FALSE(store_->GetValue( @@ -290,10 +288,10 @@ TEST_F(DefaultSearchPolicyHandlerTest, MinimallyDefined) { PolicyMap policy; policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, - base::WrapUnique(new base::Value(true)), nullptr); + std::make_unique<base::Value>(true), nullptr); policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, - base::WrapUnique(new base::Value(kSearchURL)), nullptr); + std::make_unique<base::Value>(kSearchURL), nullptr); UpdateProviderPolicy(policy); const base::Value* temp = nullptr; @@ -343,10 +341,10 @@ TEST_F(DefaultSearchPolicyHandlerTest, FileURL) { PolicyMap policy; policy.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, - base::WrapUnique(new base::Value(true)), nullptr); + std::make_unique<base::Value>(true), nullptr); policy.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, - base::WrapUnique(new base::Value(kFileSearchURL)), nullptr); + std::make_unique<base::Value>(kFileSearchURL), nullptr); UpdateProviderPolicy(policy); const base::Value* temp = nullptr; diff --git a/chromium/components/search_engines/keyword_web_data_service.cc b/chromium/components/search_engines/keyword_web_data_service.cc index 0a5e8035833..fd0df7464a4 100644 --- a/chromium/components/search_engines/keyword_web_data_service.cc +++ b/chromium/components/search_engines/keyword_web_data_service.cc @@ -136,9 +136,14 @@ void KeywordWebDataService::SetBuiltinKeywordVersion(int version) { base::Bind(&SetBuiltinKeywordVersionImpl, version)); } +void KeywordWebDataService::ShutdownOnUISequence() { + CommitQueuedOperations(); + WebDataServiceBase::ShutdownOnUISequence(); +} + KeywordWebDataService::~KeywordWebDataService() { DCHECK(!batch_mode_level_); - CommitQueuedOperations(); + DCHECK(queued_keyword_operations_.empty()); } void KeywordWebDataService::AdjustBatchModeLevel(bool entering_batch_mode) { diff --git a/chromium/components/search_engines/keyword_web_data_service.h b/chromium/components/search_engines/keyword_web_data_service.h index 2b4a16cfdbe..f3e23ca9e52 100644 --- a/chromium/components/search_engines/keyword_web_data_service.h +++ b/chromium/components/search_engines/keyword_web_data_service.h @@ -88,6 +88,9 @@ class KeywordWebDataService : public WebDataServiceBase { // Sets the version of the builtin keywords. void SetBuiltinKeywordVersion(int version); + // WebDataServiceBase: + void ShutdownOnUISequence() override; + protected: ~KeywordWebDataService() override; diff --git a/chromium/components/search_engines/prepopulated_engines.json b/chromium/components/search_engines/prepopulated_engines.json index b0474152926..d4679b35bdc 100644 --- a/chromium/components/search_engines/prepopulated_engines.json +++ b/chromium/components/search_engines/prepopulated_engines.json @@ -23,12 +23,12 @@ // When adding new engines, increment this number and use it as the new // max ID. This is used by UMA stats and must be updated to include the full // range or else not all engines will be counted in stats. - "kMaxPrepopulatedEngineID": 94, + "kMaxPrepopulatedEngineID": 100, // Increment this if you change the data in ways that mean users with // existing data should get a new version. Otherwise, existing data may // continue to be used and updates made here will not always appear. - "kCurrentDataVersion": 116 + "kCurrentDataVersion": 117 }, // The following engines are included in country lists and are added to the @@ -130,7 +130,7 @@ "alternate_urls": [ "https://go.mail.ru/msearch?q={searchTerms}&{mailru:referralID}" ], - "encoding": "windows-1251", + "new_tab_url": "https://go.mail.ru/chrome/newtab/", "suggest_url": "https://suggests.go.mail.ru/chrome?q={searchTerms}", "type": "SEARCH_ENGINE_MAILRU", "id": 83 @@ -156,12 +156,22 @@ "id": 94 }, - "seznam": { + "seznam_cz": { "name": "Seznam", "keyword": "seznam.cz", - "favicon_url": "https://search.seznam.cz/r/img/favicon.ico", + "favicon_url": "https://search.seznam.cz/favicon.ico", "search_url": "https://search.seznam.cz/?q={searchTerms}", - "suggest_url": "https://suggest.fulltext.seznam.cz/fulltext_ff?phrase={searchTerms}", + "suggest_url": "https://suggest.seznam.cz/fulltext_ff?phrase={searchTerms}", + "type": "SEARCH_ENGINE_SEZNAM", + "id": 25 + }, + + "seznam_sk": { + "name": "Seznam", + "keyword": "seznam.sk", + "favicon_url": "https://search.seznam.sk/favicon.ico", + "search_url": "https://search.seznam.sk/?q={searchTerms}", + "suggest_url": "https://suggest.seznam.sk/fulltext_ff?phrase={searchTerms}", "type": "SEARCH_ENGINE_SEZNAM", "id": 25 }, @@ -635,6 +645,7 @@ "alternate_urls": [ "http://hladaj.atlas.sk/fulltext/?phrase={searchTerms}" ], + "type": "SEARCH_ENGINE_ATLAS", "id": 27 }, @@ -731,6 +742,76 @@ "id": 60 }, + "givero": { + "name": "Givero", + "keyword": "givero.com", + "favicon_url": "https://www.givero.com/favicon.ico", + "search_url": "https://www.givero.com/search?q={searchTerms}", + "suggest_url": "https://www.givero.com/suggest?q={searchTerms}", + "type": "SEARCH_ENGINE_GIVERO", + "id": 95 + }, + + "gmx": { + "name": "GMX Search", + "keyword": "search.gmx.com", + "favicon_url": "https://dl.gmx.com/apps/favicon.ico", + "search_url": "https://search.gmx.com/web/result?q={searchTerms}&sp=b", + "suggest_url": "https://suggestplugin.gmx.com/s?q={searchTerms}&brand=gmxcom&enc={inputEncoding}&sp=b", + "type": "SEARCH_ENGINE_GMX", + "id": 96 + }, + + "gmx_at": { + "name": "GMX Suche", + "keyword": "suche.gmx.at", + "favicon_url": "https://dl.gmx.com/apps/favicon.ico", + "search_url": "https://suche.gmx.at/web/result?q={searchTerms}&sp=b", + "suggest_url": "https://suggestplugin.gmx.at/s?q={searchTerms}&brand=gmxat&enc={inputEncoding}&sp=b", + "type": "SEARCH_ENGINE_GMX", + "id": 96 + }, + + "gmx_de": { + "name": "GMX Suche", + "keyword": "suche.gmx.net", + "favicon_url": "https://dl.gmx.com/apps/favicon.ico", + "search_url": "https://suche.gmx.net/web/result?q={searchTerms}&sp=b", + "suggest_url": "https://suggestplugin.gmx.net/s?q={searchTerms}&brand=gmx&enc={inputEncoding}&sp=b", + "type": "SEARCH_ENGINE_GMX", + "id": 96 + }, + + "gmx_es": { + "name": "GMX Search", + "keyword": "search.gmx.es", + "favicon_url": "https://dl.gmx.com/apps/favicon.ico", + "search_url": "https://search.gmx.es/web/result?q={searchTerms}&sp=b", + "suggest_url": "https://suggestplugin.gmx.es/s?q={searchTerms}&brand=gmxes&enc={inputEncoding}&sp=b", + "type": "SEARCH_ENGINE_GMX", + "id": 96 + }, + + "gmx_fr": { + "name": "GMX Search", + "keyword": "search.gmx.fr", + "favicon_url": "https://dl.gmx.com/apps/favicon.ico", + "search_url": "https://search.gmx.fr/web/result?q={searchTerms}&sp=b", + "suggest_url": "https://suggestplugin.gmx.fr/s?q={searchTerms}&brand=gmxfr&enc={inputEncoding}&sp=b", + "type": "SEARCH_ENGINE_GMX", + "id": 96 + }, + + "gmx_gb": { + "name": "GMX Search", + "keyword": "search.gmx.co.uk", + "favicon_url": "https://dl.gmx.com/apps/favicon.ico", + "search_url": "https://search.gmx.co.uk/web/result?q={searchTerms}&sp=b", + "suggest_url": "https://suggestplugin.gmx.co.uk/s?q={searchTerms}&brand=gmxcouk&enc={inputEncoding}&sp=b", + "type": "SEARCH_ENGINE_GMX", + "id": 96 + }, + "goo": { "name": "goo", "keyword": "search.goo.ne.jp", @@ -792,6 +873,15 @@ "id": 74 }, + "info_com": { + "name": "Info.com", + "keyword": "info.com", + "favicon_url": "https://www.info.com/static/www.info.com/favicon.ico", + "search_url": "https://www.info.com/serp?q={searchTerms}&segment=info.0472", + "type": "SEARCH_ENGINE_INFO_COM", + "id": 97 + }, + "libero": { "name": "Libero", "keyword": "libero.it", @@ -802,6 +892,24 @@ "id": 63 }, + "metager_de": { + "name": "MetaGer", + "keyword": "metager.de", + "favicon_url": "https://metager.de/favicon.ico", + "search_url": "https://metager.de/meta/meta.ger3?eingabe={searchTerms}", + "type": "SEARCH_ENGINE_METAGER", + "id": 98 + }, + + "metager_gb": { + "name": "MetaGer", + "keyword": "metager.org", + "favicon_url": "https://metager.de/favicon.ico", + "search_url": "https://metager.org/meta/meta.ger3?eingabe={searchTerms}", + "type": "SEARCH_ENGINE_METAGER", + "id": 98 + }, + "neti": { "name": "NETI", "keyword": "neti.ee", @@ -827,6 +935,16 @@ "id": 43 }, + "oceanhero":{ + "name": "OceanHero", + "keyword": "oceanhero.today", + "favicon_url": "https://oceanhero.today/favicon.ico", + "search_url": "https://oceanhero.today/web?q={searchTerms}", + "suggest_url": "https://api.oceanhero.today/suggestions?q={searchTerms}", + "type": "SEARCH_ENGINE_OCEANHERO", + "id": 99 + }, + "ok": { "name": "OK.hu", "keyword": "ok.hu", @@ -837,6 +955,16 @@ "id": 6 }, + "privacywall": { + "name": "PrivacyWall", + "keyword": "privacywall.org", + "favicon_url": "https://www.privacywall.org/images/favicon32.ico", + "search_url": "https://www.privacywall.org/search/secure/?q={searchTerms}", + "suggest_url": "https://www.privacywall.org/search/suggest.php?q={searchTerms}", + "type": "SEARCH_ENGINE_PRIVACYWALL", + "id": 100 + }, + "rambler": { "name": "\u0420\u0430\u043c\u0431\u043b\u0435\u0440", "keyword": "rambler.ru", @@ -1009,5 +1137,9 @@ "type": "SEARCH_ENGINE_ZOZNAM", "id": 85 } + }, + + "generate_array": { + "array_name": "kAllEngines" } } diff --git a/chromium/components/search_engines/search_engine_type.h b/chromium/components/search_engines/search_engine_type.h index 50b5cb89680..ff303b8f304 100644 --- a/chromium/components/search_engines/search_engine_type.h +++ b/chromium/components/search_engines/search_engine_type.h @@ -67,6 +67,12 @@ enum SearchEngineType { SEARCH_ENGINE_DUCKDUCKGO, SEARCH_ENGINE_PARSIJOO, SEARCH_ENGINE_QWANT, + SEARCH_ENGINE_GIVERO, + SEARCH_ENGINE_GMX, + SEARCH_ENGINE_INFO_COM, + SEARCH_ENGINE_METAGER, + SEARCH_ENGINE_OCEANHERO, + SEARCH_ENGINE_PRIVACYWALL, SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro. }; diff --git a/chromium/components/search_engines/template_url_prepopulate_data.cc b/chromium/components/search_engines/template_url_prepopulate_data.cc index 5fd11a9daa8..afd8d81a177 100644 --- a/chromium/components/search_engines/template_url_prepopulate_data.cc +++ b/chromium/components/search_engines/template_url_prepopulate_data.cc @@ -204,7 +204,7 @@ const PrepopulatedEngine* const engines_CR[] = { // Czech Republic const PrepopulatedEngine* const engines_CZ[] = { &google, - &seznam, + &seznam_cz, &bing, &yahoo, }; @@ -889,96 +889,6 @@ const PrepopulatedEngine* const engines_ZW[] = { }; // ---------------------------------------------------------------------------- -// A list of all the engines that we know about. -const PrepopulatedEngine* const kAllEngines[] = { - // Prepopulated engines: - &ask, - &baidu, - &bing, - &coccoc, - &daum, - &duckduckgo, - &google, - &mail_ru, - &naver, - &qwant, - &seznam, - &sogou, - &yahoo, - &yahoo_ar, - &yahoo_at, - &yahoo_au, - &yahoo_br, - &yahoo_ca, - &yahoo_ch, - &yahoo_cl, - &yahoo_co, - &yahoo_de, - &yahoo_dk, - &yahoo_es, - &yahoo_fi, - &yahoo_fr, - &yahoo_hk, - &yahoo_id, - &yahoo_in, - &yahoo_jp, - &yahoo_mx, - &yahoo_my, - &yahoo_nl, - &yahoo_nz, - &yahoo_pe, - &yahoo_ph, - &yahoo_qc, - &yahoo_se, - &yahoo_sg, - &yahoo_th, - &yahoo_tr, - &yahoo_tw, - &yahoo_uk, - &yahoo_ve, - &yahoo_vn, - &yandex_by, - &yandex_com, - &yandex_kz, - &yandex_ru, - &yandex_tr, - &yandex_ua, - - // UMA-only engines: - &atlas_cz, - &atlas_sk, - &avg, - &babylon, - &conduit, - &delfi_lt, - &delfi_lv, - &delta, - &funmoods, - &goo, - &imesh, - &iminent, - &in, - &incredibar, - &libero, - &neti, - &nigma, - &ok, - &rambler, - &sapo, - &search_results, - &searchnu, - &snapdo, - &softonic, - &sweetim, - &sweetpacks, - &terra_ar, - &terra_es, - &tut, - &walla, - &wp, - &zoznam, -}; - std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulationSetFromCountryID( int country_id) { const PrepopulatedEngine* const* engines; @@ -1404,8 +1314,8 @@ std::vector<std::unique_ptr<TemplateURLData>> GetLocalPrepopulatedEngines( #endif std::vector<const PrepopulatedEngine*> GetAllPrepopulatedEngines() { - return std::vector<const PrepopulatedEngine*>(std::begin(kAllEngines), - std::end(kAllEngines)); + return std::vector<const PrepopulatedEngine*>( + &kAllEngines[0], &kAllEngines[0] + kAllEnginesLength); } void ClearPrepopulatedEnginesInPrefs(PrefService* prefs) { @@ -1442,7 +1352,7 @@ SearchEngineType GetEngineType(const GURL& url) { return google.type; // Now check the rest of the prepopulate data. - for (size_t i = 0; i < base::size(kAllEngines); ++i) { + for (size_t i = 0; i < kAllEnginesLength; ++i) { // First check the main search URL. if (SameDomain(url, GURL(kAllEngines[i]->search_url))) return kAllEngines[i]->type; |