
关于 Chromium 的部分研究-2022年2月
本文为 Dimole 在2022年2月更新迪莫乐浏览器时对 Chromium 的部分研究
前情
这个月搞的内容这些其实在之前的版本就已经做了,但是买到的黑片固态不给力导致数据丢失,现在从头来过。(
在非谷歌搜索引擎时启用新标签页的搜索框
通过调试及 Chromium Code Search 易知, Chromium 新标签页的谷歌版和非谷歌版在“chrome/browser/search/search.cc”中的
const GURL local_url(DefaultSearchProviderIsGoogle(profile)
? chrome::kChromeUINewTabPageURL
: chrome::kChromeUINewTabPageThirdPartyURL);
对其进行判断( kChromeUINewTabPageURL 为谷歌版)
事实上,只需要让 DefaultSearchProviderIsGoogle 永远返回 true 来“欺骗” Chromium 就可以做到永远显示谷歌版的带搜索框的新标签页了。也许会有 Bug ,不管了,又不是不能用.jpg
而 DefaultSearchProviderIsGoogle 的最终定义在“components/search/search.cc”中
bool DefaultSearchProviderIsGoogle(
const TemplateURLService* template_url_service) {
if (!template_url_service)
return false;
const TemplateURL* default_provider =
template_url_service->GetDefaultSearchProvider();
if (!default_provider)
return false;
return default_provider->GetEngineType(
template_url_service->search_terms_data()) ==
SearchEngineType::SEARCH_ENGINE_GOOGLE;
}
把这里的代码改掉即可。
为了防止没有搜索引擎等特殊情况时产生更多 Bug ,我只把最后对谷歌的判断改了,即
bool DefaultSearchProviderIsGoogle(
const TemplateURLService* template_url_service) {
if (!template_url_service)
return false;
const TemplateURL* default_provider =
template_url_service->GetDefaultSearchProvider();
if (!default_provider)
return false;
return true;
}
未完待续,咕咕咕(
最后宣传下我的浏览器不过分吧(
下载地址:https://llq.dml.ink