Commit 4735905b authored by Alex Catarineu's avatar Alex Catarineu Committed by Pier Angelo Vendrame
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 9f9ab7cf
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -913,6 +913,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;
    }
+3 −2
Original line number Diff line number Diff line
@@ -369,7 +369,8 @@ class TelemetryHandler {
   * can be tracked.
   */
  async init() {
    if (this._initialized) {
    // eslint-disable-next-line no-constant-condition
    if (this._initialized || true) {
      return;
    }

@@ -1206,7 +1207,7 @@ class TelemetryHandler {
   *   Returns a provider or undefined if no provider was found for the url.
   */
  _getProviderInfoForURL(url) {
    return this._searchProviderInfo.find(info =>
    return this._searchProviderInfo?.find(info =>
      info.searchPageRegexp.test(url)
    );
  }
+23 −0
Original line number Diff line number Diff line
@@ -270,6 +270,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,
@@ -295,6 +305,7 @@ class IntermediatePreloads {
      );
      return;
    }
    this.maybeInit();

    // Download attachments that are awaiting download, up to a max.
    const maxDownloadsPerRun = Services.prefs.getIntPref(
@@ -555,6 +566,16 @@ async function isFilterOnDisk(filter) {

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,
@@ -620,6 +641,8 @@ class CRLiteFilters {
      return;
    }

    this.maybeInit();

    let records = await this.getFilteredRecords();
    let fullFilters = records.filter(filter => !filter.incremental);
    if (fullFilters.length != 1) {
+4 −0
Original line number Diff line number Diff line
@@ -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"],
+0 −110
Original line number Diff line number Diff line
@@ -7,11 +7,6 @@ if CONFIG["MOZ_BUILD_APP"] == "browser":
    FINAL_TARGET_FILES.defaults.settings.main += [
        "ai-window-prompts.json",
        "language-dictionaries.json",
        "newtab-wallpapers-v2.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
@@ -26,115 +21,10 @@ if not CONFIG["MOZ_BUILD_APP"].startswith("mobile/"):
        "hijack-blocklists.json",
        "moz-essential-domain-fallbacks.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/41f0d805-3775-4988-8d8c-5ad8ccd86d1c",
        "search-config-icons/41f0d805-3775-4988-8d8c-5ad8ccd86d1c.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/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/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/9802e63d-05ec-48ba-93f9-746e0981ad98",
        "search-config-icons/9802e63d-05ec-48ba-93f9-746e0981ad98.meta.json",
        "search-config-icons/9d96547d-7575-49ca-8908-1e046b8ea90e",
        "search-config-icons/9d96547d-7575-49ca-8908-1e046b8ea90e.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/acae3d3c-b09e-47f0-a9e5-57980d21fc4a",
        "search-config-icons/acae3d3c-b09e-47f0-a9e5-57980d21fc4a.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",
    ]
Loading