modules/libpref/nsPrefsFactory.cpp
author Michael Comella <michael.l.comella@gmail.com>
Thu, 28 Sep 2017 14:09:48 -0700
changeset 672179 24a1c13c077ff73b0699219074d5b7c7e97041ef
parent 605172 6a629adbb62a299d7208373d1c6f375149d2afdb
child 648192 c236dfe7dc98c387219d7cb45d0693560db708fd
permissions -rw-r--r--
Bug 1403755: Rm code to insert blanks into top sites. r=liuche This code was being mistakenly activated when getting top sites for Activity Stream. This is the first removal of old top sites code and will mean we can't go back to old top sites by flipping the `ActivityStream.isEnabled` flag. Since we're planning to ship AS, this shouldn't matter. If we wanted to preserve support, we could create a branch but deleting the code is much simpler. MozReview-Commit-ID: 9VB0RqNHmE0

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "mozilla/ModuleUtils.h"
#include "mozilla/Preferences.h"
#include "nsPrefBranch.h"
#include "prefapi.h"

using namespace mozilla;

NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(Preferences,
                                         Preferences::GetInstanceForService)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrefLocalizedString, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsRelativeFilePref)

static NS_DEFINE_CID(kPrefServiceCID, NS_PREFSERVICE_CID);
static NS_DEFINE_CID(kPrefLocalizedStringCID, NS_PREFLOCALIZEDSTRING_CID);
static NS_DEFINE_CID(kRelativeFilePrefCID, NS_RELATIVEFILEPREF_CID);

static mozilla::Module::CIDEntry kPrefCIDs[] = {
  { &kPrefServiceCID, true, nullptr, PreferencesConstructor },
  { &kPrefLocalizedStringCID, false, nullptr, nsPrefLocalizedStringConstructor },
  { &kRelativeFilePrefCID, false, nullptr, nsRelativeFilePrefConstructor },
  { nullptr }
};

static mozilla::Module::ContractIDEntry kPrefContracts[] = {
  { NS_PREFSERVICE_CONTRACTID, &kPrefServiceCID },
  { NS_PREFLOCALIZEDSTRING_CONTRACTID, &kPrefLocalizedStringCID },
  { NS_RELATIVEFILEPREF_CONTRACTID, &kRelativeFilePrefCID },
  // compatibility for extension that uses old service
  { "@mozilla.org/preferences;1", &kPrefServiceCID },
  { nullptr }
};

static void
UnloadPrefsModule()
{
  Preferences::Shutdown();
}

static const mozilla::Module kPrefModule = {
  mozilla::Module::kVersion,
  kPrefCIDs,
  kPrefContracts,
  nullptr,
  nullptr,
  nullptr,
  UnloadPrefsModule
};

NSMODULE_DEFN(nsPrefModule) = &kPrefModule;