Bug 1817310 - Make js/xpconnect/wrappers buildable outside of a unified build environment r=andi

Differential Revision: https://phabricator.services.mozilla.com/D170127
This commit is contained in:
serge-sans-paille 2023-02-19 21:40:37 +00:00
Родитель 184ea2a9f8
Коммит e5695fd625
3 изменённых файлов: 12 добавлений и 5 удалений

Просмотреть файл

@ -11,6 +11,7 @@
#include "nsJSUtils.h"
#include "mozilla/ErrorResult.h"
#include "xpcpublic.h"
#include "xpcprivate.h"
#include "jsapi.h"
#include "js/Symbol.h"
@ -62,8 +63,9 @@ bool AppendCrossOriginWhitelistedPropNames(JSContext* cx,
MOZ_ASSERT(!props[n].isSymbol(), "Unexpected existing symbol-name prop");
}
#endif
if (!props.reserve(props.length() +
ArrayLength(sCrossOriginWhitelistedSymbolCodes))) {
if (!props.reserve(
props.length() +
mozilla::ArrayLength(sCrossOriginWhitelistedSymbolCodes))) {
return false;
}

Просмотреть файл

@ -30,6 +30,13 @@ using namespace mozilla;
namespace xpc {
#ifndef MOZ_UNIFIED_BUILD
extern template class FilteringWrapper<js::CrossCompartmentSecurityWrapper,
Opaque>;
extern template class FilteringWrapper<js::CrossCompartmentSecurityWrapper,
OpaqueWithCall>;
#endif
// When chrome pulls a naked property across the membrane using
// .wrappedJSObject, we want it to cross the membrane into the
// chrome compartment without automatically being wrapped into an

Просмотреть файл

@ -16,7 +16,7 @@ UNIFIED_SOURCES += [
"WrapperFactory.cpp",
]
# XrayWrapper needs to be built separately becaue of template instantiations.
# XrayWrapper needs to be built separately because of template instantiations.
SOURCES += [
"XrayWrapper.cpp",
]
@ -30,5 +30,3 @@ LOCAL_INCLUDES += [
"../src",
"/caps",
]
REQUIRES_UNIFIED_BUILD = True