diff options
author | bors-servo <release+servo@mozilla.com> | 2013-07-23 16:54:19 -0700 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2013-07-23 16:54:19 -0700 |
commit | fe91f6e238acd9e423d98c18c906416be3090eb3 (patch) | |
tree | 81bcb1b5a8e2956150a7e0c889f624c312100fc3 /src | |
parent | edca186d5259a375166e3d0340fa40b9037d6c20 (diff) | |
parent | bd60e9b79cf0819629f3c3444037b9ceaf204be5 (diff) | |
download | servo-fe91f6e238acd9e423d98c18c906416be3090eb3.tar.gz servo-fe91f6e238acd9e423d98c18c906416be3090eb3.zip |
auto merge of #616 : recrack/servo/copy_name, r=metajack
Diffstat (limited to 'src')
-rw-r--r-- | src/components/script/dom/bindings/utils.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs index a30b310f6b3..f2dcf3471dd 100644 --- a/src/components/script/dom/bindings/utils.rs +++ b/src/components/script/dom/bindings/utils.rs @@ -245,7 +245,7 @@ pub fn prototype_jsclass(name: ~str) -> @fn(compartment: @mut Compartment) -> JS let f: @fn(@mut Compartment) -> JSClass = |compartment: @mut Compartment| { unsafe { JSClass { - name: compartment.add_name(copy name), + name: compartment.add_name(name.to_owned()), flags: 0, addProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8, delProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8, @@ -279,7 +279,7 @@ pub fn instance_jsclass(name: ~str, finalize: *u8, trace: *u8) let f: @fn(@mut Compartment) -> JSClass = |compartment: @mut Compartment| { unsafe { JSClass { - name: compartment.add_name(copy name), + name: compartment.add_name(name.to_owned()), flags: JSCLASS_HAS_RESERVED_SLOTS(1) | js::JSCLASS_IS_DOMJSCLASS, addProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8, delProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8, @@ -308,22 +308,21 @@ pub fn instance_jsclass(name: ~str, finalize: *u8, trace: *u8) return f; } -// FIXME: A lot of string copies here pub fn define_empty_prototype(name: ~str, proto: Option<~str>, compartment: @mut Compartment) -> js::rust::jsobj { - compartment.register_class(prototype_jsclass(copy name)); + compartment.register_class(prototype_jsclass(name.to_owned())); //TODO error checking let obj = result::unwrap( match proto { - Some(s) => compartment.new_object_with_proto(copy name, + Some(s) => compartment.new_object_with_proto(name.to_owned(), s, compartment.global_obj.ptr), - None => compartment.new_object(copy name, null(), compartment.global_obj.ptr) + None => compartment.new_object(name.to_owned(), null(), compartment.global_obj.ptr) }); unsafe { - compartment.define_property(copy name, RUST_OBJECT_TO_JSVAL(obj.ptr), + compartment.define_property(name.to_owned(), RUST_OBJECT_TO_JSVAL(obj.ptr), GetJSClassHookStubPointer(PROPERTY_STUB) as *u8, GetJSClassHookStubPointer(STRICT_PROPERTY_STUB) as *u8, JSPROP_ENUMERATE); |