You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chromium/SOURCES/0001-Added-Yandex-search-ba...

638 lines
34 KiB

From 68d8154734023ebc37fb4b87ab7a7fd6d2815bd2 Mon Sep 17 00:00:00 2001
From: Sergey Cherevko <s.cherevko@msvsphere-os.ru>
Date: Fri, 14 Jun 2024 18:36:08 +0300
Subject: [PATCH] Added Yandex search bar as default on newtab and new-tab-page
---
chrome/app/generated_resources.grd | 2 --
.../app/resources/generated_resources_be.xtb | 4 ++--
.../resources/generated_resources_en-GB.xtb | 4 ++--
.../app/resources/generated_resources_ru.xtb | 4 ++--
.../app/resources/generated_resources_uk.xtb | 4 ++--
chrome/browser/history/top_sites_factory.cc | 4 ++--
.../resources/new_tab_page/lens_form.html | 1 +
.../resources/new_tab_page/lens_form.ts | 20 ++++++++++++++++++-
.../new_tab_page/lens_upload_dialog.html | 10 +++++-----
.../browser/resources/new_tab_page/logo.html | 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_engine_countries-inc.cc | 11 +++++-----
.../search_engines/template_url_data_util.cc | 6 +++++-
.../template_url_prepopulate_data.cc | 15 ++++++++------
.../cr_components/searchbox/realbox.html | 7 +++++++
22 files changed, 109 insertions(+), 40 deletions(-)
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index b54ec8a465..4043570c4b 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -7708,10 +7708,8 @@ Keep your key file in a safe place. You will need it to create new versions of y
<!-- NTP -->
<message name="IDS_GOOGLE_SEARCH_BOX_EMPTY_HINT_MD" desc="The text displayed in the fakebox (on the New Tab page) when it is empty, Google is the default search engine, and the Material Design UI is enabled.">
- Search Google or type a URL
</message>
<message name="IDS_GOOGLE_SEARCH_BOX_EMPTY_HINT_SHORT" desc="The text displayed in the fakebox (on the New Tab page) when it is empty, Google is the default search engine, and short hint text is enabled.">
- Search Google
</message>
<message name="IDS_GOOGLE_SEARCH_BOX_EMPTY_HINT_MULTIMODAL" desc="The text displayed in the multimodal searchbox when it is empty. It is meant to invite the user to add a text query to the existing image query in order to issue a 'multimodal' (image + text) query.">
Add to your search
diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb
index e6f66c5fdd..15e1e75fdf 100644
--- a/chrome/app/resources/generated_resources_be.xtb
+++ b/chrome/app/resources/generated_resources_be.xtb
@@ -9407,7 +9407,7 @@
<translation id="8048728378294435881">Стварайце рэзервовыя копіі сваіх даных, каб іх можна было выкарыстоўваць на іншых прыладах</translation>
<translation id="8048977114738515028">Стварыце ярлык на працоўным стале прылады, каб мець прамы доступ да гэтага профілю</translation>
<translation id="8049029041626250638">Падключыце клавіятуру або мыш. Калі вы выкарыстоўваеце прылады з Bluetooth, упэўніцеся, што яны гатовыя да спалучэння.</translation>
-<translation id="8049122382261047457">Шукайце відарысы з дапамогай Google Аб'ектыва</translation>
+<translation id="8049122382261047457">Шукайце відарысы</translation>
<translation id="8049705080247101012">У Google пашырэнне "<ph name="EXTENSION_NAME" />" абазначана як шкоднае. Яго ўсталяванне было прадухілена</translation>
<translation id="8049948037269924837">Адваротная прагортка сэнсарнай панэллю</translation>
<translation id="8050038245906040378">Камерцыйнае падпісванне кода ў Microsoft</translation>
@@ -11112,4 +11112,4 @@
<translation id="997143476478634194">Пры наведванні сайтаў яны будуць аўтаматычна ўлічваць гэту наладу. Звычайна сайты адпраўляюць апавяшчэнні, каб паведаміць вам пра экстранныя навіны або новыя паведамленні ў чаце.</translation>
<translation id="99731366405731005">Каб выкарыстоўваць функцыю сінхранізацыі параметраў Wi-Fi, уключыце <ph name="LINK1_BEGIN" />Сінхранізацыю Chrome<ph name="LINK1_END" />. <ph name="LINK2_BEGIN" />Даведацца больш<ph name="LINK2_END" /></translation>
<translation id="998747458861718449">Пра&amp;верыць</translation>
-</translationbundle>
\ No newline at end of file
+</translationbundle>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index 16706b18e5..f1393a6bf8 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -9421,7 +9421,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
<translation id="8048728378294435881">Back up your stuff and use it on any device</translation>
<translation id="8048977114738515028">Create a desktop shortcut on your device to access directly to this profile</translation>
<translation id="8049029041626250638">Connect a keyboard or mouse. If you are using Bluetooth devices, make sure that your devices are ready to pair.</translation>
-<translation id="8049122382261047457">Search any image with Google Lens</translation>
+<translation id="8049122382261047457">Search any image</translation>
<translation id="8049705080247101012">Google has flagged '<ph name="EXTENSION_NAME" />' as malicious, and installation has been prevented</translation>
<translation id="8049948037269924837">Touchpad reverse scrolling</translation>
<translation id="8050038245906040378">Microsoft Commercial Code Signing</translation>
@@ -11126,4 +11126,4 @@ Permissions that you've already given to websites and apps may apply to this acc
<translation id="997143476478634194">Sites automatically follow this setting when you visit them. Sites usually send notifications to let you know about breaking news or chat messages.</translation>
<translation id="99731366405731005">Turn on <ph name="LINK1_BEGIN" />Chrome Sync<ph name="LINK1_END" /> to use Wi-Fi Sync. <ph name="LINK2_BEGIN" />Learn more<ph name="LINK2_END" /></translation>
<translation id="998747458861718449">I&amp;nspect</translation>
-</translationbundle>
\ No newline at end of file
+</translationbundle>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index a048aeac98..9363e6bc96 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -9412,7 +9412,7 @@
<translation id="8048728378294435881">Создайте резервную копию данных и используйте их на любом устройстве.</translation>
<translation id="8048977114738515028">Чтобы быстро переключаться на этот профиль, создайте ярлык на рабочем столе</translation>
<translation id="8049029041626250638">Подключите мышь или клавиатуру. Если вы используете устройства Bluetooth, убедитесь, что они готовы к подключению.</translation>
-<translation id="8049122382261047457">Ищите по изображениям с Google Объективом</translation>
+<translation id="8049122382261047457">Ищите по изображениям</translation>
<translation id="8049705080247101012">Google заблокировал установку потенциально опасной программы (<ph name="EXTENSION_NAME" />).</translation>
<translation id="8049948037269924837">Обратное направление прокрутки с помощью сенсорной панели</translation>
<translation id="8050038245906040378">Подписывание коммерческого кода Microsoft</translation>
@@ -11120,4 +11120,4 @@
<translation id="997143476478634194">Когда вы посещаете сайты, эти настройки используются автоматически. Обычно сайты показывают уведомления, чтобы оповестить вас о сообщениях в чате или срочных новостях.</translation>
<translation id="99731366405731005">Чтобы использовать функцию "Синхронизация Wi-Fi", включите <ph name="LINK1_BEGIN" />синхронизацию Chrome<ph name="LINK1_END" />. <ph name="LINK2_BEGIN" />Подробнее…<ph name="LINK2_END" /></translation>
<translation id="998747458861718449">П&amp;росмотреть код</translation>
-</translationbundle>
\ No newline at end of file
+</translationbundle>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index fa169a612c..751be07c7c 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -9426,7 +9426,7 @@
<translation id="8048728378294435881">Створюйте резервні копії даних і використовуйте їх на будь-якому пристрої</translation>
<translation id="8048977114738515028">Створити ярлик на робочому столі, щоб відразу переходити до цього профілю</translation>
<translation id="8049029041626250638">Підключіть клавіатуру або мишу. Якщо ви користуєтеся пристроями з Bluetooth, переконайтеся, що вони готові до підключення.</translation>
-<translation id="8049122382261047457">Шукайте будь-яке зображення через Google Об’єктив</translation>
+<translation id="8049122382261047457">Шукайте будь-яке зображення</translation>
<translation id="8049705080247101012">Система Google позначила розширення <ph name="EXTENSION_NAME" /> як шкідливе та заборонила встановлення</translation>
<translation id="8049948037269924837">Зворотне прокручування на сенсорній панелі</translation>
<translation id="8050038245906040378">Підписування комерційного коду Microsoft</translation>
@@ -11134,4 +11134,4 @@
<translation id="997143476478634194">Коли ви відвідуєте сайти, вони автоматично дотримуються цього налаштування. Зазвичай сайти надсилають сповіщення, щоб інформувати про важливі новини або повідомлення в чаті.</translation>
<translation id="99731366405731005">Щоб користуватися синхронізацією Wi-Fi, потрібно ввімкнути <ph name="LINK1_BEGIN" />Синхронізацію Chrome<ph name="LINK1_END" />. <ph name="LINK2_BEGIN" />Докладніше<ph name="LINK2_END" /></translation>
<translation id="998747458861718449">Перевірити</translation>
-</translationbundle>
\ No newline at end of file
+</translationbundle>
diff --git a/chrome/browser/history/top_sites_factory.cc b/chrome/browser/history/top_sites_factory.cc
index 8f20a76a66..d1a13e7046 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 57c6387c7e..0f31a59767 100644
--- a/chrome/browser/resources/new_tab_page/lens_form.html
+++ b/chrome/browser/resources/new_tab_page/lens_form.html
@@ -18,6 +18,7 @@
<form id="urlForm"
action="[[uploadUrlAction_]]"
method="GET">
+ <input name="rpt" value="imageview"></input>
<input name="url" value="[[uploadUrl_]]"></input>
<input name="ep" value="[[uploadUrlEntrypoint_]]"></input>
<input name="hl" value="[[language_]]"></input>
diff --git a/chrome/browser/resources/new_tab_page/lens_form.ts b/chrome/browser/resources/new_tab_page/lens_form.ts
index bf24f4c495..53fd771d7d 100644
--- a/chrome/browser/resources/new_tab_page/lens_form.ts
+++ b/chrome/browser/resources/new_tab_page/lens_form.ts
@@ -12,11 +12,15 @@ import {getTemplate} 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_YA: string = 'https://yandex.ru/images/search';
+const DIRECT_UPLOAD_FILE_ACTION_YA: 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_YA: string = 'https://yandex.ru/images/search';
const UPLOAD_BY_URL_ACTION: string = 'https://lens.google.com/uploadbyurl';
/** Entrypoint for the upload by url action. */
@@ -74,6 +78,7 @@ export class LensFormElement extends PolymerElement {
}
static get properties() {
+ let isYandex = loadTimeData.getBoolean('googleLensForYandex');
return {
supportedFileTypes_: {
type: String,
@@ -99,7 +104,7 @@ export class LensFormElement extends PolymerElement {
uploadUrlAction_: {
type: String,
readOnly: true,
- value: UPLOAD_BY_URL_ACTION,
+ value: ((isYandex == true)?UPLOAD_BY_URL_ACTION_YA:UPLOAD_BY_URL_ACTION),
},
uploadUrl_: String,
uploadUrlEntrypoint_: {
@@ -117,6 +122,11 @@ export class LensFormElement extends PolymerElement {
readOnly: true,
value: loadTimeData.getString('realboxLensVariations'),
},
+ useYandexForPics_: {
+ type: Boolean,
+ readOnly: true,
+ value: isYandex,
+ },
};
}
@@ -126,6 +136,7 @@ export class LensFormElement extends PolymerElement {
private startTime_: string|null = null;
private clientData_: string;
private useDirectUpload_: boolean;
+ private isYandexProp_: boolean = loadTimeData.getBoolean('googleLensForYandex');
openSystemFilePicker() {
this.$.fileInput.click();
@@ -153,6 +164,11 @@ export class LensFormElement extends PolymerElement {
}
private async submitFile_(file: File) {
+
+ if (this.isYandexProp_ == true) {
+ return;
+ } else {
+
if (!SUPPORTED_FILE_TYPES.includes(file.type)) {
this.dispatchError_(LensErrorType.FILE_TYPE);
return;
@@ -194,8 +210,10 @@ export class LensFormElement extends PolymerElement {
processedFile.imageWidth ? processedFile.imageWidth.toString() : '');
this.uploadFileAction_ = action.toString();
+
this.dispatchLoading_(LensSubmitType.FILE);
this.$.fileForm.submit();
+ }
}
submitUrl(urlString: string) {
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 a6eb910711..45ad51baa7 100644
--- a/chrome/browser/resources/new_tab_page/lens_upload_dialog.html
+++ b/chrome/browser/resources/new_tab_page/lens_upload_dialog.html
@@ -99,7 +99,7 @@
display: flex;
flex-direction: column;
flex-grow: 1;
- height: 280px;
+ height: 110px;
padding: 20px;
position: relative;
width: 100%;
@@ -365,7 +365,7 @@
</template>
<!-- Normal state -->
<template is="dom-if" if="{{isNormalOrError_}}">
- <div class="drag-drop-title-container">
+ <!--<div class="drag-drop-title-container">
<div id="dragDropIllustration"></div>
<div class="drag-drop-title">
<span id="dragText">$i18n{lensSearchUploadDialogDragTitle}</span>
@@ -374,13 +374,13 @@
$i18n{lensSearchUploadDialogUploadFileTitle}
</span>
</div>
- </div>
+ </div>-->
<div id="urlUploadContainer">
- <div id="sectionDivider">
+ <!--<div id="sectionDivider">
<div class="divider-line"></div>
<div id="orLabel">$i18n{lensSearchUploadDialogOrText}</div>
<div class="divider-line"></div>
- </div>
+ </div>-->
<div id="inputContainer">
<input id="inputBox" autocomplete="false" autocorrect="false"
placeholder="$i18n{lensSearchUploadDialogTextPlaceholder}"
diff --git a/chrome/browser/resources/new_tab_page/logo.html b/chrome/browser/resources/new_tab_page/logo.html
index cef2c8c722..6255bbe479 100644
--- a/chrome/browser/resources/new_tab_page/logo.html
+++ b/chrome/browser/resources/new_tab_page/logo.html
@@ -23,10 +23,7 @@
}
:host([single-colored]) #logo {
- -webkit-mask-image: url(./icons/google_logo.svg);
- -webkit-mask-repeat: no-repeat;
- -webkit-mask-size: 100%;
- background-color: var(--ntp-logo-color);
+ background-image: url(./icons/google_logo.svg);
}
:host(:not([single-colored])) #logo {
diff --git a/chrome/browser/resources/new_tab_page/logo.ts b/chrome/browser/resources/new_tab_page/logo.ts
index b6140ec10f..7c3f6e00df 100644
--- a/chrome/browser/resources/new_tab_page/logo.ts
+++ b/chrome/browser/resources/new_tab_page/logo.ts
@@ -232,7 +232,7 @@ export class LogoElement extends PolymerElement {
}
private computeShowLogo_(): boolean {
- return !!this.loaded_ && !this.showDoodle_;
+ return false; //!!this.loaded_ && !this.showDoodle_;
}
private computeShowDoodle_(): boolean {
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
index 916e1c043f..2961e407d3 100644
--- a/chrome/browser/search/search.cc
+++ b/chrome/browser/search/search.cc
@@ -130,6 +130,11 @@ bool IsMatchingServiceWorker(const GURL& my_url, const GURL& document_url) {
return my_path_without_filename == document_path_without_filename;
}
+bool DefaultSearchProviderIsYandex(Profile* profile) {
+ return DefaultSearchProviderIsYandex(
+ TemplateURLServiceFactory::GetForProfile(profile));
+}
+
// Returns true if |url| matches the NTP URL or the URL of the NTP's associated
// service worker.
bool IsNTPOrRelatedURLHelper(const GURL& url, Profile* profile) {
@@ -174,6 +179,8 @@ struct NewTabURLDetails {
#if BUILDFLAG(IS_ANDROID)
const GURL local_url;
+ #elif 1 // Always use built-in NTp page
+ const GURL local_url(chrome::kChromeUINewTabPageURL);
#else
const bool default_is_google = DefaultSearchProviderIsGoogle(profile);
const GURL local_url(default_is_google
diff --git a/chrome/browser/search/search.h b/chrome/browser/search/search.h
index c7ae65114f..5859d72731 100644
--- a/chrome/browser/search/search.h
+++ b/chrome/browser/search/search.h
@@ -21,6 +21,8 @@ namespace search {
// Returns whether Google is selected as the default search engine.
bool DefaultSearchProviderIsGoogle(Profile* profile);
+bool DefaultSearchProviderIsYandex(Profile* profile);
+
// Returns true if |url| corresponds to a New Tab page or its service worker.
bool IsNTPOrRelatedURL(const GURL& url, Profile* profile);
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
index 41036ffb07..b7cc6d8b48 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
@@ -36,6 +36,7 @@
#include "chrome/browser/search/background/ntp_custom_background_service_factory.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/search_provider_logos/logo_service_factory.h"
+#include "chrome/browser/search/search.h"
#include "chrome/browser/signin/identity_manager_factory.h"
#include "chrome/browser/sync/sync_service_factory.h"
#include "chrome/browser/themes/theme_service_factory.h"
@@ -655,6 +656,10 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) {
base::FeatureList::IsEnabled(
ntp_features::kNtpChromeCartInHistoryClusterModule));
+ source->AddBoolean(
+ "googleLensForYandex",
+ search::DefaultSearchProviderIsYandex(profile));
+
source->AddBoolean(
"showCartInQuestModuleSetting",
IsCartModuleEnabled() &&
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 35a2bce59e..a7207635cb 100644
--- a/components/search_engines/keyword_table.cc
+++ b/components/search_engines/keyword_table.cc
@@ -172,7 +172,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<int>(data.is_active));
@@ -544,7 +546,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 91539be7a0..63b30e6c92 100644
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -665,7 +665,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
},
@@ -678,6 +678,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
},
@@ -691,7 +692,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
},
@@ -705,7 +706,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
},
@@ -718,7 +719,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
},
@@ -732,7 +733,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..4c99be8769 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},
@@ -1043,8 +1044,8 @@ constexpr EngineAndTier engines_TZ[] = {
// Ukraine
constexpr EngineAndTier engines_UA[] = {
- {SearchEngineTier::kTopEngines, &google},
{SearchEngineTier::kTopEngines, &yandex_ru},
+ {SearchEngineTier::kTopEngines, &google},
{SearchEngineTier::kTopEngines, &bing},
{SearchEngineTier::kTopEngines, &duckduckgo},
{SearchEngineTier::kTopEngines, &yahoo},
diff --git a/components/search_engines/template_url_data_util.cc b/components/search_engines/template_url_data_util.cc
index 6f85515188..7791bf8113 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<TemplateURLData> 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<TemplateURLData> TemplateURLDataFromPrepopulatedEngine(
ToStringPiece(engine.search_url), ToStringPiece(engine.suggest_url),
ToStringPiece(engine.image_url),
ToStringPiece(engine.image_translate_url),
- ToStringPiece(engine.new_tab_url),
+ base::StringPiece(), //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<TemplateURLData> 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 39e72f6be1..82e64ffb6f 100644
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -237,12 +237,15 @@ std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
search_engines::RecordIsDefaultProviderAddedToChoices(inserted_default);
}
}
- if (default_search_provider_index) {
- const auto itr =
- base::ranges::find(t_urls, google.id, &TemplateURLData::prepopulate_id);
- *default_search_provider_index =
- itr == t_urls.end() ? 0 : std::distance(t_urls.begin(), itr);
- }
+ /* 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.
+ * Removed code calculated the distance between 0 and Google's position
+ * and assign that position to default_search_provider_index,
+ * so that Google still was the default search engine.
+ * Instead, just use the first search engine as the default one.
+ */
+ if (default_search_provider_index) *default_search_provider_index = 0;
return t_urls;
}
diff --git a/ui/webui/resources/cr_components/searchbox/realbox.html b/ui/webui/resources/cr_components/searchbox/realbox.html
index 007ba1fafa..5fd20d191c 100644
--- a/ui/webui/resources/cr_components/searchbox/realbox.html
+++ b/ui/webui/resources/cr_components/searchbox/realbox.html
@@ -1,4 +1,11 @@
<style include="cr-icons">
+ #voiceSearchButton {
+ visibility: hidden;
+ }
+ #lensSearchButton {
+ visibility: visible;
+ }
+
:host {
/* Embedders should define --cr-realbox-min-width. */
--cr-realbox-shadow: 0 1px 6px 0 var(--color-realbox-shadow);
--
2.39.3