Skip to content
Snippets Groups Projects
Commit b01c327a authored by Alex Catarineu's avatar Alex Catarineu Committed by Beatriz Rizental
Browse files

BB 31740: Remove some unnecessary RemoteSettings instances

More concretely, SearchService.jsm 'hijack-blocklists' and
url-classifier-skip-urls.

Avoid creating instance for 'anti-tracking-url-decoration'.

If prefs are disabling their usage, avoid creating instances for
'cert-revocations' and 'intermediates'.

Do not ship JSON dumps for collections we do not expect to need. For
the ones in the 'main' bucket, this prevents them from being synced
unnecessarily (the code in remote-settings does so for collections
in the main bucket for which a dump or local data exists). For the
collections in the other buckets, we just save some size by not
shipping their dumps.

We also clear the collections database on the v2 -> v3 migration.
parent 9a84bb5f
Branches
Tags
1 merge request!1507Rebase Tor Browser onto 136.0a1
......@@ -229,7 +229,8 @@ class TelemetryHandler {
* can be tracked.
*/
async init() {
if (this._initialized) {
// eslint-disable-next-line no-constant-condition
if (this._initialized || true) {
return;
}
......@@ -908,7 +909,7 @@ class TelemetryHandler {
* @returns {Array | null} Returns an array of provider name and the provider information.
*/
_getProviderInfoForURL(url) {
return this._searchProviderInfo.find(info =>
return this._searchProviderInfo?.find(info =>
info.searchPageRegexp.test(url)
);
}
......@@ -2633,6 +2634,8 @@ class DomainToCategoriesMap {
* reuse the store if the version in each record matches the store.
*/
async #setupClientAndStore() {
return;
// eslint-disable-next-line no-unreachable
if (this.#client && !this.empty) {
return;
}
......
......@@ -205,8 +205,10 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
nsIAboutModule::HIDE_FROM_ABOUTABOUT},
#ifndef BASE_BROWSER_VERSION
{"url-classifier", "chrome://global/content/aboutUrlClassifier.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
#endif
#ifdef MOZ_WEBRTC
{"webrtc", "chrome://global/content/aboutwebrtc/aboutWebrtc.html",
nsIAboutModule::ALLOW_SCRIPT},
......
......@@ -78,7 +78,7 @@ void UrlClassifierFeatureBase::InitializePreferences() {
nsCOMPtr<nsIUrlClassifierExceptionListService> exceptionListService =
do_GetService("@mozilla.org/url-classifier/exception-list-service;1");
if (NS_WARN_IF(!exceptionListService)) {
if (!exceptionListService) {
return;
}
......
......@@ -13,10 +13,4 @@ Classes = [
'constructor': 'mozilla::net::ChannelClassifierService::GetSingleton',
'headers': ['mozilla/net/ChannelClassifierService.h'],
},
{
'cid': '{b9f4fd03-9d87-4bfd-9958-85a821750ddc}',
'contract_ids': ['@mozilla.org/url-classifier/exception-list-service;1'],
'esModule': 'resource://gre/modules/UrlClassifierExceptionListService.sys.mjs',
'constructor': 'UrlClassifierExceptionListService',
},
]
......@@ -252,6 +252,16 @@ export var RemoteSecuritySettings = {
class IntermediatePreloads {
constructor() {
this.maybeInit();
}
maybeInit() {
if (
this.client ||
!Services.prefs.getBoolPref(INTERMEDIATES_ENABLED_PREF, true)
) {
return;
}
this.client = RemoteSettings("intermediates", {
bucketName: SECURITY_STATE_BUCKET,
signerName: SECURITY_STATE_SIGNER,
......@@ -277,6 +287,7 @@ class IntermediatePreloads {
);
return;
}
this.maybeInit();
// Download attachments that are awaiting download, up to a max.
const maxDownloadsPerRun = Services.prefs.getIntPref(
......@@ -506,6 +517,16 @@ function compareFilters(filterA, filterB) {
class CRLiteFilters {
constructor() {
this.maybeInit();
}
maybeInit() {
if (
this.client ||
!Services.prefs.getBoolPref(CRLITE_FILTERS_ENABLED_PREF, true)
) {
return;
}
this.client = RemoteSettings("cert-revocations", {
bucketName: SECURITY_STATE_BUCKET,
signerName: SECURITY_STATE_SIGNER,
......@@ -556,6 +577,8 @@ class CRLiteFilters {
return;
}
this.maybeInit();
let hasPriorFilter = await hasPriorData(
Ci.nsICertStorage.DATA_TYPE_CRLITE_FILTER_FULL
);
......
......@@ -180,6 +180,10 @@ async function openIDB(allowUpgrades = true) {
});
}
if (event.oldVersion < 3) {
// Clear existing stores for a fresh start
transaction.objectStore("records").clear();
transaction.objectStore("timestamps").clear();
transaction.objectStore("collections").clear();
// Attachment store
db.createObjectStore("attachments", {
keyPath: ["cid", "attachmentId"],
......
......@@ -6,10 +6,6 @@ if CONFIG["MOZ_BUILD_APP"] == "browser":
# These collections are only referenced from browser/
FINAL_TARGET_FILES.defaults.settings.main += [
"language-dictionaries.json",
"search-telemetry-v2.json",
"sites-classification.json",
"top-sites.json",
"urlbar-persisted-search-terms.json",
]
# These collections are referenced in toolkit/ or other core code, however
......@@ -23,113 +19,9 @@ if not CONFIG["MOZ_BUILD_APP"].startswith("mobile/"):
"example.json",
"hijack-blocklists.json",
"password-rules.json",
"search-config-icons.json",
"search-config-overrides-v2.json",
"search-config-v2.json",
"search-default-override-allowlist.json",
"translations-models.json",
"translations-wasm.json",
"url-classifier-skip-urls.json",
"url-parser-default-unknown-schemes-interventions.json",
"websites-with-shared-credential-backends.json",
]
# These collections are referenced in toolkit/ or other core code.
FINAL_TARGET_FILES.defaults.settings.main += [
"password-recipes.json",
]
# These search config icons only apply to desktop.
if CONFIG["MOZ_BUILD_APP"] == "browser":
FINAL_TARGET_FILES.defaults.settings.main["search-config-icons"] += [
"search-config-icons/001500a9-1a6c-3f5a-ba15-a5f5a075d256",
"search-config-icons/001500a9-1a6c-3f5a-ba15-a5f5a075d256.meta.json",
"search-config-icons/06cf7432-efd7-f244-927b-5e423005e1ea",
"search-config-icons/06cf7432-efd7-f244-927b-5e423005e1ea.meta.json",
"search-config-icons/0d7668a8-c3f4-cfee-cbc8-536511528937",
"search-config-icons/0d7668a8-c3f4-cfee-cbc8-536511528937.meta.json",
"search-config-icons/0eec5640-6fde-d6fe-322a-c72c6d5bd5a2",
"search-config-icons/0eec5640-6fde-d6fe-322a-c72c6d5bd5a2.meta.json",
"search-config-icons/101ce01d-2691-b729-7f16-9d389803384b",
"search-config-icons/101ce01d-2691-b729-7f16-9d389803384b.meta.json",
"search-config-icons/177aba42-9bed-4078-e36b-580e8794cd7f",
"search-config-icons/177aba42-9bed-4078-e36b-580e8794cd7f.meta.json",
"search-config-icons/25de0352-aabb-d31f-15f7-bf9299fb004c",
"search-config-icons/25de0352-aabb-d31f-15f7-bf9299fb004c.meta.json",
"search-config-icons/2bbe48f4-d3b8-c9e0-86e3-a54c37ec3335",
"search-config-icons/2bbe48f4-d3b8-c9e0-86e3-a54c37ec3335.meta.json",
"search-config-icons/2e835b0e-9709-d1bb-9725-87f59f3445ca",
"search-config-icons/2e835b0e-9709-d1bb-9725-87f59f3445ca.meta.json",
"search-config-icons/32d26d19-aeb0-5c01-32e8-f8970be9246f",
"search-config-icons/32d26d19-aeb0-5c01-32e8-f8970be9246f.meta.json",
"search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751",
"search-config-icons/39979158-80cf-4f0c-8bd6-9220eb09e751.meta.json",
"search-config-icons/47da97b5-600f-c450-fd15-a52bb2169c11",
"search-config-icons/47da97b5-600f-c450-fd15-a52bb2169c11.meta.json",
"search-config-icons/4e271681-3e0f-91ac-9750-03f665efc171",
"search-config-icons/4e271681-3e0f-91ac-9750-03f665efc171.meta.json",
"search-config-icons/50f6171f-8e7a-b41b-862e-f97397038fb2",
"search-config-icons/50f6171f-8e7a-b41b-862e-f97397038fb2.meta.json",
"search-config-icons/5ded611d-44b2-dc46-fd67-fb116888d75d",
"search-config-icons/5ded611d-44b2-dc46-fd67-fb116888d75d.meta.json",
"search-config-icons/5e03d6f4-6ee9-8bc8-cf22-7a5f2cf55c41",
"search-config-icons/5e03d6f4-6ee9-8bc8-cf22-7a5f2cf55c41.meta.json",
"search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b",
"search-config-icons/6a83583a-f0ba-fd39-2fdb-fd2b6990ea3b.meta.json",
"search-config-icons/6d10d702-7bd6-1452-90a5-3df665a38f66",
"search-config-icons/6d10d702-7bd6-1452-90a5-3df665a38f66.meta.json",
"search-config-icons/6f4da442-d31e-28f8-03af-797d16bbdd27",
"search-config-icons/6f4da442-d31e-28f8-03af-797d16bbdd27.meta.json",
"search-config-icons/70fdd651-6c50-b7bb-09ec-7e85da259173",
"search-config-icons/70fdd651-6c50-b7bb-09ec-7e85da259173.meta.json",
"search-config-icons/74793ce1-a918-a5eb-d3c0-2aadaff3c88c",
"search-config-icons/74793ce1-a918-a5eb-d3c0-2aadaff3c88c.meta.json",
"search-config-icons/7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e",
"search-config-icons/7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e.meta.json",
"search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131",
"search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131.meta.json",
"search-config-icons/7efbed51-813c-581d-d8d3-f8758434e451",
"search-config-icons/7efbed51-813c-581d-d8d3-f8758434e451.meta.json",
"search-config-icons/84bb4962-e571-227a-9ef6-2ac5f2aac361",
"search-config-icons/84bb4962-e571-227a-9ef6-2ac5f2aac361.meta.json",
"search-config-icons/87ac4cde-f581-398b-1e32-eb4079183b36",
"search-config-icons/87ac4cde-f581-398b-1e32-eb4079183b36.meta.json",
"search-config-icons/8831ce10-b1e4-6eb4-4975-83c67457288e",
"search-config-icons/8831ce10-b1e4-6eb4-4975-83c67457288e.meta.json",
"search-config-icons/890de5c4-0941-a116-473a-5d240e79497a",
"search-config-icons/890de5c4-0941-a116-473a-5d240e79497a.meta.json",
"search-config-icons/91a9672d-e945-8e1e-0996-aefdb0190716",
"search-config-icons/91a9672d-e945-8e1e-0996-aefdb0190716.meta.json",
"search-config-icons/96327a73-c433-5eb4-a16d-b090cadfb80b",
"search-config-icons/96327a73-c433-5eb4-a16d-b090cadfb80b.meta.json",
"search-config-icons/a06db97d-1210-ea2e-5474-0e2f7d295bfd",
"search-config-icons/a06db97d-1210-ea2e-5474-0e2f7d295bfd.meta.json",
"search-config-icons/a06dc3fd-4bdb-41f3-2ebc-4cbed06a9bd3",
"search-config-icons/a06dc3fd-4bdb-41f3-2ebc-4cbed06a9bd3.meta.json",
"search-config-icons/a2c7d4e9-f770-51e1-0963-3c2c8401631d",
"search-config-icons/a2c7d4e9-f770-51e1-0963-3c2c8401631d.meta.json",
"search-config-icons/b64f09fd-52d1-c48e-af23-4ce918e7bf3b",
"search-config-icons/b64f09fd-52d1-c48e-af23-4ce918e7bf3b.meta.json",
"search-config-icons/b8ca5a94-8fff-27ad-6e00-96e244a32e21",
"search-config-icons/b8ca5a94-8fff-27ad-6e00-96e244a32e21.meta.json",
"search-config-icons/c411adc1-9661-4fb5-a4c1-8cfe74911943",
"search-config-icons/c411adc1-9661-4fb5-a4c1-8cfe74911943.meta.json",
"search-config-icons/cbf9e891-d079-2b28-5617-283450d463dd",
"search-config-icons/cbf9e891-d079-2b28-5617-283450d463dd.meta.json",
"search-config-icons/d87f251c-3e12-a8bf-e2d0-afd43d36c5f9",
"search-config-icons/d87f251c-3e12-a8bf-e2d0-afd43d36c5f9.meta.json",
"search-config-icons/e02f23df-8d48-2b1b-3b5c-6dd27302c61c",
"search-config-icons/e02f23df-8d48-2b1b-3b5c-6dd27302c61c.meta.json",
"search-config-icons/e718e983-09aa-e8f6-b25f-cd4b395d4785",
"search-config-icons/e718e983-09aa-e8f6-b25f-cd4b395d4785.meta.json",
"search-config-icons/e7547f62-187b-b641-d462-e54a3f813d9a",
"search-config-icons/e7547f62-187b-b641-d462-e54a3f813d9a.meta.json",
"search-config-icons/f312610a-ebfb-a106-ea92-fd643c5d3636",
"search-config-icons/f312610a-ebfb-a106-ea92-fd643c5d3636.meta.json",
"search-config-icons/fa0fc42c-d91d-fca7-34eb-806ff46062dc",
"search-config-icons/fa0fc42c-d91d-fca7-34eb-806ff46062dc.meta.json",
"search-config-icons/fca3e3ee-56cd-f474-dc31-307fd24a891d",
"search-config-icons/fca3e3ee-56cd-f474-dc31-307fd24a891d.meta.json",
"search-config-icons/fed4f021-ff3e-942a-010e-afa43fda2136",
"search-config-icons/fed4f021-ff3e-942a-010e-afa43fda2136.meta.json",
]
......@@ -4,4 +4,4 @@ resource services-settings resource://gre/modules/services-settings/
# Schedule polling of remote settings changes
# (default 6H, max 24H)
# see syntax https://searchfox.org/mozilla-central/rev/cc280c4be94ff8cf64a27cc9b3d6831ffa49fa45/toolkit/components/timermanager/UpdateTimerManager.jsm#155
category update-timer RemoteSettingsComponents @mozilla.org/services/settings;1,getService,services-settings-poll-changes,services.settings.poll_interval,21600,86400
# category update-timer RemoteSettingsComponents @mozilla.org/services/settings;1,getService,services-settings-poll-changes,services.settings.poll_interval,21600,86400
category profile-after-change URLDecorationAnnotationsService @mozilla.org/tracking-url-decoration-service;1 process=main
# category profile-after-change URLDecorationAnnotationsService @mozilla.org/tracking-url-decoration-service;1 process=main
......@@ -11,13 +11,6 @@ Classes = [
'esModule': 'resource://gre/modules/TrackingDBService.sys.mjs',
'constructor': 'TrackingDBService',
},
{
'cid': '{5874af6d-5719-4e1b-b155-ef4eae7fcb32}',
'contract_ids': ['@mozilla.org/tracking-url-decoration-service;1'],
'esModule': 'resource://gre/modules/URLDecorationAnnotationsService.sys.mjs',
'constructor': 'URLDecorationAnnotationsService',
'processes': ProcessSelector.MAIN_PROCESS_ONLY,
},
{
'cid': '{90d1fd17-2018-4e16-b73c-a04a26fa6dd4}',
'contract_ids': ['@mozilla.org/purge-tracker-service;1'],
......
......@@ -1361,10 +1361,6 @@ export class SearchService {
// start listening straight away.
Services.obs.addObserver(this, lazy.Region.REGION_TOPIC);
this.#getIgnoreListAndSubscribe().catch(ex =>
console.error(ex, "Search Service could not get the ignore list.")
);
this.#engineSelector = new lazy.SearchEngineSelector(
this.#handleConfigurationUpdated.bind(this)
);
......@@ -1499,6 +1495,7 @@ export class SearchService {
* handled via a sync listener.
*
*/
// eslint-disable-next-line no-unused-private-class-members
async #getIgnoreListAndSubscribe() {
let listener = this.#handleIgnoreListUpdated.bind(this);
const current = await lazy.IgnoreLists.getAndSubscribe(listener);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment