Commit 8124060e authored by Alex Catarineu's avatar Alex Catarineu
Browse files

squash! Bug 31740: Remove some unnecessary RemoteSettings instances

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 618b2a81
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -350,6 +350,16 @@ var RemoteSecuritySettings = {

class IntermediatePreloads {
  constructor() {
    this.maybeInit();
  }

  maybeInit() {
    if (
      this.client ||
      !Services.prefs.getBoolPref(INTERMEDIATES_ENABLED_PREF, true)
    ) {
      return;
    }
    this.client = RemoteSettings(
      Services.prefs.getCharPref(INTERMEDIATES_COLLECTION_PREF),
      {
@@ -379,6 +389,7 @@ class IntermediatePreloads {
      );
      return;
    }
    this.maybeInit();

    // Download attachments that are awaiting download, up to a max.
    const maxDownloadsPerRun = Services.prefs.getIntPref(
@@ -704,6 +715,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(
      Services.prefs.getCharPref(CRLITE_FILTERS_COLLECTION_PREF),
      {
@@ -729,6 +750,7 @@ class CRLiteFilters {
      );
      return;
    }
    this.maybeInit();
    let current = await this.client.db.list();
    let fullFilters = current.filter(filter => !filter.incremental);
    if (fullFilters.length < 1) {
+4 −0
Original line number Diff line number Diff line
@@ -188,6 +188,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"],
+1 −7
Original line number Diff line number Diff line
@@ -8,15 +8,9 @@ with Files('**'):
    BUG_COMPONENT = ('Toolkit', 'Blocklist Implementation')

# The addons blocklist is also in mobile/android/installer/package-manifest.in
FINAL_TARGET_FILES.defaults.settings.blocklists += ['addons-bloomfilters.json',
                                                    'addons.json',
FINAL_TARGET_FILES.defaults.settings.blocklists += ['addons.json',
                                                    'gfx.json',
                                                    'plugins.json']

FINAL_TARGET_FILES.defaults.settings.blocklists['addons-bloomfilters'] += [
  'addons-bloomfilters/addons-mlbf.bin',
  'addons-bloomfilters/addons-mlbf.bin.meta.json'
]

if CONFIG['MOZ_BUILD_APP'] == 'browser':
    DIST_SUBDIR = 'browser'
+0 −5
Original line number Diff line number Diff line
@@ -3,15 +3,10 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

FINAL_TARGET_FILES.defaults.settings.main += [
    'anti-tracking-url-decoration.json',
    'example.json',
    'hijack-blocklists.json',
    'language-dictionaries.json',
    'onboarding.json',
    'search-config.json',
    'search-default-override-allowlist.json',
    'sites-classification.json',
    'url-classifier-skip-urls.json',
]

if CONFIG['MOZ_BUILD_APP'] == 'browser':
+0 −1
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

FINAL_TARGET_FILES.defaults.settings['security-state'] += [
    'intermediates.json',
    'onecrl.json',
]

Loading