diff options
author | bors-servo <release+servo@mozilla.com> | 2014-04-08 11:13:12 -0400 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2014-04-08 11:13:12 -0400 |
commit | aa36ae62cd8f881e901f3657cb228dc2e4480e1f (patch) | |
tree | 9ea2a95c457c2c09d7f0fdbf9678392123e40649 | |
parent | 51ff762bc5bf36a9f12448d222281ce39cf9a357 (diff) | |
parent | b87d351fee1813dd4c8e644b066848d0839a2a95 (diff) | |
download | servo-aa36ae62cd8f881e901f3657cb228dc2e4480e1f.tar.gz servo-aa36ae62cd8f881e901f3657cb228dc2e4480e1f.zip |
auto merge of #2058 : jdm/servo/rmcrust, r=Ms2ger
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 94 | ||||
-rw-r--r-- | src/components/script/dom/bindings/proxyhandler.rs | 7 | ||||
-rw-r--r-- | src/components/script/dom/window.rs | 11 | ||||
m--------- | src/support/spidermonkey/rust-mozjs | 0 |
4 files changed, 56 insertions, 56 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index d319ebe909e..7c6b7bed88a 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -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}', diff --git a/src/components/script/dom/bindings/proxyhandler.rs b/src/components/script/dom/bindings/proxyhandler.rs index 80320ec4cfb..22df6e0df86 100644 --- a/src/components/script/dom/bindings/proxyhandler.rs +++ b/src/components/script/dom/bindings/proxyhandler.rs @@ -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, diff --git a/src/components/script/dom/window.rs b/src/components/script/dom/window.rs index dae0020abe8..9ba9d00da82 100644 --- a/src/components/script/dom/window.rs +++ b/src/components/script/dom/window.rs @@ -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); } }) diff --git a/src/support/spidermonkey/rust-mozjs b/src/support/spidermonkey/rust-mozjs -Subproject f81f450ba6a742041844d40154dfe8ad1e540a4 +Subproject 9f0ae0ab33f786c9d2d5e1a9fdfdc6c07fa9803 |