aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/bindings
diff options
context:
space:
mode:
authorbors-servo <release+servo@mozilla.com>2014-04-04 18:52:50 -0400
committerbors-servo <release+servo@mozilla.com>2014-04-04 18:52:50 -0400
commit83aabe327d3b713581a4183b7f23cea0c39a94c9 (patch)
tree029d6ce8b2f55606ea9d63ff4cde6eed9e6d0e88 /src/components/script/dom/bindings
parent7ece5f92dbd82bae1ef4862497c8f1bc810c6c55 (diff)
parent4b8254f32bb6323fd99279d4ab905dda15e0f061 (diff)
downloadservo-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.py18
-rw-r--r--src/components/script/dom/bindings/conversions.rs1
-rw-r--r--src/components/script/dom/bindings/js.rs4
-rw-r--r--src/components/script/dom/bindings/utils.rs8
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")
}
}