use str to_jsval() now

xmlhttprequest.rs, CodegenRust.py
replace into_string().to_jsval() to to_jsval()

conversions.rs
DOMString to_jsval() use as_slice().tojsval() now
This commit is contained in:
yodalee 2014-12-28 22:50:22 +08:00
parent 6f569dee92
commit bb087c238b
3 changed files with 3 additions and 10 deletions

View file

@ -2781,7 +2781,7 @@ pub const strings: &'static [&'static str] = &[
impl ToJSValConvertible for super::%s { impl ToJSValConvertible for super::%s {
fn to_jsval(&self, cx: *mut JSContext) -> JSVal { fn to_jsval(&self, cx: *mut JSContext) -> JSVal {
strings[*self as uint].into_string().to_jsval(cx) strings[*self as uint].to_jsval(cx)
} }
} }
""" % (",\n ".join(['"%s"' % val for val in enum.values()]), enum.identifier.name) """ % (",\n ".join(['"%s"' % val for val in enum.values()]), enum.identifier.name)

View file

@ -247,14 +247,7 @@ impl ToJSValConvertible for str {
impl ToJSValConvertible for DOMString { impl ToJSValConvertible for DOMString {
fn to_jsval(&self, cx: *mut JSContext) -> JSVal { fn to_jsval(&self, cx: *mut JSContext) -> JSVal {
unsafe { self.as_slice().to_jsval(cx)
let string_utf16: Vec<u16> = self.as_slice().utf16_units().collect();
let jsstr = JS_NewUCStringCopyN(cx, string_utf16.as_ptr(), string_utf16.len() as libc::size_t);
if jsstr.is_null() {
panic!("JS_NewUCStringCopyN failed");
}
StringValue(&*jsstr)
}
} }
} }

View file

@ -695,7 +695,7 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> {
if ready_state == XMLHttpRequestState::XHRDone || ready_state == XMLHttpRequestState::Loading { if ready_state == XMLHttpRequestState::XHRDone || ready_state == XMLHttpRequestState::Loading {
self.text_response().to_jsval(cx) self.text_response().to_jsval(cx)
} else { } else {
"".into_string().to_jsval(cx) "".to_jsval(cx)
} }
}, },
_ if self.ready_state.get() != XMLHttpRequestState::XHRDone => NullValue(), _ if self.ready_state.get() != XMLHttpRequestState::XHRDone => NullValue(),