123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- # Add flag to disable automatic search engine collection
- --- a/chrome/browser/ungoogled_flag_entries.h
- +++ b/chrome/browser/ungoogled_flag_entries.h
- @@ -12,4 +12,8 @@
- "Handling of extension MIME type requests",
- "Used when deciding how to handle a request for a CRX or User Script MIME type. ungoogled-chromium flag.",
- kOsAll, MULTI_VALUE_TYPE(kExtensionHandlingChoices)},
- + {"disable-search-engine-collection",
- + "Disable search engine collection",
- + "Prevents search engines from being added automatically. ungoogled-chromium flag.",
- + kOsAll, SINGLE_VALUE_TYPE("disable-search-engine-collection")},
- #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_
- --- a/chrome/renderer/chrome_render_frame_observer.cc
- +++ b/chrome/renderer/chrome_render_frame_observer.cc
- @@ -252,14 +252,16 @@ void ChromeRenderFrameObserver::DidFinis
- if (frame->Parent() || frame->IsInFencedFrameTree())
- return;
-
- - GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL();
- - if (!osdd_url.is_empty()) {
- - mojo::Remote<chrome::mojom::OpenSearchDescriptionDocumentHandler>
- - osdd_handler;
- - render_frame()->GetBrowserInterfaceBroker()->GetInterface(
- - osdd_handler.BindNewPipeAndPassReceiver());
- - osdd_handler->PageHasOpenSearchDescriptionDocument(
- - frame->GetDocument().Url(), osdd_url);
- + if (!base::CommandLine::ForCurrentProcess()->HasSwitch("disable-search-engine-collection")) {
- + GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL();
- + if (!osdd_url.is_empty()) {
- + mojo::Remote<chrome::mojom::OpenSearchDescriptionDocumentHandler>
- + osdd_handler;
- + render_frame()->GetBrowserInterfaceBroker()->GetInterface(
- + osdd_handler.BindNewPipeAndPassReceiver());
- + osdd_handler->PageHasOpenSearchDescriptionDocument(
- + frame->GetDocument().Url(), osdd_url);
- + }
- }
- }
-
- --- a/components/search_engines/template_url_service.cc
- +++ b/components/search_engines/template_url_service.cc
- @@ -9,6 +9,7 @@
- #include "base/base64.h"
- #include "base/base64url.h"
- #include "base/check_is_test.h"
- +#include "base/command_line.h"
- #include "base/containers/contains.h"
- #include "base/debug/crash_logging.h"
- #include "base/feature_list.h"
- @@ -168,6 +169,12 @@ bool IsCreatedByExtension(const Template
- template_url->type() == TemplateURL::OMNIBOX_API_EXTENSION;
- }
-
- +bool ShouldAutocollect() {
- + const base::CommandLine& command_line =
- + *base::CommandLine::ForCurrentProcess();
- + return !command_line.HasSwitch("disable-search-engine-collection");
- +}
- +
- } // namespace
-
- // TemplateURLService::LessWithPrefix -----------------------------------------
- @@ -256,6 +263,7 @@ TemplateURLService::TemplateURLService(
- #endif // BUILDFLAG(IS_CHROMEOS_LACROS)
- )
- : prefs_(prefs),
- + should_autocollect_(true),
- search_terms_data_(std::move(search_terms_data)),
- web_data_service_(web_data_service),
- client_(std::move(client)),
- @@ -351,8 +359,8 @@ bool TemplateURLService::CanAddAutogener
- // that may interfere with search queries). An easy heuristic for this is
- // whether the user has a TemplateURL that has been manually modified (e.g.,
- // renamed) connected to the same host.
- - return !url.is_valid() || url.host().empty() ||
- - CanAddAutogeneratedKeywordForHost(url.host());
- + return should_autocollect_ && (!url.is_valid() || url.host().empty() ||
- + CanAddAutogeneratedKeywordForHost(url.host()));
- }
-
- bool TemplateURLService::IsPrepopulatedOrDefaultProviderByPolicy(
- @@ -1661,6 +1669,8 @@ SyncDataMap TemplateURLService::CreateGU
-
- void TemplateURLService::Init(const Initializer* initializers,
- int num_initializers) {
- + should_autocollect_ = ShouldAutocollect();
- +
- if (client_)
- client_->SetOwner(this);
-
- @@ -1812,6 +1822,9 @@ void TemplateURLService::ChangeToLoadedS
-
- bool TemplateURLService::CanAddAutogeneratedKeywordForHost(
- const std::string& host) const {
- + if (!should_autocollect_)
- + return false;
- +
- const TemplateURLSet* urls = provider_map_->GetURLsForHost(host);
- if (!urls)
- return true;
- --- a/components/search_engines/template_url_service.h
- +++ b/components/search_engines/template_url_service.h
- @@ -788,6 +788,8 @@ class TemplateURLService : public WebDat
- // ---------- Browser state related members ---------------------------------
- raw_ptr<PrefService> prefs_ = nullptr;
-
- + bool should_autocollect_; // Whether search engines should be auto-collected
- +
- std::unique_ptr<SearchTermsData> search_terms_data_ =
- std::make_unique<SearchTermsData>();
-
|