Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm

--HG--
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
extra : intermediate-source : 7a1ef487a9e74d66b112034051e49b77023860b8
extra : histedit_source : 88d19dbee4a99faa191e49e2847c4c59aba05b0c%2C5ee702f97153152d31124e0c5f3e8318cbeb3195
This commit is contained in:
Kris Maglione 2019-01-29 16:03:41 -08:00
parent 950b0fc87b
commit b2f85650a1
75 changed files with 569 additions and 785 deletions

View File

@ -0,0 +1,14 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{ec5aa99c-7abb-4142-ac5f-aab2419e38e2}',
'contract_ids': ['@mozilla.org/jsinspector;1'],
'type': 'mozilla::jsinspector::nsJSInspector',
'headers': ['/devtools/platform/nsJSInspector.h'],
},
]

View File

@ -16,4 +16,8 @@ SOURCES += [
'nsJSInspector.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'

View File

@ -8,7 +8,6 @@
#include "nsThreadUtils.h"
#include "jsfriendapi.h"
#include "mozilla/HoldDropJSObjects.h"
#include "mozilla/ModuleUtils.h"
#include "mozilla/dom/ScriptSettings.h"
#include "nsServiceManagerUtils.h"
#include "nsMemory.h"
@ -27,8 +26,6 @@
namespace mozilla {
namespace jsinspector {
NS_GENERIC_FACTORY_CONSTRUCTOR(nsJSInspector)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsJSInspector)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_INTERFACE_MAP_ENTRY(nsIJSInspector)
@ -121,18 +118,3 @@ nsJSInspector::GetLastNestRequestor(JS::MutableHandle<JS::Value> out) {
} // namespace jsinspector
} // namespace mozilla
NS_DEFINE_NAMED_CID(JSINSPECTOR_CID);
static const mozilla::Module::CIDEntry kJSInspectorCIDs[] = {
{&kJSINSPECTOR_CID, false, nullptr,
mozilla::jsinspector::nsJSInspectorConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kJSInspectorContracts[] = {
{JSINSPECTOR_CONTRACTID, &kJSINSPECTOR_CID}, {nullptr}};
static const mozilla::Module kJSInspectorModule = {
mozilla::Module::kVersion, kJSInspectorCIDs, kJSInspectorContracts};
NSMODULE_DEFN(jsinspector) = &kJSInspectorModule;

View File

@ -17,7 +17,6 @@
#include "mozilla/dom/MediaSource.h"
#include "mozilla/ipc/IPCStreamUtils.h"
#include "mozilla/LoadInfo.h"
#include "mozilla/ModuleUtils.h"
#include "mozilla/NullPrincipal.h"
#include "mozilla/Preferences.h"
#include "mozilla/SystemGroup.h"
@ -903,33 +902,6 @@ nsresult NS_GetSourceForMediaSourceURI(nsIURI* aURI, MediaSource** aSource) {
namespace mozilla {
namespace dom {
#define NS_BLOBPROTOCOLHANDLER_CID \
{ \
0xb43964aa, 0xa078, 0x44b2, { \
0xb0, 0x6b, 0xfd, 0x4d, 0x1b, 0x17, 0x2e, 0x66 \
} \
}
NS_GENERIC_FACTORY_CONSTRUCTOR(BlobURLProtocolHandler)
NS_DEFINE_NAMED_CID(NS_BLOBPROTOCOLHANDLER_CID);
static const Module::CIDEntry kBlobURLProtocolHandlerCIDs[] = {
{&kNS_BLOBPROTOCOLHANDLER_CID, false, nullptr,
BlobURLProtocolHandlerConstructor},
{nullptr}};
static const Module::ContractIDEntry kBlobURLProtocolHandlerContracts[] = {
{NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX BLOBURI_SCHEME,
&kNS_BLOBPROTOCOLHANDLER_CID},
{nullptr}};
static const Module kBlobURLProtocolHandlerModule = {
Module::kVersion, kBlobURLProtocolHandlerCIDs,
kBlobURLProtocolHandlerContracts};
NSMODULE_DEFN(BlobURLProtocolHandler) = &kBlobURLProtocolHandlerModule;
bool IsType(nsIURI* aUri, DataInfo::ObjectType aType) {
DataInfo* info = GetDataInfoFromURI(aUri);
if (!info) {

View File

@ -5,8 +5,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "FontTableURIProtocolHandler.h"
#include "mozilla/ModuleUtils.h"
#include "nsIURIMutator.h"
#include "nsIUUIDGenerator.h"
#include "nsNetUtil.h"
#include "nsSimpleURI.h"
using namespace mozilla;
using namespace mozilla::dom;
@ -107,31 +109,3 @@ FontTableURIProtocolHandler::NewURI(const nsACString &aSpec,
uri.forget(aResult);
return NS_OK;
}
#define NS_FONTTABLEPROTOCOLHANDLER_CID \
{ \
0x3fc8f04e, 0xd719, 0x43ca, { \
0x9a, 0xd0, 0x18, 0xee, 0x32, 0x02, 0x11, 0xf2 \
} \
}
NS_GENERIC_FACTORY_CONSTRUCTOR(FontTableURIProtocolHandler)
NS_DEFINE_NAMED_CID(NS_FONTTABLEPROTOCOLHANDLER_CID);
static const mozilla::Module::CIDEntry FontTableURIProtocolHandlerCIDs[] = {
{&kNS_FONTTABLEPROTOCOLHANDLER_CID, false, nullptr,
FontTableURIProtocolHandlerConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry
FontTableURIProtocolHandlerContracts[] = {
{NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX FONTTABLEURI_SCHEME,
&kNS_FONTTABLEPROTOCOLHANDLER_CID},
{nullptr}};
static const mozilla::Module FontTableURIProtocolHandlerModule = {
mozilla::Module::kVersion, FontTableURIProtocolHandlerCIDs,
FontTableURIProtocolHandlerContracts};
NSMODULE_DEFN(FontTableURIProtocolHandler) = &FontTableURIProtocolHandlerModule;

View File

@ -0,0 +1,20 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{3fc8f04e-d719-43ca-9ad0-18ee320211f2}',
'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-fonttable'],
'type': 'mozilla::dom::FontTableURIProtocolHandler',
'headers': ['mozilla/dom/FontTableURIProtocolHandler.h'],
},
{
'cid': '{b43964aa-a078-44b2-b06b-fd4d1b172e66}',
'contract_ids': ['@mozilla.org/network/protocol;1?name=blob'],
'type': 'mozilla::dom::BlobURLProtocolHandler',
'headers': ['mozilla/dom/BlobURLProtocolHandler.h'],
},
]

View File

@ -20,6 +20,10 @@ UNIFIED_SOURCES += [
'FontTableURIProtocolHandler.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
LOCAL_INCLUDES += [
'/dom/file',
'/netwerk/base',

View File

@ -38,10 +38,13 @@ if CONFIG['MOZ_WEBSPEECH']:
if CONFIG['MOZ_WEBSPEECH_TEST_BACKEND']:
UNIFIED_SOURCES += [
'test/FakeSynthModule.cpp',
'test/nsFakeSynthServices.cpp'
]
XPCOM_MANIFESTS += [
'test/components.conf',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
DIRS += ['windows']

View File

@ -1,54 +0,0 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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 "nsIClassInfoImpl.h"
#include "SpeechDispatcherService.h"
using namespace mozilla::dom;
#define SPEECHDISPATCHERSERVICE_CID \
{ \
0x8817b1cf, 0x5ada, 0x43bf, { \
0xbd, 0x73, 0x60, 0x76, 0x57, 0x70, 0x3d, 0x0d \
} \
}
#define SPEECHDISPATCHERSERVICE_CONTRACTID \
"@mozilla.org/synthspeechdispatcher;1"
// Defines SpeechDispatcherServiceConstructor
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(
SpeechDispatcherService, SpeechDispatcherService::GetInstanceForService)
// Defines kSPEECHDISPATCHERSERVICE_CID
NS_DEFINE_NAMED_CID(SPEECHDISPATCHERSERVICE_CID);
static const mozilla::Module::CIDEntry kCIDs[] = {
{&kSPEECHDISPATCHERSERVICE_CID, true, nullptr,
SpeechDispatcherServiceConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kContracts[] = {
{SPEECHDISPATCHERSERVICE_CONTRACTID, &kSPEECHDISPATCHERSERVICE_CID},
{nullptr}};
static const mozilla::Module::CategoryEntry kCategories[] = {
{"speech-synth-started", "SpeechDispatcher Speech Synth",
SPEECHDISPATCHERSERVICE_CONTRACTID},
{nullptr}};
static const mozilla::Module kModule = {
mozilla::Module::kVersion,
kCIDs,
kContracts,
kCategories,
nullptr,
nullptr,
nullptr,
};
NSMODULE_DEFN(synthspeechdispatcher) = &kModule;

View File

@ -0,0 +1,17 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{8817b1cf-5ada-43bf-bd73-607657703d0d}',
'contract_ids': ['@mozilla.org/synthspeechdispatcher;1'],
'singleton': True,
'type': 'mozilla::dom::SpeechDispatcherService',
'headers': ['/dom/media/webspeech/synth/speechd/SpeechDispatcherService.h'],
'constructor': 'mozilla::dom::SpeechDispatcherService::GetInstanceForService',
'categories': {"speech-synth-started": 'SpeechDispatcher Speech Synth'},
},
]

View File

@ -5,9 +5,13 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
UNIFIED_SOURCES += [
'SpeechDispatcherModule.cpp',
'SpeechDispatcherService.cpp'
]
XPCOM_MANIFESTS += [
'components.conf',
]
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'

View File

@ -1,45 +0,0 @@
/* 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 "nsIClassInfoImpl.h"
#include "nsFakeSynthServices.h"
using namespace mozilla::dom;
#define FAKESYNTHSERVICE_CID \
{ \
0xe7d52d9e, 0xc148, 0x47d8, { \
0xab, 0x2a, 0x95, 0xd7, 0xf4, 0x0e, 0xa5, 0x3d \
} \
}
#define FAKESYNTHSERVICE_CONTRACTID "@mozilla.org/fakesynth;1"
// Defines nsFakeSynthServicesConstructor
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(
nsFakeSynthServices, nsFakeSynthServices::GetInstanceForService)
// Defines kFAKESYNTHSERVICE_CID
NS_DEFINE_NAMED_CID(FAKESYNTHSERVICE_CID);
static const mozilla::Module::CIDEntry kCIDs[] = {
{&kFAKESYNTHSERVICE_CID, true, nullptr, nsFakeSynthServicesConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kContracts[] = {
{FAKESYNTHSERVICE_CONTRACTID, &kFAKESYNTHSERVICE_CID}, {nullptr}};
static const mozilla::Module::CategoryEntry kCategories[] = {
{"speech-synth-started", "Fake Speech Synth", FAKESYNTHSERVICE_CONTRACTID},
{nullptr}};
static void UnloadFakeSynthmodule() { nsFakeSynthServices::Shutdown(); }
static const mozilla::Module kModule = {
mozilla::Module::kVersion, kCIDs, kContracts, kCategories, nullptr, nullptr,
UnloadFakeSynthmodule};
NSMODULE_DEFN(fakesynth) = &kModule;

View File

@ -0,0 +1,17 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{e7d52d9e-c148-47d8-ab2a-95d7f40ea53d}',
'contract_ids': ['@mozilla.org/fakesynth;1'],
'singleton': True,
'type': 'mozilla::dom::nsFakeSynthServices',
'headers': ['/dom/media/webspeech/synth/test/nsFakeSynthServices.h'],
'constructor': 'mozilla::dom::nsFakeSynthServices::GetInstanceForService',
'categories': {'speech-synth-started': 'Fake Speech Synth'},
},
]

View File

@ -10,6 +10,7 @@
#include "SharedBuffer.h"
#include "nsISimpleEnumerator.h"
#include "mozilla/ClearOnShutdown.h"
#include "mozilla/dom/nsSynthVoiceRegistry.h"
#include "mozilla/dom/nsSpeechTask.h"
@ -273,6 +274,7 @@ nsFakeSynthServices* nsFakeSynthServices::GetInstance() {
if (!sSingleton) {
sSingleton = new nsFakeSynthServices();
ClearOnShutdown(&sSingleton);
}
return sSingleton;
@ -284,13 +286,5 @@ nsFakeSynthServices::GetInstanceForService() {
return picoService.forget();
}
void nsFakeSynthServices::Shutdown() {
if (!sSingleton) {
return;
}
sSingleton = nullptr;
}
} // namespace dom
} // namespace mozilla

View File

@ -29,8 +29,6 @@ class nsFakeSynthServices : public nsIObserver {
static already_AddRefed<nsFakeSynthServices> GetInstanceForService();
static void Shutdown();
private:
virtual ~nsFakeSynthServices() = default;

View File

@ -0,0 +1,16 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{23e8fd98-a625-4b08-be1a-f7cc18a5b106}',
'contract_ids': ['@mozilla.org/plugin/host;1'],
'singleton': True,
'type': 'nsPluginHost',
'headers': ['nsPluginHost.h'],
'constructor': 'nsPluginHost::GetInst',
},
]

View File

@ -38,7 +38,6 @@ UNIFIED_SOURCES += [
'nsNPAPIPluginInstance.cpp',
'nsNPAPIPluginStreamListener.cpp',
'nsPluginInstanceOwner.cpp',
'nsPluginModule.cpp',
'nsPluginStreamListenerPeer.cpp',
'nsPluginTags.cpp',
]
@ -67,6 +66,10 @@ else:
'nsPluginsDirUnix.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
LOCAL_INCLUDES += [
'/dom/base',
'/dom/plugins/ipc',

View File

@ -1,22 +0,0 @@
/* -*- 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 "nsPluginHost.h"
#include "nsPluginsCID.h"
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsPluginHost, nsPluginHost::GetInst)
NS_DEFINE_NAMED_CID(NS_PLUGIN_HOST_CID);
static const mozilla::Module::CIDEntry kPluginCIDs[] = {
{&kNS_PLUGIN_HOST_CID, false, nullptr, nsPluginHostConstructor}, {nullptr}};
static const mozilla::Module::ContractIDEntry kPluginContracts[] = {
{MOZ_PLUGIN_HOST_CONTRACTID, &kNS_PLUGIN_HOST_CID}, {nullptr}};
static const mozilla::Module kPluginModule = {mozilla::Module::kVersion,
kPluginCIDs, kPluginContracts};
NSMODULE_DEFN(nsPluginModule) = &kPluginModule;

View File

@ -1,49 +0,0 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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 "MulticastDNSDeviceProvider.h"
#include "mozilla/ModuleUtils.h"
#define MULTICAST_DNS_PROVIDER_CID \
{ \
0x814f947a, 0x52f7, 0x41c9, { \
0x94, 0xa1, 0x36, 0x84, 0x79, 0x72, 0x84, 0xac \
} \
}
#define MULTICAST_DNS_PROVIDER_CONTRACT_ID \
"@mozilla.org/presentation-device/multicastdns-provider;1"
using mozilla::dom::presentation::MulticastDNSDeviceProvider;
NS_GENERIC_FACTORY_CONSTRUCTOR(MulticastDNSDeviceProvider)
NS_DEFINE_NAMED_CID(MULTICAST_DNS_PROVIDER_CID);
static const mozilla::Module::CIDEntry kPresentationDeviceProviderCIDs[] = {
{&kMULTICAST_DNS_PROVIDER_CID, false, nullptr,
MulticastDNSDeviceProviderConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry
kPresentationDeviceProviderContracts[] = {
{MULTICAST_DNS_PROVIDER_CONTRACT_ID, &kMULTICAST_DNS_PROVIDER_CID},
{nullptr}};
static const mozilla::Module::CategoryEntry
kPresentationDeviceProviderCategories[] = {
#if defined(MOZ_WIDGET_COCOA) || defined(MOZ_WIDGET_ANDROID)
{PRESENTATION_DEVICE_PROVIDER_CATEGORY, "MulticastDNSDeviceProvider",
MULTICAST_DNS_PROVIDER_CONTRACT_ID},
#endif
{nullptr}};
static const mozilla::Module kPresentationDeviceProviderModule = {
mozilla::Module::kVersion, kPresentationDeviceProviderCIDs,
kPresentationDeviceProviderContracts,
kPresentationDeviceProviderCategories};
NSMODULE_DEFN(PresentationDeviceProviderModule) =
&kPresentationDeviceProviderModule;

View File

@ -4,6 +4,11 @@
# 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/.
categories = {}
if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'android'):
categories["presentation-device-provider"] = "MulticastDNSDeviceProvider"
Classes = [
{
'cid': '{f4079b8b-ede5-4b90-a112-5b415a931deb}',
@ -11,6 +16,13 @@ Classes = [
'jsm': 'resource://gre/modules/PresentationControlService.jsm',
'constructor': 'PresentationControlService',
},
{
'cid': '{814f947a-52f7-41c9-94a1-3684797284ac}',
'contract_ids': ['@mozilla.org/presentation-device/multicastdns-provider;1'],
'type': 'mozilla::dom::presentation::MulticastDNSDeviceProvider',
'headers': ['/dom/presentation/provider/MulticastDNSDeviceProvider.h'],
'categories': categories,
},
]
if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'android':

View File

@ -11,7 +11,10 @@ EXTRA_JS_MODULES += [
UNIFIED_SOURCES += [
'DeviceProviderHelpers.cpp',
'MulticastDNSDeviceProvider.cpp',
'PresentationDeviceProviderModule.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
XPCOM_MANIFESTS += [

View File

@ -0,0 +1,22 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Headers = [
'/extensions/cookie/nsCookieModule.h',
]
UnloadFunc = 'mozilla::CookieModuleDtor'
Classes = [
{
'cid': '{4f6b5e00-0c36-11d5-a535-0010a401eb10}',
'contract_ids': ['@mozilla.org/permissionmanager;1'],
'singleton': True,
'type': 'nsIPermissionManager',
'constructor': 'nsPermissionManager::GetXPCOMSingleton',
'headers': ['/extensions/cookie/nsPermissionManager.h'],
},
]

View File

@ -17,6 +17,10 @@ UNIFIED_SOURCES += [
'nsPermissionManager.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
LOCAL_INCLUDES += [
'/caps',
]

View File

@ -3,35 +3,10 @@
* 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 "nsIServiceManager.h"
#include "nsPermissionManager.h"
#include "nsICategoryManager.h"
#include "nsCookiePermission.h"
#include "nsString.h"
// Define the constructor function for the objects
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIPermissionManager,
nsPermissionManager::GetXPCOMSingleton)
namespace mozilla {
NS_DEFINE_NAMED_CID(NS_PERMISSIONMANAGER_CID);
void CookieModuleDtor() { nsCookiePermission::Shutdown(); }
static const mozilla::Module::CIDEntry kCookieCIDs[] = {
{&kNS_PERMISSIONMANAGER_CID, false, nullptr,
nsIPermissionManagerConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kCookieContracts[] = {
{NS_PERMISSIONMANAGER_CONTRACTID, &kNS_PERMISSIONMANAGER_CID}, {nullptr}};
static void CookieModuleDtor() { nsCookiePermission::Shutdown(); }
static const mozilla::Module kCookieModule = {mozilla::Module::kVersion,
kCookieCIDs,
kCookieContracts,
nullptr,
nullptr,
nullptr,
CookieModuleDtor};
NSMODULE_DEFN(nsCookieModule) = &kCookieModule;
} // namespace mozilla

View File

@ -0,0 +1,19 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */
#ifndef nsCookieModule_h
#define nsCookieModule_h
#include "nscore.h"
namespace mozilla {
void CookieModuleDtor();
} // namespace mozilla
#endif

View File

@ -0,0 +1,16 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{4ca6b67b-5cc7-4e71-a98a-97af1c134862}',
'contract_ids': ['@mozilla.org/permissions/contentblocker;1'],
'type': 'nsContentBlocker',
'headers': ['/extensions/permissions/nsContentBlocker.h'],
'init_method': 'Init',
'categories': {'content-policy': '@mozilla.org/permissions/contentblocker;1'},
},
]

View File

@ -6,7 +6,10 @@
UNIFIED_SOURCES += [
'nsContentBlocker.cpp',
'nsModuleFactory.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'

View File

@ -1,31 +0,0 @@
/* 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 "nsIServiceManager.h"
#include "nsContentBlocker.h"
#include "nsString.h"
// Define the constructor function for the objects
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsContentBlocker, Init)
NS_DEFINE_NAMED_CID(NS_CONTENTBLOCKER_CID);
static const mozilla::Module::CIDEntry kPermissionsCIDs[] = {
{&kNS_CONTENTBLOCKER_CID, false, nullptr, nsContentBlockerConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kPermissionsContracts[] = {
{NS_CONTENTBLOCKER_CONTRACTID, &kNS_CONTENTBLOCKER_CID}, {nullptr}};
static const mozilla::Module::CategoryEntry kPermissionsCategories[] = {
{"content-policy", NS_CONTENTBLOCKER_CONTRACTID,
NS_CONTENTBLOCKER_CONTRACTID},
{nullptr}};
static const mozilla::Module kPermissionsModule = {
mozilla::Module::kVersion, kPermissionsCIDs, kPermissionsContracts,
kPermissionsCategories};
NSMODULE_DEFN(nsPermissionsModule) = &kPermissionsModule;

View File

@ -0,0 +1,16 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{ba5bc4c6-1dd1-11b2-bb89-b844c6ec0339}',
'contract_ids': ['@mozilla.org/readconfig;1'],
'type': 'nsReadConfig',
'headers': ['/extensions/pref/autoconfig/src/nsReadConfig.h'],
'init_method': 'Init',
'categories': {'pref-config-startup': 'ReadConfig Module'},
},
]

View File

@ -6,11 +6,14 @@
UNIFIED_SOURCES += [
'nsAutoConfig.cpp',
'nsConfigFactory.cpp',
'nsJSConfigTriggers.cpp',
'nsReadConfig.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'
FINAL_TARGET_FILES.defaults.autoconfig += [

View File

@ -1,37 +0,0 @@
/* -*- 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 "nsReadConfig.h"
#include "nsIAppStartupNotifier.h"
#define NS_READCONFIG_CID \
{ \
0xba5bc4c6, 0x1dd1, 0x11b2, { \
0xbb, 0x89, 0xb8, 0x44, 0xc6, 0xec, 0x03, 0x39 \
} \
}
#define NS_READCONFIG_CONTRACTID "@mozilla.org/readconfig;1"
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsReadConfig, Init)
NS_DEFINE_NAMED_CID(NS_READCONFIG_CID);
static const mozilla::Module::CIDEntry kAutoConfigCIDs[] = {
{&kNS_READCONFIG_CID, false, nullptr, nsReadConfigConstructor}, {nullptr}};
static const mozilla::Module::ContractIDEntry kAutoConfigContracts[] = {
{NS_READCONFIG_CONTRACTID, &kNS_READCONFIG_CID}, {nullptr}};
static const mozilla::Module::CategoryEntry kAutoConfigCategories[] = {
{"pref-config-startup", "ReadConfig Module", NS_READCONFIG_CONTRACTID},
{nullptr}};
static const mozilla::Module kAutoConfigModule = {
mozilla::Module::kVersion, kAutoConfigCIDs, kAutoConfigContracts,
kAutoConfigCategories};
NSMODULE_DEFN(nsAutoConfigModule) = &kAutoConfigModule;

View File

@ -72,6 +72,7 @@
#include "nsIPrefBranch.h"
#include "nsNetUtil.h"
#include "mozilla/dom/ContentParent.h"
#include "mozilla/Components.h"
using mozilla::dom::ContentParent;
using namespace mozilla;
@ -90,6 +91,14 @@ NS_INTERFACE_MAP_END
NS_IMPL_CYCLE_COLLECTION(mozHunspell, mPersonalDictionary)
NS_IMPL_COMPONENT_FACTORY(mozHunspell) {
auto hunspell = MakeRefPtr<mozHunspell>();
if (NS_SUCCEEDED(hunspell->Init())) {
return hunspell.forget().downcast<mozISpellCheckingEngine>();
}
return nullptr;
}
template <>
mozilla::CountingAllocatorBase<HunspellAllocator>::AmountType
mozilla::CountingAllocatorBase<HunspellAllocator>::sAmount(0);

View File

@ -0,0 +1,20 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{56c778e4-1bee-45f3-a689-886692a97fe7}',
'contract_ids': ['@mozilla.org/spellchecker/engine;1'],
'type': 'mozHunspell',
},
{
'cid': '{7ef52eaf-b7e1-462b-87e2-5d1dbaca9048}',
'contract_ids': ['@mozilla.org/spellchecker/personaldictionary;1'],
'type': 'mozPersonalDictionary',
'headers': ['/extensions/spellcheck/src/mozPersonalDictionary.h'],
'init_method': 'Init',
},
]

View File

@ -11,7 +11,10 @@ UNIFIED_SOURCES += [
'mozInlineSpellWordUtil.cpp',
'mozPersonalDictionary.cpp',
'mozSpellChecker.cpp',
'mozSpellCheckerFactory.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'

View File

@ -1,31 +0,0 @@
/* -*- Mode: C++; tab-width: 4; 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 "mozHunspell.h"
#include "mozPersonalDictionary.h"
#include "nsIFile.h"
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(mozHunspell, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(mozPersonalDictionary, Init)
NS_DEFINE_NAMED_CID(MOZ_HUNSPELL_CID);
NS_DEFINE_NAMED_CID(MOZ_PERSONALDICTIONARY_CID);
static const mozilla::Module::CIDEntry kSpellcheckCIDs[] = {
{&kMOZ_HUNSPELL_CID, false, nullptr, mozHunspellConstructor},
{&kMOZ_PERSONALDICTIONARY_CID, false, nullptr,
mozPersonalDictionaryConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kSpellcheckContracts[] = {
{MOZ_HUNSPELL_CONTRACTID, &kMOZ_HUNSPELL_CID},
{MOZ_PERSONALDICTIONARY_CONTRACTID, &kMOZ_PERSONALDICTIONARY_CID},
{nullptr}};
const mozilla::Module kSpellcheckModule = {
mozilla::Module::kVersion, kSpellcheckCIDs, kSpellcheckContracts, nullptr};
NSMODULE_DEFN(mozSpellCheckerModule) = &kSpellcheckModule;

14
gfx/src/components.conf Normal file
View File

@ -0,0 +1,14 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{a6cf9115-15b3-11d2-932e-00805f8add32}',
'contract_ids': ['@mozilla.org/gfx/fontenumerator;1'],
'type': 'nsThebesFontEnumerator',
'headers': ['/gfx/src/nsThebesFontEnumerator.h'],
},
]

View File

@ -68,7 +68,6 @@ UNIFIED_SOURCES += [
'nsRect.cpp',
'nsRegion.cpp',
'nsThebesFontEnumerator.cpp',
'nsThebesGfxFactory.cpp',
'nsTransform2D.cpp',
'TiledRegion.cpp',
]
@ -78,6 +77,10 @@ SOURCES += [
'nsDeviceContext.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
include('/ipc/chromium/chromium-config.mozbuild')
LOCAL_INCLUDES += [

View File

@ -1,40 +0,0 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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 "gfxPlatform.h" // for gfxPlatform
#include "mozilla/Assertions.h" // for MOZ_ASSERT_HELPER2
#include "mozilla/Attributes.h" // for final
#include "mozilla/Module.h" // for Module, Module::CIDEntry, etc
#include "mozilla/ModuleUtils.h"
#include "mozilla/mozalloc.h" // for operator new
#include "nsCOMPtr.h" // for nsCOMPtr
#include "nsError.h" // for NS_ERROR_NO_AGGREGATION, etc
#include "nsGfxCIID.h" // for NS_FONT_ENUMERATOR_CID, etc
#include "nsID.h" // for NS_DEFINE_NAMED_CID, etc
#include "nsISupports.h" // for NS_DECL_ISUPPORTS, etc
#include "nsThebesFontEnumerator.h" // for nsThebesFontEnumerator
NS_GENERIC_FACTORY_CONSTRUCTOR(nsThebesFontEnumerator)
NS_DEFINE_NAMED_CID(NS_FONT_ENUMERATOR_CID);
static const mozilla::Module::CIDEntry kThebesCIDs[] = {
{&kNS_FONT_ENUMERATOR_CID, false, nullptr,
nsThebesFontEnumeratorConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kThebesContracts[] = {
{"@mozilla.org/gfx/fontenumerator;1", &kNS_FONT_ENUMERATOR_CID}, {nullptr}};
static const mozilla::Module kThebesModule = {mozilla::Module::kVersion,
kThebesCIDs,
kThebesContracts,
nullptr,
nullptr,
nullptr,
nullptr};
NSMODULE_DEFN(nsGfxModule) = &kThebesModule;

View File

@ -10,7 +10,6 @@
#include "jsapi.h"
#include "jsfriendapi.h"
#include "js/Wrapper.h"
#include "mozilla/ModuleUtils.h"
#include "nsServiceManagerUtils.h"
#include "nsMemory.h"
@ -26,8 +25,6 @@
namespace mozilla {
namespace jsdebugger {
NS_GENERIC_FACTORY_CONSTRUCTOR(JSDebugger)
NS_IMPL_ISUPPORTS(JSDebugger, IJSDebugger)
JSDebugger::JSDebugger() {}
@ -75,18 +72,3 @@ JSDebugger::AddClass(JS::Handle<JS::Value> global, JSContext* cx) {
} // namespace jsdebugger
} // namespace mozilla
NS_DEFINE_NAMED_CID(JSDEBUGGER_CID);
static const mozilla::Module::CIDEntry kJSDebuggerCIDs[] = {
{&kJSDEBUGGER_CID, false, nullptr,
mozilla::jsdebugger::JSDebuggerConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kJSDebuggerContracts[] = {
{JSDEBUGGER_CONTRACTID, &kJSDEBUGGER_CID}, {nullptr}};
static const mozilla::Module kJSDebuggerModule = {
mozilla::Module::kVersion, kJSDebuggerCIDs, kJSDebuggerContracts};
NSMODULE_DEFN(jsdebugger) = &kJSDebuggerModule;

View File

@ -0,0 +1,14 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{0365cbd5-d46e-4e94-a39f-83b63cd1a963}',
'contract_ids': ['@mozilla.org/jsdebugger;1'],
'type': 'mozilla::jsdebugger::JSDebugger',
'headers': ['/js/ductwork/debugger/JSDebugger.h'],
},
]

View File

@ -19,6 +19,10 @@ SOURCES += [
'JSDebugger.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
EXTRA_JS_MODULES += [
'jsdebugger.jsm',
]

View File

@ -17,13 +17,13 @@
#include "mozilla/ArenaAllocator.h"
#include "mozilla/ArrayUtils.h"
#include "mozilla/Attributes.h"
#include "mozilla/Components.h"
#include "mozilla/dom/PContent.h"
#include "mozilla/HashFunctions.h"
#include "mozilla/HashTable.h"
#include "mozilla/Logging.h"
#include "mozilla/Maybe.h"
#include "mozilla/MemoryReporting.h"
#include "mozilla/ModuleUtils.h"
#include "mozilla/Omnijar.h"
#include "mozilla/Preferences.h"
#include "mozilla/ResultExtensions.h"
@ -5409,35 +5409,16 @@ static void InitVarCachePref(const nsACString& aName, float* aCache,
// Module and factory stuff
//===========================================================================
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(Preferences,
Preferences::GetInstanceForService)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrefLocalizedString, Init)
NS_IMPL_COMPONENT_FACTORY(nsPrefLocalizedString) {
auto str = MakeRefPtr<nsPrefLocalizedString>();
if (NS_SUCCEEDED(str->Init())) {
return str.forget().downcast<nsISupports>();
}
return nullptr;
}
static NS_DEFINE_CID(kPrefServiceCID, NS_PREFSERVICE_CID);
static NS_DEFINE_CID(kPrefLocalizedStringCID, NS_PREFLOCALIZEDSTRING_CID);
namespace mozilla {
static mozilla::Module::CIDEntry kPrefCIDs[] = {
{&kPrefServiceCID, true, nullptr, PreferencesConstructor,
Module::ALLOW_IN_SOCKET_PROCESS},
{&kPrefLocalizedStringCID, false, nullptr,
nsPrefLocalizedStringConstructor},
{nullptr}};
void UnloadPrefsModule() { Preferences::Shutdown(); }
static mozilla::Module::ContractIDEntry kPrefContracts[] = {
{NS_PREFSERVICE_CONTRACTID, &kPrefServiceCID,
Module::ALLOW_IN_SOCKET_PROCESS},
{NS_PREFLOCALIZEDSTRING_CONTRACTID, &kPrefLocalizedStringCID},
{nullptr}};
static void UnloadPrefsModule() { Preferences::Shutdown(); }
static const mozilla::Module kPrefModule = {mozilla::Module::kVersion,
kPrefCIDs,
kPrefContracts,
nullptr,
nullptr,
nullptr,
UnloadPrefsModule,
Module::ALLOW_IN_SOCKET_PROCESS};
NSMODULE_DEFN(nsPrefModule) = &kPrefModule;
}

View File

@ -33,6 +33,8 @@ class nsPrefBranch;
namespace mozilla {
void UnloadPrefsModule();
// A typesafe version of PrefChangeFunc, with its data argument type deduced
// from the type of the argument passed to RegisterCallback.
//

View File

@ -0,0 +1,27 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Headers = [
'mozilla/Preferences.h',
]
UnloadFunc = 'mozilla::UnloadPrefsModule'
Classes = [
{
'cid': '{91ca2441-050f-4f7c-9df8-75b40ea40156}',
'contract_ids': ['@mozilla.org/preferences-service;1'],
'singleton': True,
'type': 'mozilla::Preferences',
'headers': ['mozilla/Preferences.h'],
'constructor': 'mozilla::Preferences::GetInstanceForService',
},
{
'cid': '{064d9cee-1dd2-11b2-83e3-d25ab0193c26}',
'contract_ids': ['@mozilla.org/pref-localizedstring;1'],
'type': 'nsPrefLocalizedString',
},
]

View File

@ -36,6 +36,10 @@ UNIFIED_SOURCES += [
'SharedPrefMap.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'

View File

@ -4,7 +4,14 @@
# 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/.
Classes = []
Classes = [
{
'cid': '{14a50f2b-7ff6-48a5-88e3-615fd111f5d3}',
'contract_ids': ['@mozilla.org/toolkit/components/mdnsresponder/dns-info;1'],
'type': 'mozilla::net::nsDNSServiceInfo',
'headers': ['/netwerk/dns/mdns/libmdns/nsDNSServiceInfo.h'],
},
]
if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'cocoa':
Classes += [

View File

@ -34,7 +34,10 @@ else:
UNIFIED_SOURCES += [
'nsDNSServiceInfo.cpp',
'nsMulticastDNSModule.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
XPCOM_MANIFESTS += [

View File

@ -1,63 +0,0 @@
/* -*- 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/. */
#if defined(MOZ_WIDGET_COCOA)
# define ENABLE_DNS_SERVICE_DISCOVERY
#endif
#include "mozilla/ModuleUtils.h"
#ifdef ENABLE_DNS_SERVICE_DISCOVERY
# include "nsDNSServiceDiscovery.h"
#endif
#include "nsDNSServiceInfo.h"
#ifdef ENABLE_DNS_SERVICE_DISCOVERY
using mozilla::net::nsDNSServiceDiscovery;
# define DNSSERVICEDISCOVERY_CID \
{ \
0x8df43d23, 0xd3f9, 0x4dd5, { \
0xb9, 0x65, 0xde, 0x2c, 0xa3, 0xf6, 0xa4, 0x2c \
} \
}
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsDNSServiceDiscovery, Init)
NS_DEFINE_NAMED_CID(DNSSERVICEDISCOVERY_CID);
#endif // ENABLE_DNS_SERVICE_DISCOVERY
using mozilla::net::nsDNSServiceInfo;
#define DNSSERVICEINFO_CID \
{ \
0x14a50f2b, 0x7ff6, 0x48a5, { \
0x88, 0xe3, 0x61, 0x5f, 0xd1, 0x11, 0xf5, 0xd3 \
} \
}
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDNSServiceInfo)
NS_DEFINE_NAMED_CID(DNSSERVICEINFO_CID);
static const mozilla::Module::CIDEntry knsDNSServiceDiscoveryCIDs[] = {
#ifdef ENABLE_DNS_SERVICE_DISCOVERY
{&kDNSSERVICEDISCOVERY_CID, false, nullptr,
nsDNSServiceDiscoveryConstructor},
#endif
{&kDNSSERVICEINFO_CID, false, nullptr, nsDNSServiceInfoConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry
knsDNSServiceDiscoveryContracts[] = {
#ifdef ENABLE_DNS_SERVICE_DISCOVERY
{DNSSERVICEDISCOVERY_CONTRACT_ID, &kDNSSERVICEDISCOVERY_CID},
#endif
{DNSSERVICEINFO_CONTRACT_ID, &kDNSSERVICEINFO_CID},
{nullptr}};
static const mozilla::Module::CategoryEntry knsDNSServiceDiscoveryCategories[] =
{{nullptr}};
static const mozilla::Module knsDNSServiceDiscoveryModule = {
mozilla::Module::kVersion, knsDNSServiceDiscoveryCIDs,
knsDNSServiceDiscoveryContracts, knsDNSServiceDiscoveryCategories};
NSMODULE_DEFN(nsDNSServiceDiscoveryModule) = &knsDNSServiceDiscoveryModule;

View File

@ -0,0 +1,13 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{ee706783-3af8-4d19-9e84-e2ebfe213480}',
'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-gio'],
'type': 'nsGIOProtocolHandler',
},
]

View File

@ -8,6 +8,10 @@ SOURCES += [
'nsGIOProtocolHandler.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'
CXXFLAGS += CONFIG['TK_CFLAGS']

View File

@ -7,7 +7,7 @@
* This code is based on original Mozilla gnome-vfs extension. It implements
* input stream provided by GVFS/GIO.
*/
#include "mozilla/ModuleUtils.h"
#include "mozilla/Components.h"
#include "mozilla/NullPrincipal.h"
#include "nsIPrefService.h"
#include "nsIPrefBranch.h"
@ -32,6 +32,8 @@
#include <gio/gio.h>
#include <algorithm>
using namespace mozilla;
#define MOZ_GIO_SCHEME "moz-gio"
#define MOZ_GIO_SUPPORTED_PROTOCOLS "network.gio.supported-protocols"
@ -845,6 +847,14 @@ class nsGIOProtocolHandler final : public nsIProtocolHandler,
NS_IMPL_ISUPPORTS(nsGIOProtocolHandler, nsIProtocolHandler, nsIObserver)
NS_IMPL_COMPONENT_FACTORY(nsGIOProtocolHandler) {
auto inst = MakeRefPtr<nsGIOProtocolHandler>();
if (NS_SUCCEEDED(inst->Init())) {
return inst.forget().downcast<nsIProtocolHandler>();
}
return nullptr;
}
nsresult nsGIOProtocolHandler::Init() {
nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
if (prefs) {
@ -1008,30 +1018,3 @@ nsGIOProtocolHandler::Observe(nsISupports *aSubject, const char *aTopic,
}
return NS_OK;
}
//-----------------------------------------------------------------------------
#define NS_GIOPROTOCOLHANDLER_CID \
{ /* ee706783-3af8-4d19-9e84-e2ebfe213480 */ \
0xee706783, 0x3af8, 0x4d19, { \
0x9e, 0x84, 0xe2, 0xeb, 0xfe, 0x21, 0x34, 0x80 \
} \
}
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGIOProtocolHandler, Init)
NS_DEFINE_NAMED_CID(NS_GIOPROTOCOLHANDLER_CID);
static const mozilla::Module::CIDEntry kVFSCIDs[] = {
{&kNS_GIOPROTOCOLHANDLER_CID, false, nullptr,
nsGIOProtocolHandlerConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kVFSContracts[] = {
{NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX MOZ_GIO_SCHEME,
&kNS_GIOPROTOCOLHANDLER_CID},
{nullptr}};
static const mozilla::Module kVFSModule = {mozilla::Module::kVersion, kVFSCIDs,
kVFSContracts};
NSMODULE_DEFN(nsGIOModule) = &kVFSModule;

View File

@ -0,0 +1,20 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Headers = [
'nsHTMLTags.h',
]
UnloadFunc = 'nsHTMLTags::ReleaseTable'
Classes = [
{
'cid': '{2ce606b0-bee6-11d1-aad9-00805f8a3e14}',
'contract_ids': [],
'type': 'nsParser',
'headers': ['/parser/htmlparser/nsParser.h'],
},
]

View File

@ -46,6 +46,10 @@ UNIFIED_SOURCES += [
'nsScannerString.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):

View File

@ -0,0 +1,27 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{4bfaa9f0-1dd2-11b2-afae-a82cbaa0b606}',
'contract_ids': ['@mozilla.org/security/nsASN1Tree;1'],
'type': 'nsNSSASN1Tree',
'headers': ['/security/manager/pki/nsASN1Tree.h'],
},
{
'cid': '{518e071f-1dd2-11b2-937e-c45f14def778}',
'contract_ids': [
'@mozilla.org/nsCertificateDialogs;1',
'@mozilla.org/nsClientAuthDialogs;1',
'@mozilla.org/nsGeneratingKeypairInfoDialogs;1',
'@mozilla.org/nsTokenDialogs;1',
'@mozilla.org/nsTokenPasswordDialogs;1',
],
'type': 'nsNSSDialogs',
'headers': ['/security/manager/pki/nsNSSDialogs.h'],
'init_method': 'Init',
},
]

View File

@ -16,7 +16,10 @@ UNIFIED_SOURCES += [
'nsASN1Tree.cpp',
'nsNSSDialogHelper.cpp',
'nsNSSDialogs.cpp',
'nsPKIModule.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
LOCAL_INCLUDES += [

View File

@ -1,34 +0,0 @@
/* -*- 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 "nsASN1Tree.h"
#include "nsNSSDialogs.h"
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNSSDialogs, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsNSSASN1Tree)
NS_DEFINE_NAMED_CID(NS_NSSDIALOGS_CID);
NS_DEFINE_NAMED_CID(NS_NSSASN1OUTINER_CID);
static const mozilla::Module::CIDEntry kPKICIDs[] = {
{&kNS_NSSDIALOGS_CID, false, nullptr, nsNSSDialogsConstructor},
{&kNS_NSSASN1OUTINER_CID, false, nullptr, nsNSSASN1TreeConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kPKIContracts[] = {
{NS_TOKENPASSWORDSDIALOG_CONTRACTID, &kNS_NSSDIALOGS_CID},
{NS_CERTIFICATEDIALOGS_CONTRACTID, &kNS_NSSDIALOGS_CID},
{NS_CLIENTAUTHDIALOGS_CONTRACTID, &kNS_NSSDIALOGS_CID},
{NS_TOKENDIALOGS_CONTRACTID, &kNS_NSSDIALOGS_CID},
{NS_GENERATINGKEYPAIRINFODIALOGS_CONTRACTID, &kNS_NSSDIALOGS_CID},
{NS_ASN1TREE_CONTRACTID, &kNS_NSSASN1OUTINER_CID},
{nullptr}};
static const mozilla::Module kPKIModule = {mozilla::Module::kVersion, kPKICIDs,
kPKIContracts};
NSMODULE_DEFN(PKI) = &kPKIModule;

View File

@ -6,11 +6,13 @@
#include "mozISandboxSettings.h"
#include "mozilla/ModuleUtils.h"
#include "mozilla/Components.h"
#include "mozilla/Preferences.h"
#include "prenv.h"
using namespace mozilla;
namespace mozilla {
int GetEffectiveContentSandboxLevel() {
@ -72,20 +74,9 @@ NS_IMETHODIMP SandboxSettings::GetEffectiveContentSandboxLevel(
return NS_OK;
}
NS_GENERIC_FACTORY_CONSTRUCTOR(SandboxSettings)
NS_DEFINE_NAMED_CID(MOZ_SANDBOX_SETTINGS_CID);
static const mozilla::Module::CIDEntry kSandboxSettingsCIDs[] = {
{&kMOZ_SANDBOX_SETTINGS_CID, false, nullptr, SandboxSettingsConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kSandboxSettingsContracts[] = {
{MOZ_SANDBOX_SETTINGS_CONTRACTID, &kMOZ_SANDBOX_SETTINGS_CID}, {nullptr}};
static const mozilla::Module kSandboxSettingsModule = {
mozilla::Module::kVersion, kSandboxSettingsCIDs, kSandboxSettingsContracts};
NSMODULE_DEFN(SandboxSettingsModule) = &kSandboxSettingsModule;
} // namespace mozilla
NS_IMPL_COMPONENT_FACTORY(mozISandboxSettings) {
return MakeAndAddRef<SandboxSettings>().downcast<nsISupports>();
}

View File

@ -0,0 +1,13 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{5516303d-9007-45a0-94b9-940ef134a6e2}',
'contract_ids': ['@mozilla.org/sandbox/sandbox-settings;1'],
'type': 'mozISandboxSettings',
},
]

View File

@ -9,6 +9,10 @@ with Files('**'):
UNIFIED_SOURCES += ['SandboxSettings.cpp']
XPCOM_MANIFESTS += [
'components.conf',
]
XPIDL_SOURCES += [
'mozISandboxSettings.idl',
]

View File

@ -10,12 +10,14 @@
#include <time.h>
#include "mozilla/Assertions.h"
#include "mozilla/ModuleUtils.h"
#include "mozilla/Components.h"
#include "nsCOMPtr.h"
#include "nsPrintfCString.h"
#include "nsTArray.h"
#include "nsXULAppAPI.h"
using namespace mozilla;
namespace mozilla {
class SandboxReportWrapper final : public mozISandboxReport {
@ -181,21 +183,8 @@ NS_IMETHODIMP SandboxReporterWrapper::Snapshot(
return NS_OK;
}
NS_GENERIC_FACTORY_CONSTRUCTOR(SandboxReporterWrapper)
NS_DEFINE_NAMED_CID(MOZ_SANDBOX_REPORTER_CID);
static const mozilla::Module::CIDEntry kSandboxReporterCIDs[] = {
{&kMOZ_SANDBOX_REPORTER_CID, false, nullptr,
SandboxReporterWrapperConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kSandboxReporterContracts[] = {
{MOZ_SANDBOX_REPORTER_CONTRACTID, &kMOZ_SANDBOX_REPORTER_CID}, {nullptr}};
static const mozilla::Module kSandboxReporterModule = {
mozilla::Module::kVersion, kSandboxReporterCIDs, kSandboxReporterContracts};
NSMODULE_DEFN(SandboxReporterModule) = &kSandboxReporterModule;
} // namespace mozilla
NS_IMPL_COMPONENT_FACTORY(mozISandboxReporter) {
return MakeAndAddRef<SandboxReporterWrapper>().downcast<nsISupports>();
}

View File

@ -0,0 +1,13 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{5118a6f9-2493-4f97-9552-620663e03cb3}',
'contract_ids': ['@mozilla.org/sandbox/syscall-reporter;1'],
'type': 'mozISandboxReporter',
},
]

View File

@ -14,6 +14,10 @@ SOURCES += [
'SandboxReporterWrappers.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
LOCAL_INCLUDES += [
'/security/sandbox/linux', # SandboxLogging.h
]

View File

@ -5,7 +5,6 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIIdentityCryptoService.h"
#include "mozilla/ModuleUtils.h"
#include "nsServiceManagerUtils.h"
#include "nsIThread.h"
#include "nsThreadUtils.h"
@ -14,6 +13,7 @@
#include "nsString.h"
#include "mozilla/ArrayUtils.h" // ArrayLength
#include "mozilla/Base64.h"
#include "mozilla/Components.h"
#include "ScopedNSSTypes.h"
#include "NSSErrorsService.h"
@ -449,31 +449,14 @@ SignRunnable::Run() {
return NS_OK;
}
} // unnamed namespace
// XPCOM module registration
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(IdentityCryptoService, Init)
#define NS_IDENTITYCRYPTOSERVICE_CID \
{ \
0xbea13a3a, 0x44e8, 0x4d7f, { \
0xa0, 0xa2, 0x2c, 0x67, 0xf8, 0x4e, 0x3a, 0x97 \
} \
NS_IMPL_COMPONENT_FACTORY(nsIIdentityCryptoService) {
auto inst = MakeRefPtr<IdentityCryptoService>();
if (NS_SUCCEEDED(inst->Init())) {
return inst.forget().downcast<nsIIdentityCryptoService>();
}
NS_DEFINE_NAMED_CID(NS_IDENTITYCRYPTOSERVICE_CID);
const mozilla::Module::CIDEntry kCIDs[] = {
{&kNS_IDENTITYCRYPTOSERVICE_CID, false, nullptr,
IdentityCryptoServiceConstructor},
{nullptr}};
const mozilla::Module::ContractIDEntry kContracts[] = {
{"@mozilla.org/identity/crypto-service;1", &kNS_IDENTITYCRYPTOSERVICE_CID},
{nullptr}};
const mozilla::Module kModule = {mozilla::Module::kVersion, kCIDs, kContracts};
} // unnamed namespace
NSMODULE_DEFN(identity) = &kModule;
return nullptr;
}

View File

@ -0,0 +1,13 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{bea13a3a-44e8-4d7f-a0a2-2c67f84e3a97}',
'contract_ids': ['@mozilla.org/identity/crypto-service;1'],
'type': 'nsIIdentityCryptoService',
},
]

View File

@ -14,4 +14,8 @@ SOURCES += [
'IdentityCryptoService.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'

View File

@ -0,0 +1,25 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{bbbb1d61-438f-4436-92ed-8308e5830fb0}',
'contract_ids': ['@mozilla.org/storage/service;1'],
'singleton': True,
'type': 'mozilla::storage::Service',
'headers': ['/storage/mozStorageService.h'],
'constructor': 'mozilla::storage::Service::getSingleton',
},
{
'cid': '{3b667ee0-d2da-4ccc-9c3d-95f2ca6a8b4c}',
'contract_ids': ['@mozilla.org/storage/vacuum;1'],
'singleton': True,
'type': 'mozilla::storage::VacuumManager',
'headers': ['/storage/VacuumManager.h'],
'constructor': 'mozilla::storage::VacuumManager::getSingleton',
'categories': {'idle-daily': 'MozStorage Vacuum Manager'},
},
]

View File

@ -8,14 +8,10 @@ EXPORTS += [
'mozStorageCID.h',
]
SOURCES += [
'mozStorageModule.cpp',
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'..',
]
CXXFLAGS += CONFIG['SQLITE_CFLAGS']

View File

@ -1,48 +0,0 @@
/* -*- Mode: C++; tab-width: 4; 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 "nsCOMPtr.h"
#include "mozilla/ModuleUtils.h"
#include "mozStorageService.h"
#include "mozStorageConnection.h"
#include "VacuumManager.h"
#include "mozStorageCID.h"
namespace mozilla {
namespace storage {
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(Service, Service::getSingleton)
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(VacuumManager,
VacuumManager::getSingleton)
} // namespace storage
} // namespace mozilla
NS_DEFINE_NAMED_CID(MOZ_STORAGE_SERVICE_CID);
NS_DEFINE_NAMED_CID(VACUUMMANAGER_CID);
static const mozilla::Module::CIDEntry kStorageCIDs[] = {
{&kMOZ_STORAGE_SERVICE_CID, false, nullptr,
mozilla::storage::ServiceConstructor},
{&kVACUUMMANAGER_CID, false, nullptr,
mozilla::storage::VacuumManagerConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kStorageContracts[] = {
{MOZ_STORAGE_SERVICE_CONTRACTID, &kMOZ_STORAGE_SERVICE_CID},
{VACUUMMANAGER_CONTRACTID, &kVACUUMMANAGER_CID},
{nullptr}};
static const mozilla::Module::CategoryEntry kStorageCategories[] = {
{"idle-daily", "MozStorage Vacuum Manager", VACUUMMANAGER_CONTRACTID},
{nullptr}};
static const mozilla::Module kStorageModule = {mozilla::Module::kVersion,
kStorageCIDs, kStorageContracts,
kStorageCategories};
NSMODULE_DEFN(mozStorageModule) = &kStorageModule;

View File

@ -33,6 +33,8 @@
#include "mozilla/Logging.h"
#include "mozilla/UniquePtr.h"
#include "nsStringFwd.h"
#include "nsTArray.h"
#include <functional>
#include <stdint.h>

View File

@ -0,0 +1,15 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{25db9b8e-8123-4de1-b66d-8bbbedf2cdf4}',
'contract_ids': ['@mozilla.org/tools/profiler;1'],
'type': 'nsProfiler',
'headers': ['/tools/profiler/gecko/nsProfiler.h'],
'init_method': 'Init',
},
]

View File

@ -1,25 +0,0 @@
/* -*- Mode: C++; tab-width: 20; 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 "nsProfiler.h"
#include "nsProfilerCIID.h"
#include "mozilla/ModuleUtils.h"
#include "nsCOMPtr.h"
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsProfiler, Init)
NS_DEFINE_NAMED_CID(NS_PROFILER_CID);
static const mozilla::Module::CIDEntry kProfilerCIDs[] = {
{&kNS_PROFILER_CID, false, nullptr, nsProfilerConstructor}, {nullptr}};
static const mozilla::Module::ContractIDEntry kProfilerContracts[] = {
{"@mozilla.org/tools/profiler;1", &kNS_PROFILER_CID}, {nullptr}};
static const mozilla::Module kProfilerModule = {
mozilla::Module::kVersion, kProfilerCIDs, kProfilerContracts};
NSMODULE_DEFN(nsProfilerModule) = &kProfilerModule;

View File

@ -30,7 +30,6 @@ if CONFIG['MOZ_GECKO_PROFILER']:
'core/ProfilerMarkerPayload.cpp',
'core/RegisteredThread.cpp',
'gecko/ChildProfilerController.cpp',
'gecko/nsProfilerFactory.cpp',
'gecko/nsProfilerStartParams.cpp',
'gecko/ProfilerChild.cpp',
'gecko/ProfilerIOInterposeObserver.cpp',
@ -42,6 +41,10 @@ if CONFIG['MOZ_GECKO_PROFILER']:
'core/memory_hooks.cpp', # conflicts with platform.h class Thread
]
XPCOM_MANIFESTS += [
'gecko/components.conf',
]
if CONFIG['OS_TARGET'] == 'Darwin':
# This file cannot be built in unified mode because it includes
# "nsLocalFile.h", which pulls in a system header which uses a type

View File

@ -0,0 +1,21 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
Classes = [
{
'cid': '{0099907d-123c-4853-a46a-43098b5fb68c}',
'contract_ids': ['@mozilla.org/appshell/appShellService;1'],
'type': 'nsAppShellService',
'headers': ['/xpfe/appshell/nsAppShellService.h'],
},
{
'cid': '{79a2b7cc-f05b-4605-bfa0-fac54f27eec8}',
'contract_ids': ['@mozilla.org/appshell/window-mediator;1'],
'type': 'nsWindowMediator',
'headers': ['/xpfe/appshell/nsWindowMediator.h'],
'init_method': 'Init',
},
]

View File

@ -26,7 +26,6 @@ EXPORTS += [
]
UNIFIED_SOURCES += [
'nsAppShellFactory.cpp',
'nsAppShellService.cpp',
'nsAppShellWindowEnumerator.cpp',
'nsChromeTreeOwner.cpp',
@ -36,6 +35,10 @@ UNIFIED_SOURCES += [
'nsXULWindow.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
LOCAL_INCLUDES += [
'/dom/base',
'/dom/xul',

View File

@ -1,38 +0,0 @@
/* -*- 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 "nscore.h"
#include "nsIWindowMediator.h"
#include "nsIAppShellService.h"
#include "nsAppShellService.h"
#include "nsWindowMediator.h"
#include "nsChromeTreeOwner.h"
#include "nsAppShellCID.h"
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppShellService)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsWindowMediator, Init)
NS_DEFINE_NAMED_CID(NS_APPSHELLSERVICE_CID);
NS_DEFINE_NAMED_CID(NS_WINDOWMEDIATOR_CID);
static const mozilla::Module::CIDEntry kAppShellCIDs[] = {
{&kNS_APPSHELLSERVICE_CID, false, nullptr, nsAppShellServiceConstructor},
{&kNS_WINDOWMEDIATOR_CID, false, nullptr, nsWindowMediatorConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kAppShellContracts[] = {
{NS_APPSHELLSERVICE_CONTRACTID, &kNS_APPSHELLSERVICE_CID},
{NS_WINDOWMEDIATOR_CONTRACTID, &kNS_WINDOWMEDIATOR_CID},
{nullptr}};
static const mozilla::Module kAppShellModule = {
mozilla::Module::kVersion,
kAppShellCIDs,
kAppShellContracts,
};
NSMODULE_DEFN(appshell) = &kAppShellModule;