chromium-browser-stable-test/0002-Yandex-as-default-search-engine.patch
2022-06-04 15:55:43 +03:00

160 lines
6.9 KiB
Diff

From 87a4a1ad7c32138dd2d87066417bddc63cbf7619 Mon Sep 17 00:00:00 2001
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date: Sun, 29 May 2022 22:31:21 +0300
Subject: [PATCH] Yandex as default search engine
Unfortunately, Google has commercially gone away from Russia, where most users of ROSA Linux are located.
Quality of google.ru search results seems to be degradating a bit.
I understand that Google develops Chromium, and so it would be fair if they got some money from adverstisment,
but, firstly, they have themselves stopped all ads in Russia,
secondly, influnce of Google is a bad thing because they have to take part in the information war.
The patch "Functional new tab page with non-Google search engines" makes chrome://new-tab-page work.
Yandex's URL which is patched here does not allow to add new items in to the quick access list
and shows advertisment of the proprietary Yandex browser. I do not want users to install it.
A simpler solution would be changing chromium-default-config.json like
http://git.osmesh.ru/MOS/mos-panel-desktop/src/commit/0f02deea4f7da5ee186433cc71a7ba0193a8f52d/kometa-std-desktop-1.1/chromium.json
but it would make Yandex.ru be the default even for not Russian users.
---
.../search_engines/prepopulated_engines.json | 9 ++++---
.../template_url_prepopulate_data.cc | 25 ++++++++++++++-----
2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
index 13572d4355..cc449a1ccb 100644
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -553,7 +553,7 @@
"suggest_url": "https://suggest.yandex.by/suggest-ff.cgi?part={searchTerms}&{google:cursorPosition}",
"image_url": "https://yandex.by/images/search/?rpt=imageview",
"image_url_post_params": "upfile={google:imageThumbnail},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight},prg=1",
- "new_tab_url": "https://www.yandex.by/chrome/newtab",
+ "new_tab_url": "chrome://new-tab-page",
"type": "SEARCH_ENGINE_YANDEX",
"id": 15
},
@@ -566,6 +566,7 @@
"suggest_url": "https://suggest.yandex.com/suggest-ff.cgi?part={searchTerms}&{google:cursorPosition}&uil=en&v=3&sn=5",
"image_url": "https://yandex.com/images/search?rpt=imageview",
"image_url_post_params": "upfile={google:imageThumbnail},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight},prg=1",
+ "new_tab_url": "chrome://new-tab-page",
"type": "SEARCH_ENGINE_YANDEX",
"id": 15
},
@@ -579,7 +580,7 @@
"suggest_url": "https://suggest.yandex.kz/suggest-ff.cgi?part={searchTerms}&{google:cursorPosition}",
"image_url": "https://yandex.kz/images/search/?rpt=imageview",
"image_url_post_params": "upfile={google:imageThumbnail},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight},prg=1",
- "new_tab_url": "https://www.yandex.kz/chrome/newtab",
+ "new_tab_url": "chrome://new-tab-page",
"type": "SEARCH_ENGINE_YANDEX",
"id": 15
},
@@ -593,7 +594,7 @@
"suggest_url": "https://suggest.yandex.ru/suggest-ff.cgi?part={searchTerms}&{google:cursorPosition}",
"image_url": "https://yandex.ru/images/search/?rpt=imageview",
"image_url_post_params": "upfile={google:imageThumbnail},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight},prg=1",
- "new_tab_url": "https://www.yandex.ru/chrome/newtab",
+ "new_tab_url": "chrome://new-tab-page",
"type": "SEARCH_ENGINE_YANDEX",
"id": 15
},
@@ -606,7 +607,7 @@
"suggest_url": "https://suggest.yandex.com.tr/suggest-ff.cgi?part={searchTerms}&{google:cursorPosition}",
"image_url": "https://yandex.com.tr/gorsel/search?rpt=imageview",
"image_url_post_params": "upfile={google:imageThumbnail},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight},prg=1",
- "new_tab_url": "https://www.yandex.com.tr/chrome/newtab",
+ "new_tab_url": "chrome://new-tab-page",
"type": "SEARCH_ENGINE_YANDEX",
"id": 15
},
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
index e38343c221..9a421c6313 100644
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -28,6 +28,7 @@ namespace {
// Default (for countries with no better engine set)
const PrepopulatedEngine* const engines_default[] = {
+ &yandex_com,
&google,
&bing,
&yahoo,
@@ -155,8 +156,8 @@ const PrepopulatedEngine* const engines_BR[] = {
// Belarus
const PrepopulatedEngine* const engines_BY[] = {
- &google,
&yandex_by,
+ &google,
&mail_ru,
&bing,
&duckduckgo,
@@ -434,10 +435,10 @@ const PrepopulatedEngine* const engines_IN[] = {
// Iraq
const PrepopulatedEngine* const engines_IQ[] = {
+ &yandex_tr,
&google,
&bing,
&yahoo,
- &yandex_tr,
&duckduckgo,
};
@@ -524,8 +525,8 @@ const PrepopulatedEngine* const engines_KW[] = {
// Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = {
- &google,
&yandex_kz,
+ &google,
&mail_ru,
&bing,
&duckduckgo,
@@ -794,8 +795,8 @@ const PrepopulatedEngine* const engines_RS[] = {
// Russia
const PrepopulatedEngine* const engines_RU[] = {
- &google,
&yandex_ru,
+ &google,
&mail_ru,
&bing,
&duckduckgo,
@@ -893,8 +894,8 @@ const PrepopulatedEngine* const engines_TN[] = {
// Turkey
const PrepopulatedEngine* const engines_TR[] = {
- &google,
&yandex_tr,
+ &google,
&yahoo_tr,
&bing,
&duckduckgo,
@@ -1381,7 +1382,19 @@ std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
t_urls = GetPrepopulationSetFromCountryID(
country_codes::GetCountryIDFromPrefs(prefs));
}
- if (default_search_provider_index) {
+ /* Making yandex_ru be the first in "const PrepopulatedEngine* const engines_RU[]"
+ * makes it be the first item in chrome://settings/search,
+ * but Google is still chosen by default.
+ * I did not understand this code really well, probably it calculates the distance
+ * between 0 and Google's position. So, as a hack, assume that yandex_ru
+ * is the first in that list (this patch made it be the first) to force the first element
+ * of engine_RU[] to become the real default search engine.
+ */
+ int is_russian = strcmp(getenv("LANG"), "ru_RU.UTF-8");
+ if (default_search_provider_index && (is_russian == 0)) {
+ *default_search_provider_index = 0; /* if LANG == ru_RU.UTF-8 */
+ }
+ if (default_search_provider_index && (is_russian != 0)) {
const auto itr = std::find_if(
t_urls.begin(), t_urls.end(),
[](const auto& t_url) { return t_url->prepopulate_id == google.id; });
--
2.35.2