Bug 1017862 - Remove virtual destructor from BaseProxyHandler. (r=jorendorff)

This commit is contained in:
Eric Faust 2014-06-09 14:12:17 -07:00
parent f6a2f616b1
commit c1aa4060ee
12 changed files with 7 additions and 41 deletions

View File

@ -52,7 +52,6 @@ class CPOWProxyHandler : public BaseProxyHandler
public:
CPOWProxyHandler()
: BaseProxyHandler(&sCPOWProxyHandler) {}
virtual ~CPOWProxyHandler() {}
virtual bool finalizeInBackground(Value priv) MOZ_OVERRIDE {
return false;

View File

@ -516,6 +516,11 @@ JS_IsBuiltinFunctionConstructor(JSFunction *fun)
enum InitState { Uninitialized, Running, ShutDown };
static InitState jsInitState = Uninitialized;
bool jsIsShutDown()
{
return jsInitState == ShutDown;
}
#ifdef DEBUG
static void
CheckMessageNumbering()

View File

@ -88,6 +88,7 @@ BaseProxyHandler::BaseProxyHandler(const void *family)
BaseProxyHandler::~BaseProxyHandler()
{
MOZ_RELEASE_ASSERT(jsIsShutDown(), "Proxy handler destructor called with engine running?");
}
bool
@ -737,7 +738,6 @@ class ScriptedIndirectProxyHandler : public BaseProxyHandler
{
public:
ScriptedIndirectProxyHandler();
virtual ~ScriptedIndirectProxyHandler();
/* ES5 Harmony fundamental proxy traps. */
virtual bool preventExtensions(JSContext *cx, HandleObject proxy) MOZ_OVERRIDE;
@ -799,10 +799,6 @@ ScriptedIndirectProxyHandler::ScriptedIndirectProxyHandler()
{
}
ScriptedIndirectProxyHandler::~ScriptedIndirectProxyHandler()
{
}
bool
ScriptedIndirectProxyHandler::isExtensible(JSContext *cx, HandleObject proxy, bool *extensible)
{
@ -1055,7 +1051,6 @@ ScriptedIndirectProxyHandler ScriptedIndirectProxyHandler::singleton;
class ScriptedDirectProxyHandler : public DirectProxyHandler {
public:
ScriptedDirectProxyHandler();
virtual ~ScriptedDirectProxyHandler();
/* ES5 Harmony fundamental proxy traps. */
virtual bool preventExtensions(JSContext *cx, HandleObject proxy) MOZ_OVERRIDE;
@ -1386,10 +1381,6 @@ ScriptedDirectProxyHandler::ScriptedDirectProxyHandler()
{
}
ScriptedDirectProxyHandler::~ScriptedDirectProxyHandler()
{
}
bool
ScriptedDirectProxyHandler::preventExtensions(JSContext *cx, HandleObject proxy)
{

View File

@ -123,7 +123,7 @@ class JS_FRIEND_API(BaseProxyHandler)
public:
explicit BaseProxyHandler(const void *family);
virtual ~BaseProxyHandler();
~BaseProxyHandler();
bool hasPrototype() {
return mHasPrototype;

View File

@ -133,10 +133,6 @@ Wrapper::Wrapper(unsigned flags, bool hasPrototype) : DirectProxyHandler(&sWrapp
setHasPrototype(hasPrototype);
}
Wrapper::~Wrapper()
{
}
Wrapper Wrapper::singleton((unsigned)0);
Wrapper Wrapper::singletonWithPrototype((unsigned)0, true);
JSObject *Wrapper::defaultProto = TaggedProto::LazyProto;
@ -177,10 +173,6 @@ CrossCompartmentWrapper::CrossCompartmentWrapper(unsigned flags, bool hasPrototy
{
}
CrossCompartmentWrapper::~CrossCompartmentWrapper()
{
}
bool Wrapper::finalizeInBackground(Value priv)
{
if (!priv.isObject())

View File

@ -83,8 +83,6 @@ class JS_FRIEND_API(Wrapper) : public DirectProxyHandler
explicit Wrapper(unsigned flags, bool hasPrototype = false);
virtual ~Wrapper();
virtual bool finalizeInBackground(Value priv) MOZ_OVERRIDE;
static Wrapper singleton;
@ -105,8 +103,6 @@ class JS_FRIEND_API(CrossCompartmentWrapper) : public Wrapper
public:
explicit CrossCompartmentWrapper(unsigned flags, bool hasPrototype = false);
virtual ~CrossCompartmentWrapper();
/* ES5 Harmony fundamental wrapper traps. */
virtual bool preventExtensions(JSContext *cx, HandleObject wrapper) MOZ_OVERRIDE;
virtual bool getPropertyDescriptor(JSContext *cx, HandleObject wrapper, HandleId id,

View File

@ -21,11 +21,6 @@ FilteringWrapper<Base, Policy>::FilteringWrapper(unsigned flags) : Base(flags)
{
}
template <typename Base, typename Policy>
FilteringWrapper<Base, Policy>::~FilteringWrapper()
{
}
template <typename Policy>
static bool
Filter(JSContext *cx, HandleObject wrapper, AutoIdVector &props)

View File

@ -23,7 +23,6 @@ template <typename Base, typename Policy>
class FilteringWrapper : public Base {
public:
FilteringWrapper(unsigned flags);
virtual ~FilteringWrapper();
virtual bool getPropertyDescriptor(JSContext *cx, JS::Handle<JSObject*> wrapper,
JS::Handle<jsid> id,

View File

@ -35,10 +35,6 @@ WaiveXrayWrapper::WaiveXrayWrapper(unsigned flags) : js::CrossCompartmentWrapper
{
}
WaiveXrayWrapper::~WaiveXrayWrapper()
{
}
bool
WaiveXrayWrapper::getPropertyDescriptor(JSContext *cx, HandleObject wrapper,
HandleId id, JS::MutableHandle<JSPropertyDescriptor> desc)

View File

@ -16,7 +16,6 @@ namespace xpc {
class WaiveXrayWrapper : public js::CrossCompartmentWrapper {
public:
WaiveXrayWrapper(unsigned flags);
virtual ~WaiveXrayWrapper();
virtual bool getPropertyDescriptor(JSContext *cx, JS::Handle<JSObject*> wrapper,
JS::Handle<jsid> id,

View File

@ -1899,11 +1899,6 @@ XrayWrapper<Base, Traits>::XrayWrapper(unsigned flags)
Base::setHasPrototype(Traits::HasPrototype);
}
template <typename Base, typename Traits>
XrayWrapper<Base, Traits>::~XrayWrapper()
{
}
namespace XrayUtils {
JSObject *

View File

@ -66,7 +66,6 @@ template <typename Base, typename Traits = XPCWrappedNativeXrayTraits >
class XrayWrapper : public Base {
public:
XrayWrapper(unsigned flags);
virtual ~XrayWrapper();
/* Fundamental proxy traps. */
virtual bool isExtensible(JSContext *cx, JS::Handle<JSObject*> wrapper, bool *extensible) MOZ_OVERRIDE;