mirror of
https://github.com/servo/servo.git
synced 2025-06-24 17:14:33 +01:00
Remove all traces of C wrappers for SpiderMonkey class stubs.
This commit is contained in:
parent
7541b57526
commit
b87d351fee
4 changed files with 57 additions and 57 deletions
|
@ -1361,13 +1361,13 @@ class MethodDefiner(PropertyDefiner):
|
|||
if any(m.isGetter() and m.isIndexed() for m in methods):
|
||||
self.chrome.append({"name": 'iterator',
|
||||
"methodInfo": False,
|
||||
"nativeName": "crust::JS_ArrayIterator",
|
||||
"nativeName": "JS_ArrayIterator",
|
||||
"length": 0,
|
||||
"flags": "JSPROP_ENUMERATE",
|
||||
"pref": None })
|
||||
self.regular.append({"name": 'iterator',
|
||||
"methodInfo": False,
|
||||
"nativeName": "crust::JS_ArrayIterator",
|
||||
"nativeName": "JS_ArrayIterator",
|
||||
"length": 0,
|
||||
"flags": "JSPROP_ENUMERATE",
|
||||
"pref": None })
|
||||
|
@ -1630,19 +1630,19 @@ static Class_name: [u8, ..%i] = %s;
|
|||
static Class: DOMJSClass = DOMJSClass {
|
||||
base: JSClass { name: &Class_name as *u8 as *libc::c_char,
|
||||
flags: JSCLASS_IS_DOMJSCLASS | %s | (((%s) & JSCLASS_RESERVED_SLOTS_MASK) << JSCLASS_RESERVED_SLOTS_SHIFT), //JSCLASS_HAS_RESERVED_SLOTS(%s),
|
||||
addProperty: Some(%s), /* addProperty */
|
||||
delProperty: Some(crust::JS_PropertyStub), /* delProperty */
|
||||
getProperty: Some(crust::JS_PropertyStub), /* getProperty */
|
||||
setProperty: Some(crust::JS_StrictPropertyStub), /* setProperty */
|
||||
enumerate: Some(crust::JS_EnumerateStub),
|
||||
resolve: Some(crust::JS_ResolveStub),
|
||||
convert: Some(crust::JS_ConvertStub),
|
||||
finalize: Some(%s), /* finalize */
|
||||
checkAccess: None, /* checkAccess */
|
||||
call: None, /* call */
|
||||
hasInstance: None, /* hasInstance */
|
||||
construct: None, /* construct */
|
||||
trace: %s, /* trace */
|
||||
addProperty: Some(JS_PropertyStub),
|
||||
delProperty: Some(JS_PropertyStub),
|
||||
getProperty: Some(JS_PropertyStub),
|
||||
setProperty: Some(JS_StrictPropertyStub),
|
||||
enumerate: Some(JS_EnumerateStub),
|
||||
resolve: Some(JS_ResolveStub),
|
||||
convert: Some(JS_ConvertStub),
|
||||
finalize: Some(%s),
|
||||
checkAccess: None,
|
||||
call: None,
|
||||
hasInstance: None,
|
||||
construct: None,
|
||||
trace: %s,
|
||||
reserved: (0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, // 05
|
||||
0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, // 10
|
||||
0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, // 15
|
||||
|
@ -1657,7 +1657,6 @@ static Class: DOMJSClass = DOMJSClass {
|
|||
""" % (len(self.descriptor.interface.identifier.name) + 1,
|
||||
str_to_const_array(self.descriptor.interface.identifier.name),
|
||||
flags, slots, slots,
|
||||
'crust::JS_PropertyStub',
|
||||
FINALIZE_HOOK_NAME, traceHook,
|
||||
CGIndenter(CGGeneric(DOMClass(self.descriptor))).define())
|
||||
|
||||
|
@ -1675,19 +1674,19 @@ static PrototypeClassName__: [u8, ..%s] = %s;
|
|||
static PrototypeClass: JSClass = JSClass {
|
||||
name: &PrototypeClassName__ as *u8 as *libc::c_char,
|
||||
flags: (1 & JSCLASS_RESERVED_SLOTS_MASK) << JSCLASS_RESERVED_SLOTS_SHIFT, //JSCLASS_HAS_RESERVED_SLOTS(1)
|
||||
addProperty: Some(crust::JS_PropertyStub), /* addProperty */
|
||||
delProperty: Some(crust::JS_PropertyStub), /* delProperty */
|
||||
getProperty: Some(crust::JS_PropertyStub), /* getProperty */
|
||||
setProperty: Some(crust::JS_StrictPropertyStub), /* setProperty */
|
||||
enumerate: Some(crust::JS_EnumerateStub),
|
||||
resolve: Some(crust::JS_ResolveStub),
|
||||
convert: Some(crust::JS_ConvertStub),
|
||||
finalize: None, /* finalize */
|
||||
checkAccess: None, /* checkAccess */
|
||||
call: None, /* call */
|
||||
hasInstance: None, /* hasInstance */
|
||||
construct: None, /* construct */
|
||||
trace: None, /* trace */
|
||||
addProperty: Some(JS_PropertyStub),
|
||||
delProperty: Some(JS_PropertyStub),
|
||||
getProperty: Some(JS_PropertyStub),
|
||||
setProperty: Some(JS_StrictPropertyStub),
|
||||
enumerate: Some(JS_EnumerateStub),
|
||||
resolve: Some(JS_ResolveStub),
|
||||
convert: Some(JS_ConvertStub),
|
||||
finalize: None,
|
||||
checkAccess: None,
|
||||
call: None,
|
||||
hasInstance: None,
|
||||
construct: None,
|
||||
trace: None,
|
||||
reserved: (0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, // 05
|
||||
0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, // 10
|
||||
0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, 0 as *libc::c_void, // 15
|
||||
|
@ -1713,19 +1712,19 @@ class CGInterfaceObjectJSClass(CGThing):
|
|||
return """
|
||||
static InterfaceObjectClass: JSClass = {
|
||||
%s, 0,
|
||||
crust::JS_PropertyStub, /* addProperty */
|
||||
crust::JS_PropertyStub, /* delProperty */
|
||||
crust::JS_PropertyStub, /* getProperty */
|
||||
crust::JS_StrictPropertyStub, /* setProperty */
|
||||
crust::JS_EnumerateStub,
|
||||
crust::JS_ResolveStub,
|
||||
crust::JS_ConvertStub,
|
||||
0 as *u8, /* finalize */
|
||||
0 as *u8, /* checkAccess */
|
||||
%s, /* call */
|
||||
%s, /* hasInstance */
|
||||
%s, /* construct */
|
||||
0 as *u8, /* trace */
|
||||
JS_PropertyStub,
|
||||
JS_PropertyStub,
|
||||
JS_PropertyStub,
|
||||
JS_StrictPropertyStub,
|
||||
JS_EnumerateStub,
|
||||
JS_ResolveStub,
|
||||
JS_ConvertStub,
|
||||
0 as *u8,
|
||||
0 as *u8,
|
||||
%s,
|
||||
%s,
|
||||
%s,
|
||||
0 as *u8,
|
||||
JSCLASS_NO_INTERNAL_MEMBERS
|
||||
};
|
||||
""" % (str_to_const_array("Function"), ctorname, hasinstance, ctorname)
|
||||
|
@ -4587,7 +4586,7 @@ class CGBindingRoot(CGThing):
|
|||
#XXXjdm This should only import the namespace for the current binding,
|
||||
# not every binding ever.
|
||||
curr = CGImports(curr, [
|
||||
'js::{crust, JS_ARGV, JS_CALLEE, JS_THIS_OBJECT}',
|
||||
'js::{JS_ARGV, JS_CALLEE, JS_THIS_OBJECT}',
|
||||
'js::{JSCLASS_GLOBAL_SLOT_COUNT, JSCLASS_IS_DOMJSCLASS}',
|
||||
'js::{JSCLASS_IS_GLOBAL, JSCLASS_RESERVED_SLOTS_SHIFT}',
|
||||
'js::{JSCLASS_RESERVED_SLOTS_MASK, JSID_VOID, JSJitInfo}',
|
||||
|
@ -4600,9 +4599,10 @@ class CGBindingRoot(CGThing):
|
|||
'js::jsapi::{JS_NewObject, JS_ObjectIsCallable, JS_SetPrototype}',
|
||||
'js::jsapi::{JS_SetReservedSlot, JS_WrapValue, JSBool, JSContext}',
|
||||
'js::jsapi::{JSClass, JSFreeOp, JSFunctionSpec, JSHandleObject, jsid}',
|
||||
'js::jsapi::{JSNativeWrapper, JSObject, JSPropertyDescriptor}',
|
||||
'js::jsapi::{JSPropertyOpWrapper, JSPropertySpec}',
|
||||
'js::jsapi::{JSStrictPropertyOpWrapper, JSString, JSTracer}',
|
||||
'js::jsapi::{JSNativeWrapper, JSObject, JSPropertyDescriptor, JS_ArrayIterator}',
|
||||
'js::jsapi::{JSPropertyOpWrapper, JSPropertySpec, JS_PropertyStub}',
|
||||
'js::jsapi::{JSStrictPropertyOpWrapper, JSString, JSTracer, JS_ConvertStub}',
|
||||
'js::jsapi::{JS_StrictPropertyStub, JS_EnumerateStub, JS_ResolveStub}',
|
||||
'js::jsval::JSVal',
|
||||
'js::jsval::{ObjectValue, ObjectOrNullValue, PrivateValue}',
|
||||
'js::jsval::{NullValue, UndefinedValue}',
|
||||
|
@ -5712,7 +5712,7 @@ class GlobalGenRoots():
|
|||
'dom::bindings::error::throw_not_in_union',
|
||||
'dom::bindings::js::JS',
|
||||
'dom::types::*',
|
||||
'js::{crust, JS_ARGV, JS_CALLEE, JS_THIS_OBJECT}',
|
||||
'js::{JS_ARGV, JS_CALLEE, JS_THIS_OBJECT}',
|
||||
'js::{JSCLASS_GLOBAL_SLOT_COUNT, JSCLASS_IS_DOMJSCLASS}',
|
||||
'js::{JSCLASS_IS_GLOBAL, JSCLASS_RESERVED_SLOTS_SHIFT}',
|
||||
'js::{JSCLASS_RESERVED_SLOTS_MASK, JSID_VOID, JSJitInfo}',
|
||||
|
|
|
@ -6,11 +6,11 @@ use dom::bindings::utils::is_dom_proxy;
|
|||
use js::jsapi::{JSContext, jsid, JSPropertyDescriptor, JSObject, JSString, jschar};
|
||||
use js::jsapi::{JS_GetPropertyDescriptorById, JS_NewUCString, JS_malloc, JS_free};
|
||||
use js::jsapi::{JSBool, JS_DefinePropertyById, JS_NewObjectWithGivenProto};
|
||||
use js::jsapi::JS_StrictPropertyStub;
|
||||
use js::jsval::ObjectValue;
|
||||
use js::glue::GetProxyExtra;
|
||||
use js::glue::{GetObjectProto, GetObjectParent, SetProxyExtra, GetProxyHandler};
|
||||
use js::glue::InvokeGetOwnPropertyDescriptor;
|
||||
use js::crust::{JS_StrictPropertyStub};
|
||||
use js::{JSPROP_GETTER, JSPROP_ENUMERATE, JSPROP_READONLY, JSRESOLVE_QUALIFIED};
|
||||
|
||||
use std::cast;
|
||||
|
@ -46,7 +46,10 @@ pub extern fn getPropertyDescriptor(cx: *JSContext, proxy: *JSObject, id: jsid,
|
|||
pub fn defineProperty_(cx: *JSContext, proxy: *JSObject, id: jsid,
|
||||
desc: *JSPropertyDescriptor) -> JSBool {
|
||||
unsafe {
|
||||
if ((*desc).attrs & JSPROP_GETTER) != 0 && (*desc).setter == Some(JS_StrictPropertyStub) {
|
||||
//FIXME: Workaround for https://github.com/mozilla/rust/issues/13385
|
||||
let setter: *libc::c_void = cast::transmute((*desc).setter);
|
||||
let setter_stub: *libc::c_void = cast::transmute(JS_StrictPropertyStub);
|
||||
if ((*desc).attrs & JSPROP_GETTER) != 0 && setter == setter_stub {
|
||||
/*return JS_ReportErrorFlagsAndNumber(cx,
|
||||
JSREPORT_WARNING | JSREPORT_STRICT |
|
||||
JSREPORT_STRICT_MODE_ERROR,
|
||||
|
|
|
@ -19,14 +19,11 @@ use servo_net::image_cache_task::ImageCacheTask;
|
|||
use servo_util::str::DOMString;
|
||||
use servo_util::task::{spawn_named};
|
||||
|
||||
use js::glue::*;
|
||||
use js::jsapi::{JSObject, JSContext, JS_DefineProperty};
|
||||
use js::jsval::JSVal;
|
||||
use js::jsval::{NullValue, ObjectValue};
|
||||
use js::jsapi::{JSObject, JSContext, JS_DefineProperty, JS_PropertyStub, JS_StrictPropertyStub};
|
||||
use js::jsval::{NullValue, ObjectValue, JSVal};
|
||||
use js::JSPROP_ENUMERATE;
|
||||
|
||||
use collections::hashmap::HashMap;
|
||||
use std::cast;
|
||||
use std::cmp;
|
||||
use std::comm::{channel, Sender, Receiver};
|
||||
use std::comm::Select;
|
||||
|
@ -329,8 +326,8 @@ impl Window {
|
|||
unsafe {
|
||||
JS_DefineProperty(cx, object, name,
|
||||
ObjectValue(&*object),
|
||||
Some(cast::transmute(GetJSClassHookStubPointer(PROPERTY_STUB))),
|
||||
Some(cast::transmute(GetJSClassHookStubPointer(STRICT_PROPERTY_STUB))),
|
||||
Some(JS_PropertyStub),
|
||||
Some(JS_StrictPropertyStub),
|
||||
JSPROP_ENUMERATE);
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue