mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1082141 - Typed objects are not ArrayBufferViews (yet), r=Waldo
--HG-- extra : rebase_source : a84692dedbfcd60744bfc09a790bddefc3c2c243
This commit is contained in:
parent
1279d416c4
commit
caa9cb71ef
@ -781,8 +781,8 @@ ArrayBufferViewObject *
|
|||||||
ArrayBufferObject::firstView()
|
ArrayBufferObject::firstView()
|
||||||
{
|
{
|
||||||
return getSlot(FIRST_VIEW_SLOT).isObject()
|
return getSlot(FIRST_VIEW_SLOT).isObject()
|
||||||
? &getSlot(FIRST_VIEW_SLOT).toObject().as<ArrayBufferViewObject>()
|
? static_cast<ArrayBufferViewObject*>(&getSlot(FIRST_VIEW_SLOT).toObject())
|
||||||
: nullptr;
|
: nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -797,7 +797,8 @@ ArrayBufferObject::addView(JSContext *cx, JSObject *viewArg)
|
|||||||
// Note: we don't pass in an ArrayBufferViewObject as the argument due to
|
// Note: we don't pass in an ArrayBufferViewObject as the argument due to
|
||||||
// tricky inheritance in the various view classes. View classes do not
|
// tricky inheritance in the various view classes. View classes do not
|
||||||
// inherit from ArrayBufferViewObject so won't be upcast automatically.
|
// inherit from ArrayBufferViewObject so won't be upcast automatically.
|
||||||
ArrayBufferViewObject *view = &viewArg->as<ArrayBufferViewObject>();
|
MOZ_ASSERT(viewArg->is<ArrayBufferViewObject>() || viewArg->is<TypedObject>());
|
||||||
|
ArrayBufferViewObject *view = static_cast<ArrayBufferViewObject*>(viewArg);
|
||||||
|
|
||||||
if (!firstView()) {
|
if (!firstView()) {
|
||||||
setFirstView(view);
|
setFirstView(view);
|
||||||
@ -985,7 +986,7 @@ template <>
|
|||||||
bool
|
bool
|
||||||
JSObject::is<js::ArrayBufferViewObject>() const
|
JSObject::is<js::ArrayBufferViewObject>() const
|
||||||
{
|
{
|
||||||
return is<DataViewObject>() || is<TypedArrayObject>() || is<TypedObject>();
|
return is<DataViewObject>() || is<TypedArrayObject>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -1211,7 +1212,9 @@ JS_GetArrayBufferViewBuffer(JSContext *cx, HandleObject objArg)
|
|||||||
JSObject *obj = CheckedUnwrap(objArg);
|
JSObject *obj = CheckedUnwrap(objArg);
|
||||||
if (!obj)
|
if (!obj)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
Rooted<ArrayBufferViewObject *> viewObject(cx, &obj->as<ArrayBufferViewObject>());
|
MOZ_ASSERT(obj->is<ArrayBufferViewObject>());
|
||||||
|
|
||||||
|
Rooted<ArrayBufferViewObject *> viewObject(cx, static_cast<ArrayBufferViewObject*>(obj));
|
||||||
return ArrayBufferViewObject::bufferObject(cx, viewObject);
|
return ArrayBufferViewObject::bufferObject(cx, viewObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user