Commit 3a430d29 authored by serge-sans-paille's avatar serge-sans-paille
Browse files

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

parent 24ff30b5
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;
  }

+7 −0
Original line number Diff line number Diff line
@@ -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
+1 −3
Original line number Diff line number Diff line
@@ -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