mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-28 01:57:30 +09:00
Make the Add-on Manager's binary components build
This commit is contained in:
parent
fb319fb148
commit
16ace66629
2 changed files with 28 additions and 6 deletions
|
|
@ -35,7 +35,9 @@
|
||||||
#include "nsBrowserStatusFilter.h"
|
#include "nsBrowserStatusFilter.h"
|
||||||
#include "mozilla/FinalizationWitnessService.h"
|
#include "mozilla/FinalizationWitnessService.h"
|
||||||
#include "mozilla/NativeOSFileInternals.h"
|
#include "mozilla/NativeOSFileInternals.h"
|
||||||
|
#ifdef MOZ_WEBEXTENSIONS
|
||||||
#include "mozilla/AddonContentPolicy.h"
|
#include "mozilla/AddonContentPolicy.h"
|
||||||
|
#endif
|
||||||
#include "mozilla/AddonPathService.h"
|
#include "mozilla/AddonPathService.h"
|
||||||
|
|
||||||
#if defined(XP_WIN)
|
#if defined(XP_WIN)
|
||||||
|
|
@ -122,7 +124,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(FinalizationWitnessService, Init)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(NativeOSFileInternalsService)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(NativeOSFileInternalsService)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(NativeFileWatcherService, Init)
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(NativeFileWatcherService, Init)
|
||||||
|
|
||||||
|
#ifdef MOZ_WEBEXTENSIONS
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(AddonContentPolicy)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(AddonContentPolicy)
|
||||||
|
#endif
|
||||||
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(AddonPathService, AddonPathService::GetInstance)
|
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(AddonPathService, AddonPathService::GetInstance)
|
||||||
|
|
||||||
NS_DEFINE_NAMED_CID(NS_TOOLKIT_APPSTARTUP_CID);
|
NS_DEFINE_NAMED_CID(NS_TOOLKIT_APPSTARTUP_CID);
|
||||||
|
|
@ -155,7 +159,9 @@ NS_DEFINE_NAMED_CID(NS_UPDATEPROCESSOR_CID);
|
||||||
#endif
|
#endif
|
||||||
NS_DEFINE_NAMED_CID(FINALIZATIONWITNESSSERVICE_CID);
|
NS_DEFINE_NAMED_CID(FINALIZATIONWITNESSSERVICE_CID);
|
||||||
NS_DEFINE_NAMED_CID(NATIVE_OSFILE_INTERNALS_SERVICE_CID);
|
NS_DEFINE_NAMED_CID(NATIVE_OSFILE_INTERNALS_SERVICE_CID);
|
||||||
|
#ifdef MOZ_WEBEXTENSIONS
|
||||||
NS_DEFINE_NAMED_CID(NS_ADDONCONTENTPOLICY_CID);
|
NS_DEFINE_NAMED_CID(NS_ADDONCONTENTPOLICY_CID);
|
||||||
|
#endif
|
||||||
NS_DEFINE_NAMED_CID(NS_ADDON_PATH_SERVICE_CID);
|
NS_DEFINE_NAMED_CID(NS_ADDON_PATH_SERVICE_CID);
|
||||||
NS_DEFINE_NAMED_CID(NATIVE_FILEWATCHER_SERVICE_CID);
|
NS_DEFINE_NAMED_CID(NATIVE_FILEWATCHER_SERVICE_CID);
|
||||||
|
|
||||||
|
|
@ -189,7 +195,9 @@ static const Module::CIDEntry kToolkitCIDs[] = {
|
||||||
#endif
|
#endif
|
||||||
{ &kFINALIZATIONWITNESSSERVICE_CID, false, nullptr, FinalizationWitnessServiceConstructor },
|
{ &kFINALIZATIONWITNESSSERVICE_CID, false, nullptr, FinalizationWitnessServiceConstructor },
|
||||||
{ &kNATIVE_OSFILE_INTERNALS_SERVICE_CID, false, nullptr, NativeOSFileInternalsServiceConstructor },
|
{ &kNATIVE_OSFILE_INTERNALS_SERVICE_CID, false, nullptr, NativeOSFileInternalsServiceConstructor },
|
||||||
|
#ifdef MOZ_WEBEXTENSIONS
|
||||||
{ &kNS_ADDONCONTENTPOLICY_CID, false, nullptr, AddonContentPolicyConstructor },
|
{ &kNS_ADDONCONTENTPOLICY_CID, false, nullptr, AddonContentPolicyConstructor },
|
||||||
|
#endif
|
||||||
{ &kNS_ADDON_PATH_SERVICE_CID, false, nullptr, AddonPathServiceConstructor },
|
{ &kNS_ADDON_PATH_SERVICE_CID, false, nullptr, AddonPathServiceConstructor },
|
||||||
{ &kNATIVE_FILEWATCHER_SERVICE_CID, false, nullptr, NativeFileWatcherServiceConstructor },
|
{ &kNATIVE_FILEWATCHER_SERVICE_CID, false, nullptr, NativeFileWatcherServiceConstructor },
|
||||||
{ nullptr }
|
{ nullptr }
|
||||||
|
|
@ -225,14 +233,18 @@ static const Module::ContractIDEntry kToolkitContracts[] = {
|
||||||
#endif
|
#endif
|
||||||
{ FINALIZATIONWITNESSSERVICE_CONTRACTID, &kFINALIZATIONWITNESSSERVICE_CID },
|
{ FINALIZATIONWITNESSSERVICE_CONTRACTID, &kFINALIZATIONWITNESSSERVICE_CID },
|
||||||
{ NATIVE_OSFILE_INTERNALS_SERVICE_CONTRACTID, &kNATIVE_OSFILE_INTERNALS_SERVICE_CID },
|
{ NATIVE_OSFILE_INTERNALS_SERVICE_CONTRACTID, &kNATIVE_OSFILE_INTERNALS_SERVICE_CID },
|
||||||
|
#ifdef MOZ_WEBEXTENSIONS
|
||||||
{ NS_ADDONCONTENTPOLICY_CONTRACTID, &kNS_ADDONCONTENTPOLICY_CID },
|
{ NS_ADDONCONTENTPOLICY_CONTRACTID, &kNS_ADDONCONTENTPOLICY_CID },
|
||||||
|
#endif
|
||||||
{ NS_ADDONPATHSERVICE_CONTRACTID, &kNS_ADDON_PATH_SERVICE_CID },
|
{ NS_ADDONPATHSERVICE_CONTRACTID, &kNS_ADDON_PATH_SERVICE_CID },
|
||||||
{ NATIVE_FILEWATCHER_SERVICE_CONTRACTID, &kNATIVE_FILEWATCHER_SERVICE_CID },
|
{ NATIVE_FILEWATCHER_SERVICE_CONTRACTID, &kNATIVE_FILEWATCHER_SERVICE_CID },
|
||||||
{ nullptr }
|
{ nullptr }
|
||||||
};
|
};
|
||||||
|
|
||||||
static const mozilla::Module::CategoryEntry kToolkitCategories[] = {
|
static const mozilla::Module::CategoryEntry kToolkitCategories[] = {
|
||||||
|
#ifdef MOZ_WEBEXTENSIONS
|
||||||
{ "content-policy", NS_ADDONCONTENTPOLICY_CONTRACTID, NS_ADDONCONTENTPOLICY_CONTRACTID },
|
{ "content-policy", NS_ADDONCONTENTPOLICY_CONTRACTID, NS_ADDONCONTENTPOLICY_CONTRACTID },
|
||||||
|
#endif
|
||||||
{ nullptr }
|
{ nullptr }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,13 @@
|
||||||
#include "nsThreadUtils.h"
|
#include "nsThreadUtils.h"
|
||||||
#include "nsIIOService.h"
|
#include "nsIIOService.h"
|
||||||
#include "nsNetUtil.h"
|
#include "nsNetUtil.h"
|
||||||
|
#include "nsIFileURL.h"
|
||||||
#include "nsIResProtocolHandler.h"
|
#include "nsIResProtocolHandler.h"
|
||||||
#include "nsIChromeRegistry.h"
|
#include "nsIChromeRegistry.h"
|
||||||
#include "nsIJARURI.h"
|
#include "nsIJARURI.h"
|
||||||
#include "nsJSUtils.h"
|
#include "nsJSUtils.h"
|
||||||
#include "mozilla/dom/ScriptSettings.h"
|
#include "mozilla/dom/ScriptSettings.h"
|
||||||
|
#include "mozilla/dom/ToJSValue.h"
|
||||||
#include "mozilla/AddonPathService.h"
|
#include "mozilla/AddonPathService.h"
|
||||||
#include "mozilla/Omnijar.h"
|
#include "mozilla/Omnijar.h"
|
||||||
|
|
||||||
|
|
@ -64,6 +66,18 @@ AddonPathService::GetInstance()
|
||||||
return sInstance;
|
return sInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static JSAddonId*
|
||||||
|
ConvertAddonId(const nsAString& addonIdString)
|
||||||
|
{
|
||||||
|
AutoSafeJSContext cx;
|
||||||
|
JS::RootedValue strv(cx);
|
||||||
|
if (!mozilla::dom::ToJSValue(cx, addonIdString, &strv)) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
JS::RootedString str(cx, strv.toString());
|
||||||
|
return JS::NewAddonId(cx, str);
|
||||||
|
}
|
||||||
|
|
||||||
JSAddonId*
|
JSAddonId*
|
||||||
AddonPathService::Find(const nsAString& path)
|
AddonPathService::Find(const nsAString& path)
|
||||||
{
|
{
|
||||||
|
|
@ -106,11 +120,7 @@ AddonPathService::FindAddonId(const nsAString& path)
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
AddonPathService::InsertPath(const nsAString& path, const nsAString& addonIdString)
|
AddonPathService::InsertPath(const nsAString& path, const nsAString& addonIdString)
|
||||||
{
|
{
|
||||||
AutoSafeJSContext cx;
|
JSAddonId* addonId = ConvertAddonId(addonIdString);
|
||||||
JS::RootedString str(cx, JS_NewUCStringCopyN(cx,
|
|
||||||
addonIdString.BeginReading(),
|
|
||||||
addonIdString.Length()));
|
|
||||||
JSAddonId* addonId = JS::NewAddonId(cx, str);
|
|
||||||
|
|
||||||
// Add the new path in sorted order.
|
// Add the new path in sorted order.
|
||||||
PathEntryComparator comparator;
|
PathEntryComparator comparator;
|
||||||
|
|
@ -193,7 +203,7 @@ ResolveURI(nsIURI* aURI, nsAString& out)
|
||||||
JSAddonId*
|
JSAddonId*
|
||||||
MapURIToAddonID(nsIURI* aURI)
|
MapURIToAddonID(nsIURI* aURI)
|
||||||
{
|
{
|
||||||
if (!NS_IsMainThread() || XRE_GetProcessType() != GoannaProcessType_Default) {
|
if (!NS_IsMainThread() || !XRE_IsParentProcess()) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue