toolkit/components/build/nsToolkitCompsModule.cpp

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #include "mozilla/ModuleUtils.h"
     6 #include "nsAppStartup.h"
     7 #include "nsUserInfo.h"
     8 #include "nsToolkitCompsCID.h"
     9 #include "nsFindService.h"
    10 #if defined(USE_MOZ_UPDATER)
    11 #include "nsUpdateDriver.h"
    12 #endif
    14 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
    15 #include "nsParentalControlsServiceWin.h"
    16 #endif
    18 #include "nsAlertsService.h"
    20 #include "nsDownloadManager.h"
    21 #include "DownloadPlatform.h"
    22 #include "nsDownloadProxy.h"
    23 #include "nsCharsetMenu.h"
    24 #include "rdf.h"
    26 #include "nsTypeAheadFind.h"
    28 #ifdef MOZ_URL_CLASSIFIER
    29 #include "ApplicationReputation.h"
    30 #include "nsUrlClassifierDBService.h"
    31 #include "nsUrlClassifierStreamUpdater.h"
    32 #include "nsUrlClassifierUtils.h"
    33 #include "nsUrlClassifierPrefixSet.h"
    34 #endif
    36 #include "nsBrowserStatusFilter.h"
    37 #include "mozilla/FinalizationWitnessService.h"
    38 #include "mozilla/NativeOSFileInternals.h"
    40 using namespace mozilla;
    42 /////////////////////////////////////////////////////////////////////////////
    44 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAppStartup, Init)
    45 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUserInfo)
    46 NS_GENERIC_FACTORY_CONSTRUCTOR(nsFindService)
    48 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
    49 NS_GENERIC_FACTORY_CONSTRUCTOR(nsParentalControlsServiceWin)
    50 #endif
    52 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAlertsService)
    54 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsDownloadManager,
    55                                          nsDownloadManager::GetSingleton)
    56 NS_GENERIC_FACTORY_CONSTRUCTOR(DownloadPlatform)
    57 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloadProxy)
    59 NS_GENERIC_FACTORY_CONSTRUCTOR(nsTypeAheadFind)
    61 #ifdef MOZ_URL_CLASSIFIER
    62 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(ApplicationReputationService,
    63                                          ApplicationReputationService::GetSingleton)
    64 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierPrefixSet)
    65 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierStreamUpdater)
    66 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsUrlClassifierUtils, Init)
    68 static nsresult
    69 nsUrlClassifierDBServiceConstructor(nsISupports *aOuter, REFNSIID aIID,
    70                                     void **aResult)
    71 {
    72     nsresult rv;
    73     NS_ENSURE_ARG_POINTER(aResult);
    74     NS_ENSURE_NO_AGGREGATION(aOuter);
    76     nsUrlClassifierDBService *inst = nsUrlClassifierDBService::GetInstance(&rv);
    77     if (nullptr == inst) {
    78         return rv;
    79     }
    80     /* NS_ADDREF(inst); */
    81     rv = inst->QueryInterface(aIID, aResult);
    82     NS_RELEASE(inst);
    84     return rv;
    85 }
    86 #endif
    88 NS_GENERIC_FACTORY_CONSTRUCTOR(nsBrowserStatusFilter)
    89 #if defined(USE_MOZ_UPDATER)
    90 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUpdateProcessor)
    91 #endif
    92 NS_GENERIC_FACTORY_CONSTRUCTOR(FinalizationWitnessService)
    93 NS_GENERIC_FACTORY_CONSTRUCTOR(NativeOSFileInternalsService)
    95 NS_DEFINE_NAMED_CID(NS_TOOLKIT_APPSTARTUP_CID);
    96 NS_DEFINE_NAMED_CID(NS_USERINFO_CID);
    97 NS_DEFINE_NAMED_CID(NS_ALERTSSERVICE_CID);
    98 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
    99 NS_DEFINE_NAMED_CID(NS_PARENTALCONTROLSSERVICE_CID);
   100 #endif
   101 NS_DEFINE_NAMED_CID(NS_DOWNLOADMANAGER_CID);
   102 NS_DEFINE_NAMED_CID(NS_DOWNLOADPLATFORM_CID);
   103 NS_DEFINE_NAMED_CID(NS_DOWNLOAD_CID);
   104 NS_DEFINE_NAMED_CID(NS_FIND_SERVICE_CID);
   105 NS_DEFINE_NAMED_CID(NS_TYPEAHEADFIND_CID);
   106 #ifdef MOZ_URL_CLASSIFIER
   107 NS_DEFINE_NAMED_CID(NS_APPLICATION_REPUTATION_SERVICE_CID);
   108 NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERPREFIXSET_CID);
   109 NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERDBSERVICE_CID);
   110 NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERSTREAMUPDATER_CID);
   111 NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERUTILS_CID);
   112 #endif
   113 NS_DEFINE_NAMED_CID(NS_BROWSERSTATUSFILTER_CID);
   114 NS_DEFINE_NAMED_CID(NS_CHARSETMENU_CID);
   115 #if defined(USE_MOZ_UPDATER)
   116 NS_DEFINE_NAMED_CID(NS_UPDATEPROCESSOR_CID);
   117 #endif
   118 NS_DEFINE_NAMED_CID(FINALIZATIONWITNESSSERVICE_CID);
   119 NS_DEFINE_NAMED_CID(NATIVE_OSFILE_INTERNALS_SERVICE_CID);
   121 static const Module::CIDEntry kToolkitCIDs[] = {
   122   { &kNS_TOOLKIT_APPSTARTUP_CID, false, nullptr, nsAppStartupConstructor },
   123   { &kNS_USERINFO_CID, false, nullptr, nsUserInfoConstructor },
   124   { &kNS_ALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor },
   125 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
   126   { &kNS_PARENTALCONTROLSSERVICE_CID, false, nullptr, nsParentalControlsServiceWinConstructor },
   127 #endif
   128   { &kNS_DOWNLOADMANAGER_CID, false, nullptr, nsDownloadManagerConstructor },
   129   { &kNS_DOWNLOADPLATFORM_CID, false, nullptr, DownloadPlatformConstructor },
   130   { &kNS_DOWNLOAD_CID, false, nullptr, nsDownloadProxyConstructor },
   131   { &kNS_FIND_SERVICE_CID, false, nullptr, nsFindServiceConstructor },
   132   { &kNS_TYPEAHEADFIND_CID, false, nullptr, nsTypeAheadFindConstructor },
   133 #ifdef MOZ_URL_CLASSIFIER
   134   { &kNS_APPLICATION_REPUTATION_SERVICE_CID, false, nullptr, ApplicationReputationServiceConstructor },
   135   { &kNS_URLCLASSIFIERPREFIXSET_CID, false, nullptr, nsUrlClassifierPrefixSetConstructor },
   136   { &kNS_URLCLASSIFIERDBSERVICE_CID, false, nullptr, nsUrlClassifierDBServiceConstructor },
   137   { &kNS_URLCLASSIFIERSTREAMUPDATER_CID, false, nullptr, nsUrlClassifierStreamUpdaterConstructor },
   138   { &kNS_URLCLASSIFIERUTILS_CID, false, nullptr, nsUrlClassifierUtilsConstructor },
   139 #endif
   140   { &kNS_BROWSERSTATUSFILTER_CID, false, nullptr, nsBrowserStatusFilterConstructor },
   141   { &kNS_CHARSETMENU_CID, false, nullptr, NS_NewCharsetMenu },
   142 #if defined(USE_MOZ_UPDATER)
   143   { &kNS_UPDATEPROCESSOR_CID, false, nullptr, nsUpdateProcessorConstructor },
   144 #endif
   145   { &kFINALIZATIONWITNESSSERVICE_CID, false, nullptr, FinalizationWitnessServiceConstructor },
   146   { &kNATIVE_OSFILE_INTERNALS_SERVICE_CID, false, nullptr, NativeOSFileInternalsServiceConstructor },
   147   { nullptr }
   148 };
   150 static const Module::ContractIDEntry kToolkitContracts[] = {
   151   { NS_APPSTARTUP_CONTRACTID, &kNS_TOOLKIT_APPSTARTUP_CID },
   152   { NS_USERINFO_CONTRACTID, &kNS_USERINFO_CID },
   153   { NS_ALERTSERVICE_CONTRACTID, &kNS_ALERTSSERVICE_CID },
   154 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
   155   { NS_PARENTALCONTROLSSERVICE_CONTRACTID, &kNS_PARENTALCONTROLSSERVICE_CID },
   156 #endif
   157   { NS_DOWNLOADMANAGER_CONTRACTID, &kNS_DOWNLOADMANAGER_CID },
   158   { NS_DOWNLOADPLATFORM_CONTRACTID, &kNS_DOWNLOADPLATFORM_CID },
   159   { NS_TRANSFER_CONTRACTID, &kNS_DOWNLOAD_CID },
   160   { NS_FIND_SERVICE_CONTRACTID, &kNS_FIND_SERVICE_CID },
   161   { NS_TYPEAHEADFIND_CONTRACTID, &kNS_TYPEAHEADFIND_CID },
   162 #ifdef MOZ_URL_CLASSIFIER
   163   { NS_APPLICATION_REPUTATION_SERVICE_CONTRACTID, &kNS_APPLICATION_REPUTATION_SERVICE_CID },
   164   { NS_URLCLASSIFIERPREFIXSET_CONTRACTID, &kNS_URLCLASSIFIERPREFIXSET_CID },
   165   { NS_URLCLASSIFIERDBSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID },
   166   { NS_URICLASSIFIERSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID },
   167   { NS_URLCLASSIFIERSTREAMUPDATER_CONTRACTID, &kNS_URLCLASSIFIERSTREAMUPDATER_CID },
   168   { NS_URLCLASSIFIERUTILS_CONTRACTID, &kNS_URLCLASSIFIERUTILS_CID },
   169 #endif
   170   { NS_BROWSERSTATUSFILTER_CONTRACTID, &kNS_BROWSERSTATUSFILTER_CID },
   171   { NS_RDF_DATASOURCE_CONTRACTID_PREFIX NS_CHARSETMENU_PID, &kNS_CHARSETMENU_CID },
   172 #if defined(USE_MOZ_UPDATER)
   173   { NS_UPDATEPROCESSOR_CONTRACTID, &kNS_UPDATEPROCESSOR_CID },
   174 #endif
   175   { FINALIZATIONWITNESSSERVICE_CONTRACTID, &kFINALIZATIONWITNESSSERVICE_CID },
   176   { NATIVE_OSFILE_INTERNALS_SERVICE_CONTRACTID, &kNATIVE_OSFILE_INTERNALS_SERVICE_CID },
   177   { nullptr }
   178 };
   180 static const Module kToolkitModule = {
   181   Module::kVersion,
   182   kToolkitCIDs,
   183   kToolkitContracts
   184 };
   186 NSMODULE_DEFN(nsToolkitCompsModule) = &kToolkitModule;

mercurial