diff options
author | bors-servo <release+servo@mozilla.com> | 2014-04-04 18:52:50 -0400 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2014-04-04 18:52:50 -0400 |
commit | 83aabe327d3b713581a4183b7f23cea0c39a94c9 (patch) | |
tree | 029d6ce8b2f55606ea9d63ff4cde6eed9e6d0e88 /src/components/script/dom/bindings | |
parent | 7ece5f92dbd82bae1ef4862497c8f1bc810c6c55 (diff) | |
parent | 4b8254f32bb6323fd99279d4ab905dda15e0f061 (diff) | |
download | servo-83aabe327d3b713581a4183b7f23cea0c39a94c9.tar.gz servo-83aabe327d3b713581a4183b7f23cea0c39a94c9.zip |
auto merge of #2041 : mozilla/servo/rustup_20140321b, r=larsbergstrom
Diffstat (limited to 'src/components/script/dom/bindings')
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 18 | ||||
-rw-r--r-- | src/components/script/dom/bindings/conversions.rs | 1 | ||||
-rw-r--r-- | src/components/script/dom/bindings/js.rs | 4 | ||||
-rw-r--r-- | src/components/script/dom/bindings/utils.rs | 8 |
4 files changed, 16 insertions, 15 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index ded87534683..cce35ffce82 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -2023,7 +2023,7 @@ def CreateBindingJSObject(descriptor, parent=None): assert not descriptor.createGlobal handler = """ let js_info = aScope.get().page().js_info(); - let handler = js_info.get().get_ref().dom_static.proxy_handlers.get(&(PrototypeList::id::%s as uint)); + let handler = js_info.get_ref().dom_static.proxy_handlers.get(&(PrototypeList::id::%s as uint)); """ % descriptor.name create += handler + """ let obj = NewProxyObject(aCx, *handler, &PrivateValue(squirrel_away_unique(aObject) as *libc::c_void), @@ -2338,12 +2338,12 @@ class CGDefineDOMInterfaceMethod(CGAbstractMethod): self.descriptor.name) else: body += """ js_info.dom_static.attribute_ids.insert(PrototypeList::id::%s as uint, - vec::cast_to_mut(vec::from_slice(sAttributes_ids))); + slice::cast_to_mut(slice::from_slice(sAttributes_ids))); """ % self.descriptor.name body = "" #XXXjdm xray stuff isn't necessary yet - return (body + """ let cx = js_info.js_context.borrow().ptr; - let receiver = js_info.js_compartment.borrow().global_obj; + return (body + """ let cx = js_info.js_context.deref().ptr; + let receiver = js_info.js_compartment.global_obj; let global: *JSObject = JS_GetGlobalForObject(cx, receiver); return %s(cx, global, receiver).is_not_null();""" % (getter)) @@ -3700,7 +3700,7 @@ class CGXrayHelper(CGAbstractExternMethod): methods = self.properties.methods if methods.hasNonChromeOnly() or methods.hasChromeOnly(): methodArgs = "Some(zip_copies(%(methods)s, *method_ids))" % varNames - setup += "let method_ids = js_info.get().get_ref().dom_static.method_ids.get(&(PrototypeList::id::ClientRect as uint));\n" + setup += "let method_ids = js_info.get_ref().dom_static.method_ids.get(&(PrototypeList::id::ClientRect as uint));\n" else: methodArgs = "None" methodArgs = CGGeneric(methodArgs) @@ -3708,7 +3708,7 @@ class CGXrayHelper(CGAbstractExternMethod): attrs = self.properties.attrs if attrs.hasNonChromeOnly() or attrs.hasChromeOnly(): attrArgs = "Some(zip_copies(%(attrs)s, *attr_ids))" % varNames - setup += "let attr_ids = js_info.get().get_ref().dom_static.attribute_ids.get(&(PrototypeList::id::ClientRect as uint));\n" + setup += "let attr_ids = js_info.get_ref().dom_static.attribute_ids.get(&(PrototypeList::id::ClientRect as uint));\n" else: attrArgs = "None" attrArgs = CGGeneric(attrArgs) @@ -3716,7 +3716,7 @@ class CGXrayHelper(CGAbstractExternMethod): consts = self.properties.consts if consts.hasNonChromeOnly() or consts.hasChromeOnly(): constArgs = "Some(zip_copies(%(consts)s, *const_ids))" % varNames - setup += "let const_ids = js_info.get().get_ref().dom_static.constant_ids.get(&(PrototypeList::id::ClientRect as uint));\n" + setup += "let const_ids = js_info.get_ref().dom_static.constant_ids.get(&(PrototypeList::id::ClientRect as uint));\n" else: constArgs = "None" constArgs = CGGeneric(constArgs) @@ -4774,7 +4774,7 @@ class CGBindingRoot(CGThing): 'std::cmp', 'std::libc', 'std::ptr', - 'std::vec', + 'std::slice', 'std::str', 'std::num', ]) @@ -5336,7 +5336,7 @@ class CallbackMember(CGNativeMember): if self.argCount > 0: replacements["argCount"] = self.argCountStr replacements["argvDecl"] = string.Template( - "let mut argv = vec::from_elem(${argCount}, UndefinedValue());\n" + "let mut argv = slice::from_elem(${argCount}, UndefinedValue());\n" ).substitute(replacements) else: # Avoid weird 0-sized arrays diff --git a/src/components/script/dom/bindings/conversions.rs b/src/components/script/dom/bindings/conversions.rs index 311745603a5..513dac9964a 100644 --- a/src/components/script/dom/bindings/conversions.rs +++ b/src/components/script/dom/bindings/conversions.rs @@ -17,6 +17,7 @@ use js::jsval::JSVal; use js::jsval::{NullValue, BooleanValue, Int32Value, UInt32Value, StringValue}; use js::jsval::ObjectValue; use js::glue::RUST_JS_NumberValue; +use std::default::Default; use std::libc; pub trait ToJSValConvertible { diff --git a/src/components/script/dom/bindings/js.rs b/src/components/script/dom/bindings/js.rs index e9fe15eb31f..71ca2d7ac86 100644 --- a/src/components/script/dom/bindings/js.rs +++ b/src/components/script/dom/bindings/js.rs @@ -64,14 +64,14 @@ impl<T> JS<T> { pub fn get<'a>(&'a self) -> &'a T { let borrowed = self.ptr.borrow(); unsafe { - &(**borrowed.get()) + &**borrowed } } pub fn get_mut<'a>(&'a mut self) -> &'a mut T { let mut borrowed = self.ptr.borrow_mut(); unsafe { - &mut (**borrowed.get()) + &mut **borrowed } } diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs index 37c62fd4c3c..db6cb3290d7 100644 --- a/src/components/script/dom/bindings/utils.rs +++ b/src/components/script/dom/bindings/utils.rs @@ -15,8 +15,8 @@ use std::cmp::Eq; use std::libc; use std::ptr; use std::ptr::null; +use std::slice; use std::str; -use std::vec; use js::glue::*; use js::glue::{js_IsObjectProxyClass, js_IsFunctionProxyClass, IsProxyHandlerFamily}; use js::jsapi::{JS_AlreadyHasOwnProperty, JS_NewFunction}; @@ -136,7 +136,7 @@ pub fn jsstring_to_str(cx: *JSContext, s: *JSString) -> DOMString { unsafe { let length = 0; let chars = JS_GetStringCharsAndLength(cx, s, &length); - vec::raw::buf_as_slice(chars, length as uint, |char_vec| { + slice::raw::buf_as_slice(chars, length as uint, |char_vec| { str::from_utf16(char_vec).unwrap() }) } @@ -646,8 +646,8 @@ pub fn global_object_for_js_object(obj: *JSObject) -> JS<window::Window> { fn cx_for_dom_reflector(obj: *JSObject) -> *JSContext { let win = global_object_for_js_object(obj); let js_info = win.get().page().js_info(); - match *js_info.get() { - Some(ref info) => info.js_context.borrow().ptr, + match *js_info { + Some(ref info) => info.js_context.deref().ptr, None => fail!("no JS context for DOM global") } } |