mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 11:25:00 +00:00
Bug 858677 - Fix up code not built by SpiderMonkey to use the newly-changed deletion signatures. r=bholley, r=billm
This commit is contained in:
parent
f79e34d84f
commit
763718651b
@ -101,7 +101,8 @@ nsXBLJSClass::nsXBLJSClass(const nsAFlatCString& aClassName,
|
|||||||
JSCLASS_NEW_RESOLVE |
|
JSCLASS_NEW_RESOLVE |
|
||||||
// Our one reserved slot holds the relevant nsXBLPrototypeBinding
|
// Our one reserved slot holds the relevant nsXBLPrototypeBinding
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(1);
|
JSCLASS_HAS_RESERVED_SLOTS(1);
|
||||||
addProperty = delProperty = getProperty = ::JS_PropertyStub;
|
addProperty = getProperty = ::JS_PropertyStub;
|
||||||
|
delProperty = ::JS_DeletePropertyStub;
|
||||||
setProperty = ::JS_StrictPropertyStub;
|
setProperty = ::JS_StrictPropertyStub;
|
||||||
enumerate = XBLEnumerate;
|
enumerate = XBLEnumerate;
|
||||||
resolve = JS_ResolveStub;
|
resolve = JS_ResolveStub;
|
||||||
|
@ -173,7 +173,7 @@ JSClass nsXBLDocGlobalObject::gSharedGlobalClass = {
|
|||||||
"nsXBLPrototypeScript compilation scope",
|
"nsXBLPrototypeScript compilation scope",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS |
|
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS |
|
||||||
JSCLASS_IMPLEMENTS_BARRIERS | JSCLASS_GLOBAL_FLAGS_WITH_SLOTS(0),
|
JSCLASS_IMPLEMENTS_BARRIERS | JSCLASS_GLOBAL_FLAGS_WITH_SLOTS(0),
|
||||||
JS_PropertyStub, JS_PropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub,
|
||||||
nsXBLDocGlobalObject_getProperty, nsXBLDocGlobalObject_setProperty,
|
nsXBLDocGlobalObject_getProperty, nsXBLDocGlobalObject_setProperty,
|
||||||
JS_EnumerateStub, nsXBLDocGlobalObject_resolve,
|
JS_EnumerateStub, nsXBLDocGlobalObject_resolve,
|
||||||
JS_ConvertStub, nsXBLDocGlobalObject_finalize,
|
JS_ConvertStub, nsXBLDocGlobalObject_finalize,
|
||||||
|
@ -114,7 +114,7 @@ JSClass nsXULPDGlobalObject::gSharedGlobalClass = {
|
|||||||
"nsXULPrototypeScript compilation scope",
|
"nsXULPrototypeScript compilation scope",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS |
|
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS |
|
||||||
JSCLASS_IMPLEMENTS_BARRIERS | JSCLASS_GLOBAL_FLAGS_WITH_SLOTS(0),
|
JSCLASS_IMPLEMENTS_BARRIERS | JSCLASS_GLOBAL_FLAGS_WITH_SLOTS(0),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, nsXULPDGlobalObject_resolve, JS_ConvertStub,
|
JS_EnumerateStub, nsXULPDGlobalObject_resolve, JS_ConvertStub,
|
||||||
nsXULPDGlobalObject_finalize, nullptr, nullptr, nullptr, nullptr,
|
nsXULPDGlobalObject_finalize, nullptr, nullptr, nullptr, nullptr,
|
||||||
nullptr
|
nullptr
|
||||||
|
@ -1386,7 +1386,7 @@ NS_INTERFACE_MAP_END
|
|||||||
|
|
||||||
static JSClass sDOMConstructorProtoClass = {
|
static JSClass sDOMConstructorProtoClass = {
|
||||||
"DOM Constructor.prototype", 0,
|
"DOM Constructor.prototype", 0,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, nullptr
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2681,8 +2681,7 @@ nsDOMClassInfo::AddProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
|||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsDOMClassInfo::DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
nsDOMClassInfo::DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
||||||
JSObject *obj, jsid id, jsval *vp,
|
JSObject *obj, jsid id, bool *_retval)
|
||||||
bool *_retval)
|
|
||||||
{
|
{
|
||||||
NS_WARNING("nsDOMClassInfo::DelProperty Don't call me!");
|
NS_WARNING("nsDOMClassInfo::DelProperty Don't call me!");
|
||||||
|
|
||||||
@ -3176,7 +3175,7 @@ static JSClass sGlobalScopePolluterClass = {
|
|||||||
"Global Scope Polluter",
|
"Global Scope Polluter",
|
||||||
JSCLASS_NEW_RESOLVE,
|
JSCLASS_NEW_RESOLVE,
|
||||||
JS_PropertyStub,
|
JS_PropertyStub,
|
||||||
JS_PropertyStub,
|
JS_DeletePropertyStub,
|
||||||
nsWindowSH::GlobalScopePolluterGetProperty,
|
nsWindowSH::GlobalScopePolluterGetProperty,
|
||||||
JS_StrictPropertyStub,
|
JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
@ -6316,7 +6315,7 @@ static JSClass sHTMLDocumentAllClass = {
|
|||||||
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS | JSCLASS_NEW_RESOLVE |
|
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS | JSCLASS_NEW_RESOLVE |
|
||||||
JSCLASS_EMULATES_UNDEFINED | JSCLASS_HAS_RESERVED_SLOTS(1),
|
JSCLASS_EMULATES_UNDEFINED | JSCLASS_HAS_RESERVED_SLOTS(1),
|
||||||
JS_PropertyStub, /* addProperty */
|
JS_PropertyStub, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
nsHTMLDocumentSH::DocumentAllGetProperty, /* getProperty */
|
nsHTMLDocumentSH::DocumentAllGetProperty, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
@ -6332,7 +6331,7 @@ static JSClass sHTMLDocumentAllHelperClass = {
|
|||||||
"HTML document.all helper class",
|
"HTML document.all helper class",
|
||||||
JSCLASS_NEW_RESOLVE,
|
JSCLASS_NEW_RESOLVE,
|
||||||
JS_PropertyStub, /* addProperty */
|
JS_PropertyStub, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
nsHTMLDocumentSH::DocumentAllHelperGetProperty, /* getProperty */
|
nsHTMLDocumentSH::DocumentAllHelperGetProperty, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
@ -6345,7 +6344,7 @@ static JSClass sHTMLDocumentAllTagsClass = {
|
|||||||
"HTML document.all.tags class",
|
"HTML document.all.tags class",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE | JSCLASS_PRIVATE_IS_NSISUPPORTS,
|
JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE | JSCLASS_PRIVATE_IS_NSISUPPORTS,
|
||||||
JS_PropertyStub, /* addProperty */
|
JS_PropertyStub, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
JS_PropertyStub, /* getProperty */
|
JS_PropertyStub, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
@ -7429,7 +7428,7 @@ nsStorage2SH::SetProperty(nsIXPConnectWrappedNative *wrapper,
|
|||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsStorage2SH::DelProperty(nsIXPConnectWrappedNative *wrapper,
|
nsStorage2SH::DelProperty(nsIXPConnectWrappedNative *wrapper,
|
||||||
JSContext *cx, JSObject *obj, jsid id,
|
JSContext *cx, JSObject *obj, jsid id,
|
||||||
jsval *vp, bool *_retval)
|
bool *_retval)
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIDOMStorage> storage(do_QueryWrappedNative(wrapper));
|
nsCOMPtr<nsIDOMStorage> storage(do_QueryWrappedNative(wrapper));
|
||||||
NS_ENSURE_TRUE(storage, NS_ERROR_UNEXPECTED);
|
NS_ENSURE_TRUE(storage, NS_ERROR_UNEXPECTED);
|
||||||
@ -7441,11 +7440,12 @@ nsStorage2SH::DelProperty(nsIXPConnectWrappedNative *wrapper,
|
|||||||
NS_ENSURE_TRUE(keyStr.init(cx, key), NS_ERROR_UNEXPECTED);
|
NS_ENSURE_TRUE(keyStr.init(cx, key), NS_ERROR_UNEXPECTED);
|
||||||
|
|
||||||
nsresult rv = storage->RemoveItem(keyStr);
|
nsresult rv = storage->RemoveItem(keyStr);
|
||||||
if (NS_SUCCEEDED(rv)) {
|
if (NS_FAILED(rv)) {
|
||||||
rv = NS_SUCCESS_I_DID_SOMETHING;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rv;
|
*_retval = true;
|
||||||
|
return NS_SUCCESS_I_DID_SOMETHING;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1041,7 +1041,7 @@ protected:
|
|||||||
NS_IMETHOD GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
NS_IMETHOD GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
||||||
JSObject *obj, jsid id, jsval *vp, bool *_retval);
|
JSObject *obj, jsid id, jsval *vp, bool *_retval);
|
||||||
NS_IMETHOD DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
NS_IMETHOD DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
||||||
JSObject *obj, jsid id, jsval *vp, bool *_retval);
|
JSObject *obj, jsid id, bool *_retval);
|
||||||
NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
NS_IMETHOD NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
|
||||||
JSObject *obj, uint32_t enum_op, jsval *statep,
|
JSObject *obj, uint32_t enum_op, jsval *statep,
|
||||||
jsid *idp, bool *_retval);
|
jsid *idp, bool *_retval);
|
||||||
|
@ -174,7 +174,7 @@ DOMJSClass Class = {
|
|||||||
{ "%s",
|
{ "%s",
|
||||||
%s,
|
%s,
|
||||||
%s, /* addProperty */
|
%s, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
JS_PropertyStub, /* getProperty */
|
JS_PropertyStub, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
@ -223,7 +223,7 @@ class CGPrototypeJSClass(CGThing):
|
|||||||
"%sPrototype",
|
"%sPrototype",
|
||||||
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(2),
|
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(2),
|
||||||
JS_PropertyStub, /* addProperty */
|
JS_PropertyStub, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
JS_PropertyStub, /* getProperty */
|
JS_PropertyStub, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
@ -277,7 +277,7 @@ static DOMIfaceAndProtoJSClass InterfaceObjectClass = {
|
|||||||
"Function",
|
"Function",
|
||||||
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(DOM_INTERFACE_SLOTS_BASE + %i),
|
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(DOM_INTERFACE_SLOTS_BASE + %i),
|
||||||
JS_PropertyStub, /* addProperty */
|
JS_PropertyStub, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
JS_PropertyStub, /* getProperty */
|
JS_PropertyStub, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
|
@ -570,7 +570,7 @@ class ThreadLocalJSRuntime
|
|||||||
JSClass ThreadLocalJSRuntime::sGlobalClass = {
|
JSClass ThreadLocalJSRuntime::sGlobalClass = {
|
||||||
"IndexedDBTransactionThreadGlobal",
|
"IndexedDBTransactionThreadGlobal",
|
||||||
JSCLASS_GLOBAL_FLAGS,
|
JSCLASS_GLOBAL_FLAGS,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -835,7 +835,7 @@ public:
|
|||||||
|
|
||||||
JSClass IDBObjectStore::sDummyPropJSClass = {
|
JSClass IDBObjectStore::sDummyPropJSClass = {
|
||||||
"dummy", 0,
|
"dummy", 0,
|
||||||
JS_PropertyStub, JS_PropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub,
|
||||||
JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub,
|
JS_EnumerateStub, JS_ResolveStub,
|
||||||
JS_ConvertStub
|
JS_ConvertStub
|
||||||
|
@ -115,7 +115,7 @@ static JSBool
|
|||||||
NPObjWrapper_AddProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp);
|
NPObjWrapper_AddProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp);
|
||||||
|
|
||||||
static JSBool
|
static JSBool
|
||||||
NPObjWrapper_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp);
|
NPObjWrapper_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool *succeeded);
|
||||||
|
|
||||||
static JSBool
|
static JSBool
|
||||||
NPObjWrapper_SetProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict,
|
NPObjWrapper_SetProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict,
|
||||||
@ -188,7 +188,7 @@ NPObjectMember_Trace(JSTracer *trc, JSObject *obj);
|
|||||||
static JSClass sNPObjectMemberClass =
|
static JSClass sNPObjectMemberClass =
|
||||||
{
|
{
|
||||||
"NPObject Ambiguous Member class", JSCLASS_HAS_PRIVATE | JSCLASS_IMPLEMENTS_BARRIERS,
|
"NPObject Ambiguous Member class", JSCLASS_HAS_PRIVATE | JSCLASS_IMPLEMENTS_BARRIERS,
|
||||||
JS_PropertyStub, JS_PropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub,
|
||||||
JS_PropertyStub, JS_StrictPropertyStub, JS_EnumerateStub,
|
JS_PropertyStub, JS_StrictPropertyStub, JS_EnumerateStub,
|
||||||
JS_ResolveStub, NPObjectMember_Convert,
|
JS_ResolveStub, NPObjectMember_Convert,
|
||||||
NPObjectMember_Finalize, nullptr, NPObjectMember_Call,
|
NPObjectMember_Finalize, nullptr, NPObjectMember_Call,
|
||||||
@ -1197,7 +1197,7 @@ NPObjWrapper_AddProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMut
|
|||||||
}
|
}
|
||||||
|
|
||||||
static JSBool
|
static JSBool
|
||||||
NPObjWrapper_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp)
|
NPObjWrapper_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool *succeeded)
|
||||||
{
|
{
|
||||||
NPObject *npobj = GetNPObject(cx, obj);
|
NPObject *npobj = GetNPObject(cx, obj);
|
||||||
|
|
||||||
@ -1217,12 +1217,14 @@ NPObjWrapper_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMut
|
|||||||
if (!ReportExceptionIfPending(cx))
|
if (!ReportExceptionIfPending(cx))
|
||||||
return JS_FALSE;
|
return JS_FALSE;
|
||||||
|
|
||||||
if (!hasProperty)
|
if (!hasProperty) {
|
||||||
|
*succeeded = true;
|
||||||
return JS_TRUE;
|
return JS_TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!npobj->_class->removeProperty(npobj, identifier))
|
if (!npobj->_class->removeProperty(npobj, identifier))
|
||||||
vp.set(JSVAL_FALSE);
|
*succeeded = false;
|
||||||
|
|
||||||
return ReportExceptionIfPending(cx);
|
return ReportExceptionIfPending(cx);
|
||||||
}
|
}
|
||||||
|
@ -331,7 +331,7 @@ private:
|
|||||||
JSClass _varname = { \
|
JSClass _varname = { \
|
||||||
_name, \
|
_name, \
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT), \
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT), \
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, \
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub, \
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize \
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize \
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -586,7 +586,7 @@ private:
|
|||||||
JSClass _varname = { \
|
JSClass _varname = { \
|
||||||
_name, \
|
_name, \
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT), \
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT), \
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, \
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub, \
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize \
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize \
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -772,7 +772,7 @@ private:
|
|||||||
JSClass _varname = { \
|
JSClass _varname = { \
|
||||||
_name, \
|
_name, \
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT), \
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT), \
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, \
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub, \
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize \
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize \
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -951,7 +951,7 @@ private:
|
|||||||
JSClass ProgressEvent::sClass = {
|
JSClass ProgressEvent::sClass = {
|
||||||
"ProgressEvent",
|
"ProgressEvent",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ private:
|
|||||||
JSClass DOMException::sClass = {
|
JSClass DOMException::sClass = {
|
||||||
"DOMException",
|
"DOMException",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -203,7 +203,7 @@ private:
|
|||||||
JSClass Blob::sClass = {
|
JSClass Blob::sClass = {
|
||||||
"Blob",
|
"Blob",
|
||||||
JSCLASS_HAS_PRIVATE,
|
JSCLASS_HAS_PRIVATE,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -370,7 +370,7 @@ private:
|
|||||||
JSClass File::sClass = {
|
JSClass File::sClass = {
|
||||||
"File",
|
"File",
|
||||||
JSCLASS_HAS_PRIVATE,
|
JSCLASS_HAS_PRIVATE,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ private:
|
|||||||
JSClass ImageData::sClass = {
|
JSClass ImageData::sClass = {
|
||||||
"ImageData",
|
"ImageData",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ private:
|
|||||||
JSClass Location::sClass = {
|
JSClass Location::sClass = {
|
||||||
"WorkerLocation",
|
"WorkerLocation",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ private:
|
|||||||
JSClass Navigator::sClass = {
|
JSClass Navigator::sClass = {
|
||||||
"WorkerNavigator",
|
"WorkerNavigator",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(SLOT_COUNT),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -301,7 +301,7 @@ DOMJSClass Worker::sClass = {
|
|||||||
"Worker",
|
"Worker",
|
||||||
JSCLASS_IS_DOMJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(3) |
|
JSCLASS_IS_DOMJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(3) |
|
||||||
JSCLASS_IMPLEMENTS_BARRIERS,
|
JSCLASS_IMPLEMENTS_BARRIERS,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize,
|
||||||
NULL, NULL, NULL, NULL, Trace
|
NULL, NULL, NULL, NULL, Trace
|
||||||
},
|
},
|
||||||
@ -321,7 +321,7 @@ DOMIfaceAndProtoJSClass Worker::sProtoClass = {
|
|||||||
"Worker",
|
"Worker",
|
||||||
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(2),
|
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(2),
|
||||||
JS_PropertyStub, /* addProperty */
|
JS_PropertyStub, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
JS_PropertyStub, /* getProperty */
|
JS_PropertyStub, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
@ -464,7 +464,7 @@ DOMJSClass ChromeWorker::sClass = {
|
|||||||
{ "ChromeWorker",
|
{ "ChromeWorker",
|
||||||
JSCLASS_IS_DOMJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(3) |
|
JSCLASS_IS_DOMJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(3) |
|
||||||
JSCLASS_IMPLEMENTS_BARRIERS,
|
JSCLASS_IMPLEMENTS_BARRIERS,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Finalize,
|
||||||
NULL, NULL, NULL, NULL, Trace,
|
NULL, NULL, NULL, NULL, Trace,
|
||||||
},
|
},
|
||||||
@ -484,7 +484,7 @@ DOMIfaceAndProtoJSClass ChromeWorker::sProtoClass = {
|
|||||||
"ChromeWorker",
|
"ChromeWorker",
|
||||||
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(2),
|
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(2),
|
||||||
JS_PropertyStub, /* addProperty */
|
JS_PropertyStub, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
JS_PropertyStub, /* getProperty */
|
JS_PropertyStub, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
|
@ -612,7 +612,7 @@ private:
|
|||||||
JSClass WorkerGlobalScope::sClass = {
|
JSClass WorkerGlobalScope::sClass = {
|
||||||
"WorkerGlobalScope",
|
"WorkerGlobalScope",
|
||||||
0,
|
0,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -878,7 +878,7 @@ DOMJSClass DedicatedWorkerGlobalScope::sClass = {
|
|||||||
"DedicatedWorkerGlobalScope",
|
"DedicatedWorkerGlobalScope",
|
||||||
JSCLASS_DOM_GLOBAL | JSCLASS_IS_DOMJSCLASS | JSCLASS_IMPLEMENTS_BARRIERS |
|
JSCLASS_DOM_GLOBAL | JSCLASS_IS_DOMJSCLASS | JSCLASS_IMPLEMENTS_BARRIERS |
|
||||||
JSCLASS_GLOBAL_FLAGS_WITH_SLOTS(3) | JSCLASS_NEW_RESOLVE,
|
JSCLASS_GLOBAL_FLAGS_WITH_SLOTS(3) | JSCLASS_NEW_RESOLVE,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, reinterpret_cast<JSResolveOp>(Resolve), JS_ConvertStub,
|
JS_EnumerateStub, reinterpret_cast<JSResolveOp>(Resolve), JS_ConvertStub,
|
||||||
Finalize, NULL, NULL, NULL, NULL, Trace
|
Finalize, NULL, NULL, NULL, NULL, Trace
|
||||||
},
|
},
|
||||||
@ -898,7 +898,7 @@ DOMIfaceAndProtoJSClass DedicatedWorkerGlobalScope::sProtoClass = {
|
|||||||
"DedicatedWorkerGlobalScope",
|
"DedicatedWorkerGlobalScope",
|
||||||
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(2),
|
JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(2),
|
||||||
JS_PropertyStub, /* addProperty */
|
JS_PropertyStub, /* addProperty */
|
||||||
JS_PropertyStub, /* delProperty */
|
JS_DeletePropertyStub, /* delProperty */
|
||||||
JS_PropertyStub, /* getProperty */
|
JS_PropertyStub, /* getProperty */
|
||||||
JS_StrictPropertyStub, /* setProperty */
|
JS_StrictPropertyStub, /* setProperty */
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
|
@ -400,7 +400,7 @@ static const JSClass sCPOW_NewEnumerateState_JSClass = {
|
|||||||
"CPOW NewEnumerate State",
|
"CPOW NewEnumerate State",
|
||||||
JSCLASS_HAS_PRIVATE |
|
JSCLASS_HAS_PRIVATE |
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(sNumNewEnumerateStateSlots),
|
JSCLASS_HAS_RESERVED_SLOTS(sNumNewEnumerateStateSlots),
|
||||||
JS_PropertyStub, JS_PropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub,
|
||||||
JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub,
|
JS_EnumerateStub, JS_ResolveStub,
|
||||||
JS_ConvertStub, CPOW_NewEnumerateState_Finalize
|
JS_ConvertStub, CPOW_NewEnumerateState_Finalize
|
||||||
|
@ -274,6 +274,43 @@ ObjectWrapperParent::jsval_from_JSVariant(JSContext* cx, const JSVariant& from,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*static*/ bool
|
||||||
|
ObjectWrapperParent::boolean_from_JSVariant(JSContext* cx, const JSVariant& from,
|
||||||
|
JSBool* to)
|
||||||
|
{
|
||||||
|
switch (from.type()) {
|
||||||
|
case JSVariant::Tvoid_t:
|
||||||
|
*to = false;
|
||||||
|
return true;
|
||||||
|
case JSVariant::TPObjectWrapperParent: {
|
||||||
|
JS::Rooted<JS::Value> v(cx);
|
||||||
|
if (!jsval_from_PObjectWrapperParent(cx, from.get_PObjectWrapperParent(), v.address()))
|
||||||
|
return false;
|
||||||
|
*to = JS::ToBoolean(v);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
case JSVariant::TnsString:
|
||||||
|
{
|
||||||
|
JSString* str = JS_NewUCStringCopyZ(cx, from.get_nsString().BeginReading());
|
||||||
|
if (!str)
|
||||||
|
return false;
|
||||||
|
*to = JS::ToBoolean(JS::StringValue(str));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
case JSVariant::Tint:
|
||||||
|
*to = from.get_int() != 0;
|
||||||
|
return true;
|
||||||
|
case JSVariant::Tdouble:
|
||||||
|
*to = JS::ToBoolean(JS::DoubleValue(from.get_double()));
|
||||||
|
return true;
|
||||||
|
case JSVariant::Tbool:
|
||||||
|
*to = from.get_bool();
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*static*/ bool
|
/*static*/ bool
|
||||||
ObjectWrapperParent::
|
ObjectWrapperParent::
|
||||||
JSObject_to_PObjectWrapperParent(JSContext* cx, JSObject* from, PObjectWrapperParent** to)
|
JSObject_to_PObjectWrapperParent(JSContext* cx, JSObject* from, PObjectWrapperParent** to)
|
||||||
@ -432,7 +469,7 @@ ObjectWrapperParent::CPOW_SetProperty(JSContext *cx, JSHandleObject obj, JSHandl
|
|||||||
|
|
||||||
/*static*/ JSBool
|
/*static*/ JSBool
|
||||||
ObjectWrapperParent::CPOW_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id,
|
ObjectWrapperParent::CPOW_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id,
|
||||||
JSMutableHandleValue vp)
|
JSBool *succeeded)
|
||||||
{
|
{
|
||||||
CPOW_LOG(("Calling CPOW_DelProperty (%s)...",
|
CPOW_LOG(("Calling CPOW_DelProperty (%s)...",
|
||||||
JSVAL_TO_CSTR(cx, id)));
|
JSVAL_TO_CSTR(cx, id)));
|
||||||
@ -454,7 +491,7 @@ ObjectWrapperParent::CPOW_DelProperty(JSContext *cx, JSHandleObject obj, JSHandl
|
|||||||
self->CallDelProperty(in_id,
|
self->CallDelProperty(in_id,
|
||||||
aco.StatusPtr(), &out_v) &&
|
aco.StatusPtr(), &out_v) &&
|
||||||
aco.Ok() &&
|
aco.Ok() &&
|
||||||
jsval_from_JSVariant(cx, out_v, vp.address()));
|
boolean_from_JSVariant(cx, out_v, succeeded));
|
||||||
}
|
}
|
||||||
|
|
||||||
JSBool
|
JSBool
|
||||||
@ -691,4 +728,4 @@ ObjectWrapperParent::CPOW_HasInstance(JSContext *cx, JSHandleObject obj, JSMutab
|
|||||||
self->CallHasInstance(in_v,
|
self->CallHasInstance(in_v,
|
||||||
aco.StatusPtr(), bp) &&
|
aco.StatusPtr(), bp) &&
|
||||||
aco.Ok());
|
aco.Ok());
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ private:
|
|||||||
CPOW_AddProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp);
|
CPOW_AddProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp);
|
||||||
|
|
||||||
static JSBool
|
static JSBool
|
||||||
CPOW_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp);
|
CPOW_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool *succeeded);
|
||||||
|
|
||||||
static JSBool
|
static JSBool
|
||||||
CPOW_GetProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp);
|
CPOW_GetProperty(JSContext *cx, JSHandleObject obj, JSHandleId id, JSMutableHandleValue vp);
|
||||||
@ -100,6 +100,8 @@ private:
|
|||||||
static bool jsval_to_JSVariant(JSContext* cx, jsval from, JSVariant* to);
|
static bool jsval_to_JSVariant(JSContext* cx, jsval from, JSVariant* to);
|
||||||
static bool jsval_from_JSVariant(JSContext* cx, const JSVariant& from,
|
static bool jsval_from_JSVariant(JSContext* cx, const JSVariant& from,
|
||||||
jsval* to);
|
jsval* to);
|
||||||
|
static bool boolean_from_JSVariant(JSContext* cx, const JSVariant& from,
|
||||||
|
JSBool* to);
|
||||||
static bool
|
static bool
|
||||||
JSObject_to_PObjectWrapperParent(JSContext* cx, JSObject* from, PObjectWrapperParent** to);
|
JSObject_to_PObjectWrapperParent(JSContext* cx, JSObject* from, PObjectWrapperParent** to);
|
||||||
static bool
|
static bool
|
||||||
|
@ -52,7 +52,7 @@ CreateJSDGlobal(JSContext *cx, JSClass *clasp);
|
|||||||
static JSClass global_class = {
|
static JSClass global_class = {
|
||||||
"JSDGlobal", JSCLASS_GLOBAL_FLAGS |
|
"JSDGlobal", JSCLASS_GLOBAL_FLAGS |
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS,
|
JSCLASS_HAS_PRIVATE | JSCLASS_PRIVATE_IS_NSISUPPORTS,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, global_finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, global_finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -444,14 +444,14 @@ namespace UInt64 {
|
|||||||
static JSClass sCTypesGlobalClass = {
|
static JSClass sCTypesGlobalClass = {
|
||||||
"ctypes",
|
"ctypes",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(CTYPESGLOBAL_SLOTS),
|
JSCLASS_HAS_RESERVED_SLOTS(CTYPESGLOBAL_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
static JSClass sCABIClass = {
|
static JSClass sCABIClass = {
|
||||||
"CABI",
|
"CABI",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(CABI_SLOTS),
|
JSCLASS_HAS_RESERVED_SLOTS(CABI_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -461,7 +461,7 @@ static JSClass sCABIClass = {
|
|||||||
static JSClass sCTypeProtoClass = {
|
static JSClass sCTypeProtoClass = {
|
||||||
"CType",
|
"CType",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(CTYPEPROTO_SLOTS),
|
JSCLASS_HAS_RESERVED_SLOTS(CTYPEPROTO_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CType::FinalizeProtoClass,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CType::FinalizeProtoClass,
|
||||||
NULL, ConstructAbstract, NULL, ConstructAbstract
|
NULL, ConstructAbstract, NULL, ConstructAbstract
|
||||||
};
|
};
|
||||||
@ -471,14 +471,14 @@ static JSClass sCTypeProtoClass = {
|
|||||||
static JSClass sCDataProtoClass = {
|
static JSClass sCDataProtoClass = {
|
||||||
"CData",
|
"CData",
|
||||||
0,
|
0,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
static JSClass sCTypeClass = {
|
static JSClass sCTypeClass = {
|
||||||
"CType",
|
"CType",
|
||||||
JSCLASS_IMPLEMENTS_BARRIERS | JSCLASS_HAS_RESERVED_SLOTS(CTYPE_SLOTS),
|
JSCLASS_IMPLEMENTS_BARRIERS | JSCLASS_HAS_RESERVED_SLOTS(CTYPE_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CType::Finalize,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CType::Finalize,
|
||||||
NULL, CType::ConstructData, CType::HasInstance, CType::ConstructData,
|
NULL, CType::ConstructData, CType::HasInstance, CType::ConstructData,
|
||||||
CType::Trace
|
CType::Trace
|
||||||
@ -487,7 +487,7 @@ static JSClass sCTypeClass = {
|
|||||||
static JSClass sCDataClass = {
|
static JSClass sCDataClass = {
|
||||||
"CData",
|
"CData",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(CDATA_SLOTS),
|
JSCLASS_HAS_RESERVED_SLOTS(CDATA_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, ArrayType::Getter, ArrayType::Setter,
|
JS_PropertyStub, JS_DeletePropertyStub, ArrayType::Getter, ArrayType::Setter,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CData::Finalize,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CData::Finalize,
|
||||||
NULL, FunctionType::Call, NULL, FunctionType::Call
|
NULL, FunctionType::Call, NULL, FunctionType::Call
|
||||||
};
|
};
|
||||||
@ -495,7 +495,7 @@ static JSClass sCDataClass = {
|
|||||||
static JSClass sCClosureClass = {
|
static JSClass sCClosureClass = {
|
||||||
"CClosure",
|
"CClosure",
|
||||||
JSCLASS_IMPLEMENTS_BARRIERS | JSCLASS_HAS_RESERVED_SLOTS(CCLOSURE_SLOTS),
|
JSCLASS_IMPLEMENTS_BARRIERS | JSCLASS_HAS_RESERVED_SLOTS(CCLOSURE_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CClosure::Finalize,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CClosure::Finalize,
|
||||||
NULL, NULL, NULL, NULL, CClosure::Trace
|
NULL, NULL, NULL, NULL, CClosure::Trace
|
||||||
};
|
};
|
||||||
@ -506,7 +506,7 @@ static JSClass sCClosureClass = {
|
|||||||
static JSClass sCDataFinalizerProtoClass = {
|
static JSClass sCDataFinalizerProtoClass = {
|
||||||
"CDataFinalizer",
|
"CDataFinalizer",
|
||||||
0,
|
0,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -519,7 +519,7 @@ static JSClass sCDataFinalizerProtoClass = {
|
|||||||
static JSClass sCDataFinalizerClass = {
|
static JSClass sCDataFinalizerClass = {
|
||||||
"CDataFinalizer",
|
"CDataFinalizer",
|
||||||
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(CDATAFINALIZER_SLOTS),
|
JSCLASS_HAS_PRIVATE | JSCLASS_HAS_RESERVED_SLOTS(CDATAFINALIZER_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CDataFinalizer::Finalize,
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, CDataFinalizer::Finalize,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -679,28 +679,28 @@ static JSFunctionSpec sFunctionInstanceFunctions[] = {
|
|||||||
static JSClass sInt64ProtoClass = {
|
static JSClass sInt64ProtoClass = {
|
||||||
"Int64",
|
"Int64",
|
||||||
0,
|
0,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
static JSClass sUInt64ProtoClass = {
|
static JSClass sUInt64ProtoClass = {
|
||||||
"UInt64",
|
"UInt64",
|
||||||
0,
|
0,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
static JSClass sInt64Class = {
|
static JSClass sInt64Class = {
|
||||||
"Int64",
|
"Int64",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(INT64_SLOTS),
|
JSCLASS_HAS_RESERVED_SLOTS(INT64_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Int64Base::Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Int64Base::Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
static JSClass sUInt64Class = {
|
static JSClass sUInt64Class = {
|
||||||
"UInt64",
|
"UInt64",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(INT64_SLOTS),
|
JSCLASS_HAS_RESERVED_SLOTS(INT64_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Int64Base::Finalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, Int64Base::Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ typedef Rooted<JSFlatString*> RootedFlatString;
|
|||||||
static JSClass sLibraryClass = {
|
static JSClass sLibraryClass = {
|
||||||
"Library",
|
"Library",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(LIBRARY_SLOTS),
|
JSCLASS_HAS_RESERVED_SLOTS(LIBRARY_SLOTS),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub,JS_ResolveStub, JS_ConvertStub, Library::Finalize
|
JS_EnumerateStub,JS_ResolveStub, JS_ConvertStub, Library::Finalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
* boolean to PR_TRUE before making the call. Implementations may skip writing
|
* boolean to PR_TRUE before making the call. Implementations may skip writing
|
||||||
* to *_retval unless they want to return PR_FALSE.
|
* to *_retval unless they want to return PR_FALSE.
|
||||||
*/
|
*/
|
||||||
[uuid(1236e34a-21e0-423c-a8c8-9b3f1e6d7060)]
|
[uuid(33b9d098-e680-4e4c-88a2-57cccceac145)]
|
||||||
interface nsIXPCScriptable : nsISupports
|
interface nsIXPCScriptable : nsISupports
|
||||||
{
|
{
|
||||||
/* bitflags used for 'flags' (only 32 bits available!) */
|
/* bitflags used for 'flags' (only 32 bits available!) */
|
||||||
@ -84,8 +84,7 @@ interface nsIXPCScriptable : nsISupports
|
|||||||
in JSValPtr vp);
|
in JSValPtr vp);
|
||||||
|
|
||||||
boolean delProperty(in nsIXPConnectWrappedNative wrapper,
|
boolean delProperty(in nsIXPConnectWrappedNative wrapper,
|
||||||
in JSContextPtr cx, in JSObjectPtr obj, in jsid id,
|
in JSContextPtr cx, in JSObjectPtr obj, in jsid id);
|
||||||
in JSValPtr vp);
|
|
||||||
|
|
||||||
// The returnCode should be set to NS_SUCCESS_I_DID_SOMETHING if
|
// The returnCode should be set to NS_SUCCESS_I_DID_SOMETHING if
|
||||||
// this method does something.
|
// this method does something.
|
||||||
|
@ -81,7 +81,7 @@ static JSClass kFakeBackstagePassJSClass =
|
|||||||
"FakeBackstagePass",
|
"FakeBackstagePass",
|
||||||
0,
|
0,
|
||||||
JS_PropertyStub,
|
JS_PropertyStub,
|
||||||
JS_PropertyStub,
|
JS_DeletePropertyStub,
|
||||||
JS_PropertyStub,
|
JS_PropertyStub,
|
||||||
JS_StrictPropertyStub,
|
JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub,
|
JS_EnumerateStub,
|
||||||
|
@ -113,7 +113,7 @@ NS_IMETHODIMP XPC_MAP_CLASSNAME::AddProperty(nsIXPConnectWrappedNative *wrapper,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef XPC_MAP_WANT_DELPROPERTY
|
#ifndef XPC_MAP_WANT_DELPROPERTY
|
||||||
NS_IMETHODIMP XPC_MAP_CLASSNAME::DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, jsid id, jsval * vp, bool *_retval)
|
NS_IMETHODIMP XPC_MAP_CLASSNAME::DelProperty(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, jsid id, bool *_retval)
|
||||||
{NS_ERROR("never called"); return NS_ERROR_NOT_IMPLEMENTED;}
|
{NS_ERROR("never called"); return NS_ERROR_NOT_IMPLEMENTED;}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -848,7 +848,7 @@ static JSFunctionSpec glob_functions[] = {
|
|||||||
|
|
||||||
JSClass global_class = {
|
JSClass global_class = {
|
||||||
"global", 0,
|
"global", 0,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, nullptr
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -969,7 +969,7 @@ env_resolve(JSContext *cx, JSHandleObject obj, JSHandleId id, unsigned flags,
|
|||||||
|
|
||||||
static JSClass env_class = {
|
static JSClass env_class = {
|
||||||
"environment", JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE,
|
"environment", JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE,
|
||||||
JS_PropertyStub, JS_PropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub,
|
||||||
JS_PropertyStub, env_setProperty,
|
JS_PropertyStub, env_setProperty,
|
||||||
env_enumerate, (JSResolveOp) env_resolve,
|
env_enumerate, (JSResolveOp) env_resolve,
|
||||||
JS_ConvertStub, nullptr
|
JS_ConvertStub, nullptr
|
||||||
|
@ -2992,7 +2992,7 @@ sandbox_convert(JSContext *cx, JSHandleObject obj, JSType type, JSMutableHandleV
|
|||||||
static JSClass SandboxClass = {
|
static JSClass SandboxClass = {
|
||||||
"Sandbox",
|
"Sandbox",
|
||||||
XPCONNECT_GLOBAL_FLAGS,
|
XPCONNECT_GLOBAL_FLAGS,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
sandbox_enumerate, sandbox_resolve, sandbox_convert, sandbox_finalize,
|
sandbox_enumerate, sandbox_resolve, sandbox_convert, sandbox_finalize,
|
||||||
NULL, NULL, NULL, NULL, TraceXPCGlobal
|
NULL, NULL, NULL, NULL, TraceXPCGlobal
|
||||||
};
|
};
|
||||||
|
@ -134,7 +134,7 @@ SafeFinalize(JSFreeOp *fop, JSObject* obj)
|
|||||||
static JSClass global_class = {
|
static JSClass global_class = {
|
||||||
"global_for_XPCJSContextStack_SafeJSContext",
|
"global_for_XPCJSContextStack_SafeJSContext",
|
||||||
XPCONNECT_GLOBAL_FLAGS,
|
XPCONNECT_GLOBAL_FLAGS,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, SafeGlobalResolve, JS_ConvertStub, SafeFinalize,
|
JS_EnumerateStub, SafeGlobalResolve, JS_ConvertStub, SafeFinalize,
|
||||||
NULL, NULL, NULL, NULL, TraceXPCGlobal
|
NULL, NULL, NULL, NULL, TraceXPCGlobal
|
||||||
};
|
};
|
||||||
|
@ -94,7 +94,7 @@ PointerFinalize(JSFreeOp *fop, JSObject *obj)
|
|||||||
JSClass
|
JSClass
|
||||||
PointerHolderClass = {
|
PointerHolderClass = {
|
||||||
"Pointer", JSCLASS_HAS_PRIVATE,
|
"Pointer", JSCLASS_HAS_PRIVATE,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, PointerFinalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, PointerFinalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -498,6 +498,13 @@ XPC_WN_CannotModifyPropertyStub(JSContext *cx, JSHandleObject obj, JSHandleId id
|
|||||||
return Throw(NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN, cx);
|
return Throw(NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN, cx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static JSBool
|
||||||
|
XPC_WN_CantDeletePropertyStub(JSContext *cx, JSHandleObject obj, JSHandleId id,
|
||||||
|
JSBool *succeeded)
|
||||||
|
{
|
||||||
|
return Throw(NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN, cx);
|
||||||
|
}
|
||||||
|
|
||||||
static JSBool
|
static JSBool
|
||||||
XPC_WN_CannotModifyStrictPropertyStub(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict,
|
XPC_WN_CannotModifyStrictPropertyStub(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool strict,
|
||||||
JSMutableHandleValue vp)
|
JSMutableHandleValue vp)
|
||||||
@ -759,7 +766,7 @@ XPCWrappedNativeJSClass XPC_WN_NoHelper_JSClass = {
|
|||||||
|
|
||||||
/* Mandatory non-null function pointer members. */
|
/* Mandatory non-null function pointer members. */
|
||||||
XPC_WN_OnlyIWrite_AddPropertyStub, // addProperty
|
XPC_WN_OnlyIWrite_AddPropertyStub, // addProperty
|
||||||
XPC_WN_CannotModifyPropertyStub, // delProperty
|
XPC_WN_CantDeletePropertyStub, // delProperty
|
||||||
JS_PropertyStub, // getProperty
|
JS_PropertyStub, // getProperty
|
||||||
XPC_WN_OnlyIWrite_SetPropertyStub, // setProperty
|
XPC_WN_OnlyIWrite_SetPropertyStub, // setProperty
|
||||||
|
|
||||||
@ -843,6 +850,21 @@ XPC_WN_MaybeResolvingStrictPropertyStub(JSContext *cx, JSHandleObject obj, JSHan
|
|||||||
return XPC_WN_MaybeResolvingPropertyStub(cx, obj, id, vp);
|
return XPC_WN_MaybeResolvingPropertyStub(cx, obj, id, vp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static JSBool
|
||||||
|
XPC_WN_MaybeResolvingDeletePropertyStub(JSContext *cx, JSHandleObject obj, JSHandleId id, JSBool *succeeded)
|
||||||
|
{
|
||||||
|
MORPH_SLIM_WRAPPER(cx, obj);
|
||||||
|
XPCCallContext ccx(JS_CALLER, cx, obj);
|
||||||
|
XPCWrappedNative* wrapper = ccx.GetWrapper();
|
||||||
|
THROW_AND_RETURN_IF_BAD_WRAPPER(cx, wrapper);
|
||||||
|
|
||||||
|
if (ccx.GetResolvingWrapper() == wrapper) {
|
||||||
|
*succeeded = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return Throw(NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN, cx);
|
||||||
|
}
|
||||||
|
|
||||||
// macro fun!
|
// macro fun!
|
||||||
#define PRE_HELPER_STUB_NO_SLIM \
|
#define PRE_HELPER_STUB_NO_SLIM \
|
||||||
XPCWrappedNative* wrapper = \
|
XPCWrappedNative* wrapper = \
|
||||||
@ -891,10 +913,10 @@ XPC_WN_Helper_AddProperty(JSContext *cx, JSHandleObject obj, JSHandleId id,
|
|||||||
|
|
||||||
static JSBool
|
static JSBool
|
||||||
XPC_WN_Helper_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id,
|
XPC_WN_Helper_DelProperty(JSContext *cx, JSHandleObject obj, JSHandleId id,
|
||||||
JSMutableHandleValue vp)
|
JSBool *succeeded)
|
||||||
{
|
{
|
||||||
PRE_HELPER_STUB
|
PRE_HELPER_STUB
|
||||||
DelProperty(wrapper, cx, obj, id, vp.address(), &retval);
|
DelProperty(wrapper, cx, obj, id, &retval);
|
||||||
POST_HELPER_STUB
|
POST_HELPER_STUB
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1311,15 +1333,15 @@ XPCNativeScriptableShared::PopulateJSClass()
|
|||||||
addProperty = XPC_WN_CannotModifyPropertyStub;
|
addProperty = XPC_WN_CannotModifyPropertyStub;
|
||||||
mJSClass.base.addProperty = addProperty;
|
mJSClass.base.addProperty = addProperty;
|
||||||
|
|
||||||
JSPropertyOp delProperty;
|
JSDeletePropertyOp delProperty;
|
||||||
if (mFlags.WantDelProperty())
|
if (mFlags.WantDelProperty())
|
||||||
delProperty = XPC_WN_Helper_DelProperty;
|
delProperty = XPC_WN_Helper_DelProperty;
|
||||||
else if (mFlags.UseJSStubForDelProperty())
|
else if (mFlags.UseJSStubForDelProperty())
|
||||||
delProperty = JS_PropertyStub;
|
delProperty = JS_DeletePropertyStub;
|
||||||
else if (mFlags.AllowPropModsDuringResolve())
|
else if (mFlags.AllowPropModsDuringResolve())
|
||||||
delProperty = XPC_WN_MaybeResolvingPropertyStub;
|
delProperty = XPC_WN_MaybeResolvingDeletePropertyStub;
|
||||||
else
|
else
|
||||||
delProperty = XPC_WN_CannotModifyPropertyStub;
|
delProperty = XPC_WN_CantDeletePropertyStub;
|
||||||
mJSClass.base.delProperty = delProperty;
|
mJSClass.base.delProperty = delProperty;
|
||||||
|
|
||||||
if (mFlags.WantGetProperty())
|
if (mFlags.WantGetProperty())
|
||||||
@ -1610,7 +1632,7 @@ js::Class XPC_WN_ModsAllowed_WithCall_Proto_JSClass = {
|
|||||||
|
|
||||||
/* Mandatory non-null function pointer members. */
|
/* Mandatory non-null function pointer members. */
|
||||||
JS_PropertyStub, // addProperty;
|
JS_PropertyStub, // addProperty;
|
||||||
JS_PropertyStub, // delProperty;
|
JS_DeletePropertyStub, // delProperty;
|
||||||
JS_PropertyStub, // getProperty;
|
JS_PropertyStub, // getProperty;
|
||||||
JS_StrictPropertyStub, // setProperty;
|
JS_StrictPropertyStub, // setProperty;
|
||||||
XPC_WN_Shared_Proto_Enumerate, // enumerate;
|
XPC_WN_Shared_Proto_Enumerate, // enumerate;
|
||||||
@ -1635,7 +1657,7 @@ js::Class XPC_WN_ModsAllowed_NoCall_Proto_JSClass = {
|
|||||||
|
|
||||||
/* Mandatory non-null function pointer members. */
|
/* Mandatory non-null function pointer members. */
|
||||||
JS_PropertyStub, // addProperty;
|
JS_PropertyStub, // addProperty;
|
||||||
JS_PropertyStub, // delProperty;
|
JS_DeletePropertyStub, // delProperty;
|
||||||
JS_PropertyStub, // getProperty;
|
JS_PropertyStub, // getProperty;
|
||||||
JS_StrictPropertyStub, // setProperty;
|
JS_StrictPropertyStub, // setProperty;
|
||||||
XPC_WN_Shared_Proto_Enumerate, // enumerate;
|
XPC_WN_Shared_Proto_Enumerate, // enumerate;
|
||||||
@ -1724,7 +1746,7 @@ js::Class XPC_WN_NoMods_WithCall_Proto_JSClass = {
|
|||||||
|
|
||||||
/* Mandatory non-null function pointer members. */
|
/* Mandatory non-null function pointer members. */
|
||||||
XPC_WN_OnlyIWrite_Proto_AddPropertyStub, // addProperty;
|
XPC_WN_OnlyIWrite_Proto_AddPropertyStub, // addProperty;
|
||||||
XPC_WN_CannotModifyPropertyStub, // delProperty;
|
XPC_WN_CantDeletePropertyStub, // delProperty;
|
||||||
JS_PropertyStub, // getProperty;
|
JS_PropertyStub, // getProperty;
|
||||||
XPC_WN_OnlyIWrite_Proto_SetPropertyStub, // setProperty;
|
XPC_WN_OnlyIWrite_Proto_SetPropertyStub, // setProperty;
|
||||||
XPC_WN_Shared_Proto_Enumerate, // enumerate;
|
XPC_WN_Shared_Proto_Enumerate, // enumerate;
|
||||||
@ -1749,7 +1771,7 @@ js::Class XPC_WN_NoMods_NoCall_Proto_JSClass = {
|
|||||||
|
|
||||||
/* Mandatory non-null function pointer members. */
|
/* Mandatory non-null function pointer members. */
|
||||||
XPC_WN_OnlyIWrite_Proto_AddPropertyStub, // addProperty;
|
XPC_WN_OnlyIWrite_Proto_AddPropertyStub, // addProperty;
|
||||||
XPC_WN_CannotModifyPropertyStub, // delProperty;
|
XPC_WN_CantDeletePropertyStub, // delProperty;
|
||||||
JS_PropertyStub, // getProperty;
|
JS_PropertyStub, // getProperty;
|
||||||
XPC_WN_OnlyIWrite_Proto_SetPropertyStub, // setProperty;
|
XPC_WN_OnlyIWrite_Proto_SetPropertyStub, // setProperty;
|
||||||
XPC_WN_Shared_Proto_Enumerate, // enumerate;
|
XPC_WN_Shared_Proto_Enumerate, // enumerate;
|
||||||
@ -1830,7 +1852,7 @@ js::Class XPC_WN_Tearoff_JSClass = {
|
|||||||
WRAPPER_SLOTS, // flags;
|
WRAPPER_SLOTS, // flags;
|
||||||
|
|
||||||
XPC_WN_OnlyIWrite_AddPropertyStub, // addProperty;
|
XPC_WN_OnlyIWrite_AddPropertyStub, // addProperty;
|
||||||
XPC_WN_CannotModifyPropertyStub, // delProperty;
|
XPC_WN_CantDeletePropertyStub, // delProperty;
|
||||||
JS_PropertyStub, // getProperty;
|
JS_PropertyStub, // getProperty;
|
||||||
XPC_WN_OnlyIWrite_SetPropertyStub, // setProperty;
|
XPC_WN_OnlyIWrite_SetPropertyStub, // setProperty;
|
||||||
XPC_WN_TearOff_Enumerate, // enumerate;
|
XPC_WN_TearOff_Enumerate, // enumerate;
|
||||||
|
@ -301,7 +301,7 @@ js::Class XPC_WN_NoHelper_Proto_JSClass = {
|
|||||||
|
|
||||||
/* Mandatory non-null function pointer members. */
|
/* Mandatory non-null function pointer members. */
|
||||||
JS_PropertyStub, // addProperty;
|
JS_PropertyStub, // addProperty;
|
||||||
JS_PropertyStub, // delProperty;
|
JS_DeletePropertyStub, // delProperty;
|
||||||
JS_PropertyStub, // getProperty;
|
JS_PropertyStub, // getProperty;
|
||||||
JS_StrictPropertyStub, // setProperty;
|
JS_StrictPropertyStub, // setProperty;
|
||||||
JS_EnumerateStub, // enumerate;
|
JS_EnumerateStub, // enumerate;
|
||||||
|
@ -42,7 +42,7 @@ namespace XrayUtils {
|
|||||||
JSClass HolderClass = {
|
JSClass HolderClass = {
|
||||||
"NativePropertyHolder",
|
"NativePropertyHolder",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(2),
|
JSCLASS_HAS_RESERVED_SLOTS(2),
|
||||||
JS_PropertyStub, JS_PropertyStub, holder_get, holder_set,
|
JS_PropertyStub, JS_DeletePropertyStub, holder_get, holder_set,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -320,7 +320,7 @@ ExpandoObjectFinalize(JSFreeOp *fop, JSObject *obj)
|
|||||||
JSClass ExpandoObjectClass = {
|
JSClass ExpandoObjectClass = {
|
||||||
"XrayExpandoObject",
|
"XrayExpandoObject",
|
||||||
JSCLASS_HAS_RESERVED_SLOTS(JSSLOT_EXPANDO_COUNT),
|
JSCLASS_HAS_RESERVED_SLOTS(JSSLOT_EXPANDO_COUNT),
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, ExpandoObjectFinalize
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, ExpandoObjectFinalize
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -549,7 +549,7 @@ private:
|
|||||||
JSClass JSRuntimeWrapper::sGlobalClass = {
|
JSClass JSRuntimeWrapper::sGlobalClass = {
|
||||||
"PACResolutionThreadGlobal",
|
"PACResolutionThreadGlobal",
|
||||||
JSCLASS_GLOBAL_FLAGS,
|
JSCLASS_GLOBAL_FLAGS,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -514,7 +514,7 @@ int main(int argc, char** argv)
|
|||||||
JSAutoRequest req(cx);
|
JSAutoRequest req(cx);
|
||||||
static JSClass global_class = {
|
static JSClass global_class = {
|
||||||
"global", JSCLASS_NEW_RESOLVE | JSCLASS_GLOBAL_FLAGS | JSCLASS_HAS_PRIVATE,
|
"global", JSCLASS_NEW_RESOLVE | JSCLASS_GLOBAL_FLAGS | JSCLASS_HAS_PRIVATE,
|
||||||
JS_PropertyStub, JS_PropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub,
|
||||||
JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub,
|
JS_EnumerateStub, JS_ResolveStub,
|
||||||
JS_ConvertStub
|
JS_ConvertStub
|
||||||
|
@ -694,7 +694,7 @@ WrapAndReturnHistogram(Histogram *h, JSContext *cx, JS::Value *ret)
|
|||||||
static JSClass JSHistogram_class = {
|
static JSClass JSHistogram_class = {
|
||||||
"JSHistogram", /* name */
|
"JSHistogram", /* name */
|
||||||
JSCLASS_HAS_PRIVATE, /* flags */
|
JSCLASS_HAS_PRIVATE, /* flags */
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ public:
|
|||||||
JSAutoRequest ar(cx);
|
JSAutoRequest ar(cx);
|
||||||
static JSClass c = {
|
static JSClass c = {
|
||||||
"global", JSCLASS_GLOBAL_FLAGS,
|
"global", JSCLASS_GLOBAL_FLAGS,
|
||||||
JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_DeletePropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub
|
||||||
};
|
};
|
||||||
JSObject *obj = JS_NewGlobalObject(cx, &c, NULL);
|
JSObject *obj = JS_NewGlobalObject(cx, &c, NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user