Bug 1289608 - Provide explicit instantiation declarations for the various instantiations of XrapWrapper. r=bholley draft
authorBotond Ballo <botond@mozilla.com>
Fri, 29 Jul 2016 16:39:14 -0400
changeset 394513 29a69c5b0068bc2e948e007d656ef7b7d4efb13d
parent 394512 859eb50fc1bc471f34f26e17cd9128690ac7bf87
child 394514 0351cd5c9bd3e41373eed12b616e6fd324375423
push id24592
push userbballo@mozilla.com
push dateFri, 29 Jul 2016 22:02:30 +0000
reviewersbholley
bugs1289608
milestone50.0a1
Bug 1289608 - Provide explicit instantiation declarations for the various instantiations of XrapWrapper. r=bholley MozReview-Commit-ID: 6rS9JJ1Ba9R
js/xpconnect/wrappers/XrayWrapper.h
--- a/js/xpconnect/wrappers/XrayWrapper.h
+++ b/js/xpconnect/wrappers/XrayWrapper.h
@@ -492,16 +492,24 @@ class XrayWrapper : public Base {
 #define PermissiveXrayXPCWN xpc::XrayWrapper<js::CrossCompartmentWrapper, xpc::XPCWrappedNativeXrayTraits>
 #define SecurityXrayXPCWN xpc::XrayWrapper<js::CrossCompartmentSecurityWrapper, xpc::XPCWrappedNativeXrayTraits>
 #define PermissiveXrayDOM xpc::XrayWrapper<js::CrossCompartmentWrapper, xpc::DOMXrayTraits>
 #define SecurityXrayDOM xpc::XrayWrapper<js::CrossCompartmentSecurityWrapper, xpc::DOMXrayTraits>
 #define PermissiveXrayJS xpc::XrayWrapper<js::CrossCompartmentWrapper, xpc::JSXrayTraits>
 #define PermissiveXrayOpaque xpc::XrayWrapper<js::CrossCompartmentWrapper, xpc::OpaqueXrayTraits>
 #define SCSecurityXrayXPCWN xpc::XrayWrapper<js::SameCompartmentSecurityWrapper, xpc::XPCWrappedNativeXrayTraits>
 
+extern template class PermissiveXrayXPCWN;
+extern template class SecurityXrayXPCWN;
+extern template class PermissiveXrayDOM;
+extern template class SecurityXrayDOM;
+extern template class PermissiveXrayJS;
+extern template class PermissiveXrayOpaque;
+extern template class PermissiveXrayXPCWN;
+
 class SandboxProxyHandler : public js::Wrapper {
 public:
     constexpr SandboxProxyHandler() : js::Wrapper(0)
     {
     }
 
     virtual bool getOwnPropertyDescriptor(JSContext* cx, JS::Handle<JSObject*> proxy,
                                           JS::Handle<jsid> id,