From 24fca3c63c8240c9e4214163947f71a404300ac1 Mon Sep 17 00:00:00 2001 From: tigro Date: Tue, 27 Aug 2024 14:43:09 +0300 Subject: [PATCH] Added Yandex search bar as default on newtab and new-tab-page --- chrome/app/generated_resources.grd | 2 -- chrome/app/resources/generated_resources_be.xtb | 4 ++-- chrome/app/resources/generated_resources_en-GB.xtb | 2 +- chrome/app/resources/generated_resources_ru.xtb | 2 +- chrome/app/resources/generated_resources_uk.xtb | 2 +- chrome/browser/history/top_sites_factory.cc | 4 ++-- .../browser/resources/new_tab_page/lens_form.html | 1 + chrome/browser/resources/new_tab_page/lens_form.ts | 6 +++--- .../resources/new_tab_page/lens_upload_dialog.css | 2 +- .../resources/new_tab_page/lens_upload_dialog.html | 8 ++++---- chrome/browser/resources/new_tab_page/logo.css | 5 +---- chrome/browser/resources/new_tab_page/logo.ts | 2 +- chrome/browser/search/search.cc | 7 +++++++ chrome/browser/search/search.h | 2 ++ .../ui/webui/new_tab_page/new_tab_page_ui.cc | 5 +++++ components/search/search.cc | 14 ++++++++++++++ components/search/search.h | 7 +++++++ components/search_engines/keyword_table.cc | 4 ++++ .../search_engines/prepopulated_engines.json | 11 ++++++----- .../search_engines/search_engine_countries-inc.cc | 9 +++++---- .../search_engines/template_url_data_util.cc | 6 +++++- .../template_url_prepopulate_data.cc | 9 ++++++++- .../resources/cr_components/searchbox/realbox.html | 7 +++++++ 23 files changed, 88 insertions(+), 33 deletions(-) diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index 366de3cb51..f1b7148608 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -7742,10 +7742,8 @@ Keep your key file in a safe place. You will need it to create new versions of y - Search Google or type a URL - Search Google Add to your search diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb index cf57c86031..5c700fad3d 100644 --- a/chrome/app/resources/generated_resources_be.xtb +++ b/chrome/app/resources/generated_resources_be.xtb @@ -9669,7 +9669,7 @@ Стварайце рэзервовыя копіі сваіх даных, каб іх можна было выкарыстоўваць на іншых прыладах Стварыце ярлык на працоўным стале прылады, каб мець прамы доступ да гэтага профілю Падключыце клавіятуру або мыш. Калі вы выкарыстоўваеце прылады з Bluetooth, упэўніцеся, што яны гатовыя да спалучэння. -Шукайце відарысы з дапамогай Google Аб’ектыва +Шукайце відарысы У Google пашырэнне "" абазначана як шкоднае. Яго ўсталяванне было прадухілена Адваротная прагортка сэнсарнай панэллю Камерцыйнае падпісванне кода ў Microsoft @@ -11412,4 +11412,4 @@ Пры наведванні сайтаў яны будуць аўтаматычна ўлічваць гэту наладу. Звычайна сайты адпраўляюць апавяшчэнні, каб паведаміць вам пра экстранныя навіны або новыя паведамленні ў чаце. Каб выкарыстоўваць функцыю сінхранізацыі параметраў Wi-Fi, уключыце Сінхранізацыю Chrome. Даведацца больш Пра&верыць - \ No newline at end of file + diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb index c637034755..94eb5e6a86 100644 --- a/chrome/app/resources/generated_resources_en-GB.xtb +++ b/chrome/app/resources/generated_resources_en-GB.xtb @@ -9680,7 +9680,7 @@ Keep your key file in a safe place. You will need it to create new versions of y Back up your stuff and use it on any device Create a desktop shortcut on your device to access directly to this profile Connect a keyboard or mouse. If you are using Bluetooth devices, make sure that your devices are ready to pair. -Search any image with Google Lens +Search any image Google has flagged '' as malicious, and installation has been prevented Touchpad reverse scrolling Microsoft Commercial Code Signing diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb index 759b1346db..27e6f4b72c 100644 --- a/chrome/app/resources/generated_resources_ru.xtb +++ b/chrome/app/resources/generated_resources_ru.xtb @@ -9673,7 +9673,7 @@ Создайте резервную копию данных и используйте их на любом устройстве. Чтобы быстро переключаться на этот профиль, создайте ярлык на рабочем столе Подключите мышь или клавиатуру. Если вы используете устройства Bluetooth, убедитесь, что они готовы к подключению. -Ищите по изображениям с Google Объективом +Ищите по изображениям Google заблокировал установку потенциально опасной программы (). Обратное направление прокрутки с помощью сенсорной панели Подписывание коммерческого кода Microsoft diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb index 34039a1a6d..84b33f4e51 100644 --- a/chrome/app/resources/generated_resources_uk.xtb +++ b/chrome/app/resources/generated_resources_uk.xtb @@ -9683,7 +9683,7 @@ Створюйте резервні копії даних і використовуйте їх на будь-якому пристрої Створити ярлик на робочому столі, щоб відразу переходити до цього профілю Підключіть клавіатуру або мишу. Якщо ви користуєтеся пристроями з Bluetooth, переконайтеся, що вони готові до підключення. -Шукайте будь-яке зображення через Google Об’єктив +Шукайте будь-яке зображення Система Google позначила розширення як шкідливе та заборонила встановлення Зворотне прокручування на сенсорній панелі Підписування комерційного коду Microsoft diff --git a/chrome/browser/history/top_sites_factory.cc b/chrome/browser/history/top_sites_factory.cc index 0da9ce7baf..7ade1ebfe1 100644 --- a/chrome/browser/history/top_sites_factory.cc +++ b/chrome/browser/history/top_sites_factory.cc @@ -54,7 +54,7 @@ struct RawPrepopulatedPage { // roughly match favicon). }; -#if !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_ANDROID) && 0 // no prepopulated // Android does not use prepopulated pages. const RawPrepopulatedPage kRawPrepopulatedPages[] = { { @@ -69,7 +69,7 @@ const RawPrepopulatedPage kRawPrepopulatedPages[] = { void InitializePrepopulatedPageList( Profile* profile, history::PrepopulatedPageList* prepopulated_pages) { -#if !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_ANDROID) && 0 // no prepopulated DCHECK(prepopulated_pages); PrefService* pref_service = profile->GetPrefs(); bool hide_web_store_icon = diff --git a/chrome/browser/resources/new_tab_page/lens_form.html b/chrome/browser/resources/new_tab_page/lens_form.html index 72bd92c5ab..2604d9c0dd 100644 --- a/chrome/browser/resources/new_tab_page/lens_form.html +++ b/chrome/browser/resources/new_tab_page/lens_form.html @@ -11,6 +11,7 @@
+ diff --git a/chrome/browser/resources/new_tab_page/lens_form.ts b/chrome/browser/resources/new_tab_page/lens_form.ts index db3180269e..5a30a2de0d 100644 --- a/chrome/browser/resources/new_tab_page/lens_form.ts +++ b/chrome/browser/resources/new_tab_page/lens_form.ts @@ -11,14 +11,14 @@ import {getCss} from './lens_form.css.js'; import {getHtml} from './lens_form.html.js'; /** Lens service endpoint for the Upload by File action. */ -const SCOTTY_UPLOAD_FILE_ACTION: string = 'https://lens.google.com/upload'; -const DIRECT_UPLOAD_FILE_ACTION: string = 'https://lens.google.com/v3/upload'; +const SCOTTY_UPLOAD_FILE_ACTION: string = 'https://yandex.ru/images/search'; +const DIRECT_UPLOAD_FILE_ACTION: string = 'https://yandex.ru/images/search'; /** Entrypoint for the upload by file action. */ const UPLOAD_FILE_ENTRYPOINT: string = 'cntpubb'; /** Lens service endpoint for the Upload by URL action. */ -const UPLOAD_BY_URL_ACTION: string = 'https://lens.google.com/uploadbyurl'; +const UPLOAD_BY_URL_ACTION: string = 'https://yandex.ru/images/search'; /** Entrypoint for the upload by url action. */ const UPLOAD_URL_ENTRYPOINT: string = 'cntpubu'; diff --git a/chrome/browser/resources/new_tab_page/lens_upload_dialog.css b/chrome/browser/resources/new_tab_page/lens_upload_dialog.css index bde20d9920..ef6dfbdd24 100644 --- a/chrome/browser/resources/new_tab_page/lens_upload_dialog.css +++ b/chrome/browser/resources/new_tab_page/lens_upload_dialog.css @@ -109,7 +109,7 @@ display: flex; flex-direction: column; flex-grow: 1; - height: 280px; + height: 110px; padding: 20px; position: relative; width: 100%; diff --git a/chrome/browser/resources/new_tab_page/lens_upload_dialog.html b/chrome/browser/resources/new_tab_page/lens_upload_dialog.html index c406c42ed3..3ab96ac7ca 100644 --- a/chrome/browser/resources/new_tab_page/lens_upload_dialog.html +++ b/chrome/browser/resources/new_tab_page/lens_upload_dialog.html @@ -22,7 +22,7 @@ ` : ''} ${this.isNormalOrError_ ? html` -
+
-
+
AddBoolean("modulesRedesignedEnabled", redesigned_modules_enabled); + source->AddBoolean( + "googleLensForYandex", + search::DefaultSearchProviderIsYandex(profile)); + SearchboxHandler::SetupWebUIDataSource( source, profile, /*enable_voice_search=*/true, diff --git a/components/search/search.cc b/components/search/search.cc index a7167fae92..67d36156c5 100644 --- a/components/search/search.cc +++ b/components/search/search.cc @@ -34,4 +34,18 @@ bool TemplateURLIsGoogle(const TemplateURL* template_url, template_url->GetEngineType(search_terms_data) == SEARCH_ENGINE_GOOGLE; } +bool DefaultSearchProviderIsYandex( + const TemplateURLService* template_url_service) { + if (!template_url_service) + return false; + return TemplateURLIsYandex(template_url_service->GetDefaultSearchProvider(), + template_url_service->search_terms_data()); +} + +bool TemplateURLIsYandex(const TemplateURL* template_url, + const SearchTermsData& search_terms_data) { + return template_url != nullptr && + template_url->GetEngineType(search_terms_data) == SEARCH_ENGINE_YANDEX; +} + } // namespace search diff --git a/components/search/search.h b/components/search/search.h index 98572faa77..cfb6727848 100644 --- a/components/search/search.h +++ b/components/search/search.h @@ -22,6 +22,13 @@ bool DefaultSearchProviderIsGoogle( // Returns whether supplied template URL is Google template URL. bool TemplateURLIsGoogle(const TemplateURL* template_url, const SearchTermsData& search_terms_data); + +bool DefaultSearchProviderIsYandex( + const TemplateURLService* template_url_service); + +// Returns whether supplied template URL is Google template URL. +bool TemplateURLIsYandex(const TemplateURL* template_url, + const SearchTermsData& search_terms_data); } // namespace search #endif // COMPONENTS_SEARCH_SEARCH_H_ diff --git a/components/search_engines/keyword_table.cc b/components/search_engines/keyword_table.cc index d4f6038697..b493d4c587 100644 --- a/components/search_engines/keyword_table.cc +++ b/components/search_engines/keyword_table.cc @@ -173,7 +173,9 @@ void BindURLToStatement(const TemplateURLData& data, s->BindString(starting_column + 16, data.search_url_post_params); s->BindString(starting_column + 17, data.suggestions_url_post_params); s->BindString(starting_column + 18, data.image_url_post_params); +#if 0 // Disable new tab overriding by search engines s->BindString(starting_column + 19, data.new_tab_url); +#endif s->BindTime(starting_column + 20, data.last_visited); s->BindBool(starting_column + 21, data.created_from_play_api); s->BindInt(starting_column + 22, static_cast(data.is_active)); @@ -543,7 +545,9 @@ bool KeywordTable::GetKeywordDataFromStatement(sql::Statement& s, data->SetURL(s.ColumnString(4)); data->suggestions_url = s.ColumnString(10); data->image_url = s.ColumnString(16); +#if 0 // Disable new tab overriding by search engines data->new_tab_url = s.ColumnString(20); +#endif data->search_url_post_params = s.ColumnString(17); data->suggestions_url_post_params = s.ColumnString(18); data->image_url_post_params = s.ColumnString(19); diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json index 889d15f789..eb41d59f3c 100644 --- a/components/search_engines/prepopulated_engines.json +++ b/components/search_engines/prepopulated_engines.json @@ -673,7 +673,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 }, @@ -686,6 +686,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 }, @@ -699,7 +700,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 }, @@ -713,7 +714,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 }, @@ -726,7 +727,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 }, @@ -740,7 +741,7 @@ "suggest_url": "https://suggest.yandex.ua/suggest-ff.cgi?part={searchTerms}&{google:cursorPosition}", "image_url": "https://yandex.ua/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.ua/chrome/newtab", + "new_tab_url": "chrome://new-tab-page", "type": "SEARCH_ENGINE_YANDEX", "id": 15 }, diff --git a/components/search_engines/search_engine_countries-inc.cc b/components/search_engines/search_engine_countries-inc.cc index 6c8ffb9e7d..417cb0009c 100644 --- a/components/search_engines/search_engine_countries-inc.cc +++ b/components/search_engines/search_engine_countries-inc.cc @@ -33,6 +33,7 @@ struct EngineAndTier { // Default (for countries with no better engine set) constexpr EngineAndTier engines_default[] = { + {SearchEngineTier::kTopEngines, &yandex_com}, {SearchEngineTier::kTopEngines, &google}, {SearchEngineTier::kTopEngines, &bing}, {SearchEngineTier::kTopEngines, &yahoo}, @@ -169,8 +170,8 @@ constexpr EngineAndTier engines_BR[] = { // Belarus constexpr EngineAndTier engines_BY[] = { - {SearchEngineTier::kTopEngines, &google}, {SearchEngineTier::kTopEngines, &yandex_by}, + {SearchEngineTier::kTopEngines, &google}, {SearchEngineTier::kTopEngines, &bing}, {SearchEngineTier::kTopEngines, &duckduckgo}, {SearchEngineTier::kTopEngines, &mail_ru}, @@ -494,9 +495,9 @@ constexpr EngineAndTier engines_IN[] = { // Iraq constexpr EngineAndTier engines_IQ[] = { + {SearchEngineTier::kTopEngines, &yandex_tr}, {SearchEngineTier::kTopEngines, &google}, {SearchEngineTier::kTopEngines, &bing}, - {SearchEngineTier::kTopEngines, &yandex_tr}, {SearchEngineTier::kTopEngines, &yahoo}, {SearchEngineTier::kTopEngines, &duckduckgo}, }; @@ -590,8 +591,8 @@ constexpr EngineAndTier engines_KW[] = { // Kazakhstan constexpr EngineAndTier engines_KZ[] = { - {SearchEngineTier::kTopEngines, &google}, {SearchEngineTier::kTopEngines, &yandex_kz}, + {SearchEngineTier::kTopEngines, &google}, {SearchEngineTier::kTopEngines, &bing}, {SearchEngineTier::kTopEngines, &mail_ru}, {SearchEngineTier::kTopEngines, &yahoo}, @@ -1007,8 +1008,8 @@ constexpr EngineAndTier engines_TN[] = { // Turkey constexpr EngineAndTier engines_TR[] = { - {SearchEngineTier::kTopEngines, &google}, {SearchEngineTier::kTopEngines, &yandex_tr}, + {SearchEngineTier::kTopEngines, &google}, {SearchEngineTier::kTopEngines, &yahoo_tr}, {SearchEngineTier::kTopEngines, &bing}, {SearchEngineTier::kTopEngines, &duckduckgo}, diff --git a/components/search_engines/template_url_data_util.cc b/components/search_engines/template_url_data_util.cc index 6f85515188..0657dc9d5a 100644 --- a/components/search_engines/template_url_data_util.cc +++ b/components/search_engines/template_url_data_util.cc @@ -75,10 +75,12 @@ std::unique_ptr TemplateURLDataFromDictionary( if (string_value) { result->image_translate_url = *string_value; } +#if 0 // Disable new tab overriding by search engines string_value = dict.FindString(DefaultSearchManager::kNewTabURL); if (string_value) { result->new_tab_url = *string_value; } +#endif string_value = dict.FindString(DefaultSearchManager::kContextualSearchURL); if (string_value) { result->contextual_search_url = *string_value; @@ -347,7 +349,7 @@ std::unique_ptr TemplateURLDataFromPrepopulatedEngine( ToStringPiece(engine.search_url), ToStringPiece(engine.suggest_url), ToStringPiece(engine.image_url), ToStringPiece(engine.image_translate_url), - ToStringPiece(engine.new_tab_url), + ToStringPiece(nullptr), //ToStringPiece(engine.new_tab_url), ToStringPiece(engine.contextual_search_url), ToStringPiece(engine.logo_url), ToStringPiece(engine.doodle_url), ToStringPiece(engine.search_url_post_params), @@ -438,10 +440,12 @@ std::unique_ptr TemplateURLDataFromOverrideDictionary( if (string_value) { image_translate_url = *string_value; } +#if 0 // Disable new tab overriding by search engines string_value = engine_dict.FindString("new_tab_url"); if (string_value) { new_tab_url = *string_value; } +#endif string_value = engine_dict.FindString("contextual_search_url"); if (string_value) { contextual_search_url = *string_value; diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc index 964626cc24..d4d09dc1bd 100644 --- a/components/search_engines/template_url_prepopulate_data.cc +++ b/components/search_engines/template_url_prepopulate_data.cc @@ -81,6 +81,13 @@ GetPrepopulatedEnginesForEeaRegionCountries(int country_id, std::shuffle(t_urls.begin(), t_urls.end(), generator); CHECK_LE(t_urls.size(), kMaxEeaPrepopulatedEngines); + + const auto itr = + base::ranges::find(t_urls, yandex_ru.id, &TemplateURLData::prepopulate_id); + if (itr == t_urls.end()) { + t_urls.push_back(TemplateURLDataFromPrepopulatedEngine(yandex_com)); + } + return t_urls; } @@ -323,7 +330,7 @@ std::unique_ptr GetPrepopulatedFallbackSearch( PrefService* prefs, search_engines::SearchEngineChoiceService* search_engine_choice_service) { return FindPrepopulatedEngineInternal(prefs, search_engine_choice_service, - google.id, + yandex_ru.id, /*use_first_as_fallback=*/true); } diff --git a/ui/webui/resources/cr_components/searchbox/realbox.html b/ui/webui/resources/cr_components/searchbox/realbox.html index 6dce798dcc..0f6ee046fb 100644 --- a/ui/webui/resources/cr_components/searchbox/realbox.html +++ b/ui/webui/resources/cr_components/searchbox/realbox.html @@ -1,4 +1,11 @@