Bug 808856 - Make not overriding WrapObject fail to build. r=ehsan.

--HG--
extra : rebase_source : 4683c70c97f7eea454bc445331dbbbe7c4f2cec7
This commit is contained in:
Peter Van der Beken 2014-10-07 11:44:48 +02:00
Родитель 753461cce1
Коммит a0f306343e
7 изменённых файлов: 22 добавлений и 7 удалений

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

@ -388,7 +388,7 @@ Attr::Shutdown()
}
JSObject*
Attr::WrapObject(JSContext* aCx)
Attr::WrapNode(JSContext* aCx)
{
return AttrBinding::Wrap(aCx, this);
}

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

@ -82,7 +82,7 @@ public:
virtual nsIDOMNode* AsDOMNode() { return this; }
// WebIDL
virtual JSObject* WrapObject(JSContext* aCx) MOZ_OVERRIDE;
virtual JSObject* WrapNode(JSContext* aCx) MOZ_OVERRIDE;
// XPCOM GetName() is OK
// XPCOM GetValue() is OK

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

@ -154,6 +154,10 @@ public:
return mGlobal->GetJSObject();
}
virtual JSObject* WrapObject(JSContext* cx) MOZ_OVERRIDE
{
MOZ_CRASH("nsInProcessTabChildGlobal doesn't use DOM bindings!");
}
protected:
virtual ~nsInProcessTabChildGlobal();

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

@ -61,6 +61,11 @@ public:
virtual mozilla::dom::EventTarget* GetParentTarget() MOZ_OVERRIDE { return mParent; }
virtual nsIDOMWindow* GetOwnerGlobal() MOZ_OVERRIDE;
virtual JSObject* WrapObject(JSContext* cx) MOZ_OVERRIDE
{
MOZ_CRASH("nsWindowRoot doesn't use DOM bindings!");
}
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_AMBIGUOUS(nsWindowRoot,
nsIDOMEventTarget)

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

@ -150,11 +150,7 @@ public:
* Wrap the object corresponding to this wrapper cache. If non-null is
* returned, the object has already been stored in the wrapper cache.
*/
virtual JSObject* WrapObject(JSContext* cx)
{
MOZ_ASSERT(!IsDOMBinding(), "Someone forgot to override WrapObject");
return nullptr;
}
virtual JSObject* WrapObject(JSContext* cx) = 0;
/**
* Returns true if the object has a non-gray wrapper.

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

@ -138,6 +138,11 @@ public:
virtual nsIPrincipal* GetPrincipal() MOZ_OVERRIDE;
virtual JSObject* GetGlobalJSObject() MOZ_OVERRIDE;
virtual JSObject* WrapObject(JSContext* cx) MOZ_OVERRIDE
{
MOZ_CRASH("TabChildGlobal doesn't use DOM bindings!");
}
nsCOMPtr<nsIContentFrameMessageManager> mMessageManager;
nsRefPtr<TabChildBase> mTabChild;

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

@ -49,6 +49,11 @@ public:
ClearWrapper();
}
virtual JSObject* WrapObject(JSContext* cx) MOZ_OVERRIDE
{
MOZ_CRASH("SandboxPrivate doesn't use DOM bindings!");
}
private:
virtual ~SandboxPrivate() { }