diff options
author | Cameron Zwarich <zwarich@mozilla.com> | 2014-09-18 13:43:15 -0700 |
---|---|---|
committer | Cameron Zwarich <zwarich@mozilla.com> | 2014-09-19 13:39:17 -0700 |
commit | 4fa872511117eafd934cad70c7d3b8c583fb960e (patch) | |
tree | 8c75e871c896648de54c2e9aa376d30b4b98220e | |
parent | b8f34bbc5170f78e4939b1d647f8d8498e3c2fb6 (diff) | |
download | servo-4fa872511117eafd934cad70c7d3b8c583fb960e.tar.gz servo-4fa872511117eafd934cad70c7d3b8c583fb960e.zip |
First steps of &JSRef -> JSRef conversion
Replace &JSRef with JSRef in the bulk of the generated code. This will
remove a level of indirection throughout all DOM code.
This patch doesn't change methods implemented on JSRef<T> to take `self`
rather than `&self`, and it leaves a few other uses of &JSRef, but those
changes can be made incrementally.
126 files changed, 994 insertions, 992 deletions
diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index 61f520821a1..00d42d22b49 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -95,7 +95,7 @@ impl Reflectable for Attr { impl Attr { fn new_inherited(local_name: Atom, value: AttrValue, name: Atom, namespace: Namespace, - prefix: Option<DOMString>, owner: &JSRef<Element>) -> Attr { + prefix: Option<DOMString>, owner: JSRef<Element>) -> Attr { Attr { reflector_: Reflector::new(), local_name: local_name, @@ -107,11 +107,11 @@ impl Attr { } } - pub fn new(window: &JSRef<Window>, local_name: Atom, value: AttrValue, + pub fn new(window: JSRef<Window>, local_name: Atom, value: AttrValue, name: Atom, namespace: Namespace, - prefix: Option<DOMString>, owner: &JSRef<Element>) -> Temporary<Attr> { + prefix: Option<DOMString>, owner: JSRef<Element>) -> Temporary<Attr> { reflect_dom_object(box Attr::new_inherited(local_name, value, name, namespace, prefix, owner), - &Window(*window), AttrBinding::Wrap) + &Window(window), AttrBinding::Wrap) } } @@ -157,13 +157,13 @@ pub trait AttrHelpers { impl<'a> AttrHelpers for JSRef<'a, Attr> { fn set_value(&self, set_type: AttrSettingType, value: AttrValue) { let owner = self.owner.root(); - let node: &JSRef<Node> = NodeCast::from_ref(&*owner); + let node: JSRef<Node> = NodeCast::from_ref(*owner); let namespace_is_null = self.namespace == namespace::Null; match set_type { ReplacedAttr => { if namespace_is_null { - vtable_for(node).before_remove_attr( + vtable_for(&node).before_remove_attr( self.local_name(), self.value().as_slice().to_string()) } @@ -174,7 +174,7 @@ impl<'a> AttrHelpers for JSRef<'a, Attr> { *self.value.deref().borrow_mut() = value; if namespace_is_null { - vtable_for(node).after_set_attr( + vtable_for(&node).after_set_attr( self.local_name(), self.value().as_slice().to_string()) } diff --git a/components/script/dom/bindings/callback.rs b/components/script/dom/bindings/callback.rs index 95b16478b79..b4394647bbd 100644 --- a/components/script/dom/bindings/callback.rs +++ b/components/script/dom/bindings/callback.rs @@ -115,7 +115,7 @@ impl CallbackInterface { /// Wraps the reflector for `p` into the compartment of `cx`. pub fn WrapCallThisObject<T: Reflectable>(cx: *mut JSContext, - p: &JSRef<T>) -> *mut JSObject { + p: JSRef<T>) -> *mut JSObject { let mut obj = p.reflector().get_jsobject(); assert!(obj.is_not_null()); @@ -140,7 +140,7 @@ pub struct CallSetup { impl CallSetup { /// Performs the setup needed to make a call. #[allow(unrooted_must_root)] - pub fn new<T: CallbackContainer>(callback: &T, handling: ExceptionHandling) -> CallSetup { + pub fn new<T: CallbackContainer>(callback: T, handling: ExceptionHandling) -> CallSetup { let global = global_object_for_js_object(callback.callback()); let global = global.root(); let cx = global.root_ref().get_cx(); diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index bcf068eb5de..dd39ff61563 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -2170,10 +2170,7 @@ class CGCallGenerator(CGThing): args = CGList([CGGeneric(arg) for arg in argsPre], ", ") for (a, name) in arguments: #XXXjdm Perhaps we should pass all nontrivial types by borrowed pointer - if a.type.isGeckoInterface(): - if not (a.type.nullable() or a.optional): - name = "&" + name - elif a.type.isDictionary(): + if a.type.isDictionary(): name = "&" + name args.append(CGGeneric(name)) @@ -3996,9 +3993,7 @@ class CGInterfaceTrait(CGThing): elif optional and not defaultValue: declType = CGWrapper(declType, pre="Option<", post=">") - if ty.isGeckoInterface() and not (ty.nullable() or optional): - declType = CGWrapper(declType, pre="&") - elif ty.isDictionary(): + if ty.isDictionary(): declType = CGWrapper(declType, pre="&") return declType.define() @@ -4854,27 +4849,22 @@ class CGNativeMember(ClassMethod): decl = CGGeneric(decl) if handleNullable and type.nullable(): decl = CGTemplatedType("Nullable", decl) - ref = True if isMember == "Variadic": arrayType = "Sequence" if self.variadicIsSequence else "nsTArray" decl = CGTemplatedType(arrayType, decl) - ref = True elif optional: # Note: All variadic args claim to be optional, but we can just use # empty arrays to represent them not being present. decl = CGTemplatedType("Option", decl) - ref = False - return (decl, ref) + return decl def getArg(self, arg): """ Get the full argument declaration for an argument """ - (decl, ref) = self.getArgType(arg.type, - arg.optional and not arg.defaultValue, - "Variadic" if arg.variadic else False) - if ref: - decl = CGWrapper(decl, pre="&") + decl = self.getArgType(arg.type, + arg.optional and not arg.defaultValue, + "Variadic" if arg.variadic else False) return Argument(decl.define(), arg.identifier.name) @@ -4931,17 +4921,17 @@ class CGCallback(CGClass): args.append(Argument("ExceptionHandling", "aExceptionHandling", "ReportExceptions")) - args[0] = Argument('&' + args[0].argType, args[0].name, args[0].default) + args[0] = Argument(args[0].argType, args[0].name, args[0].default) method.args[2] = args[0] # And now insert our template argument. argsWithoutThis = list(args) - args.insert(0, Argument("&JSRef<T>", "thisObj")) + args.insert(0, Argument("JSRef<T>", "thisObj")) # And the self argument - method.args.insert(0, Argument(None, "&self")) - args.insert(0, Argument(None, "&self")) - argsWithoutThis.insert(0, Argument(None, "&self")) + method.args.insert(0, Argument(None, "self")) + args.insert(0, Argument(None, "self")) + argsWithoutThis.insert(0, Argument(None, "self")) setupCall = ("let s = CallSetup::new(self, aExceptionHandling);\n" "if s.GetContext().is_null() {\n" @@ -5471,7 +5461,7 @@ class GlobalGenRoots(): cast = [CGGeneric(string.Template('''pub trait ${castTraitName} { #[inline(always)] - fn to_ref<'a, 'b, T: ${toBound}+Reflectable>(base: &'a JSRef<'b, T>) -> Option<&'a JSRef<'b, Self>> { + fn to_ref<'a, T: ${toBound}+Reflectable>(base: JSRef<'a, T>) -> Option<JSRef<'a, Self>> { match base.deref().${checkFn}() { true => unsafe { Some(base.transmute()) }, false => None @@ -5479,11 +5469,24 @@ class GlobalGenRoots(): } #[inline(always)] - fn from_ref<'a, 'b, T: ${fromBound}>(derived: &'a JSRef<'b, T>) -> &'a JSRef<'b, Self> { + fn to_borrowed_ref<'a, 'b, T: ${toBound}+Reflectable>(base: &'a JSRef<'b, T>) -> Option<&'a JSRef<'b, Self>> { + match base.deref().${checkFn}() { + true => unsafe { Some(base.transmute_borrowed()) }, + false => None + } + } + + #[inline(always)] + fn from_ref<'a, T: ${fromBound}>(derived: JSRef<'a, T>) -> JSRef<'a, Self> { unsafe { derived.transmute() } } #[inline(always)] + fn from_borrowed_ref<'a, 'b, T: ${fromBound}>(derived: &'a JSRef<'b, T>) -> &'a JSRef<'b, Self> { + unsafe { derived.transmute_borrowed() } + } + + #[inline(always)] fn from_temporary<T: ${fromBound}+Reflectable>(derived: Temporary<T>) -> Temporary<Self> { unsafe { derived.transmute() } } diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs index e3b3f9cca1e..7bf8ecc343d 100644 --- a/components/script/dom/bindings/global.rs +++ b/components/script/dom/bindings/global.rs @@ -52,9 +52,9 @@ impl<'a> GlobalRef<'a> { /// Extract a `Window`, causing task failure if the global object is not /// a `Window`. - pub fn as_window<'b>(&'b self) -> &'b JSRef<'b, Window> { + pub fn as_window<'b>(&'b self) -> JSRef<'b, Window> { match *self { - Window(ref window) => window, + Window(window) => window, Worker(_) => fail!("expected a Window scope"), } } @@ -107,8 +107,8 @@ impl GlobalField { /// Create a new `GlobalField` from a rooted reference. pub fn from_rooted(global: &GlobalRef) -> GlobalField { match *global { - Window(ref window) => WindowField(JS::from_rooted(window)), - Worker(ref worker) => WorkerField(JS::from_rooted(worker)), + Window(window) => WindowField(JS::from_rooted(window)), + Worker(worker) => WorkerField(JS::from_rooted(worker)), } } diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index 7754adce672..5395db760fd 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -21,7 +21,7 @@ //! //! - All methods return `Temporary<T>`, to ensure the value remains alive until it is stored //! somewhere that is reachable by the GC. -//! - All functions take `&JSRef<T>` arguments, to ensure that they will remain uncollected for +//! - All functions take `JSRef<T>` arguments, to ensure that they will remain uncollected for //! the duration of their usage. //! - All types contain `JS<T>` fields and derive the `Encodable` trait, to ensure that they are //! transitively marked as reachable by the GC if the enclosing value is reachable. @@ -84,7 +84,7 @@ impl<T: Reflectable> Temporary<T> { } /// Create a new `Temporary` value from a rooted value. - pub fn from_rooted<'a>(root: &JSRef<'a, T>) -> Temporary<T> { + pub fn from_rooted<'a>(root: JSRef<'a, T>) -> Temporary<T> { Temporary::new(JS::from_rooted(root)) } @@ -175,7 +175,7 @@ impl<T: Reflectable> JS<T> { } impl<T: Assignable<U>, U: Reflectable> JS<U> { - pub fn from_rooted(root: &T) -> JS<U> { + pub fn from_rooted(root: T) -> JS<U> { unsafe { root.get_js() } @@ -298,7 +298,7 @@ pub trait OptionalUnrootable<T> { impl<'a, T: Reflectable> OptionalUnrootable<T> for Option<JSRef<'a, T>> { fn unrooted(&self) -> Option<JS<T>> { - self.as_ref().map(|inner| JS::from_rooted(inner)) + self.as_ref().map(|inner| JS::from_rooted(*inner)) } } @@ -477,12 +477,12 @@ impl<'a, T> PartialEq for JSRef<'a, T> { impl<'a,T> JSRef<'a,T> { //XXXjdm It would be lovely if this could be private. - pub unsafe fn transmute<'b, To>(&'b self) -> &'b JSRef<'a, To> { + pub unsafe fn transmute<To>(self) -> JSRef<'a, To> { mem::transmute(self) } - //XXXjdm It would be lovely if this could be private. - pub unsafe fn transmute_mut<'b, To>(&'b mut self) -> &'b mut JSRef<'a, To> { + // FIXME(zwarich): It would be nice to get rid of this entirely. + pub unsafe fn transmute_borrowed<'b, To>(&'b self) -> &'b JSRef<'a, To> { mem::transmute(self) } diff --git a/components/script/dom/browsercontext.rs b/components/script/dom/browsercontext.rs index b4cbb6be336..fee00301d55 100644 --- a/components/script/dom/browsercontext.rs +++ b/components/script/dom/browsercontext.rs @@ -24,7 +24,7 @@ pub struct BrowserContext { } impl BrowserContext { - pub fn new(document: &JSRef<Document>) -> BrowserContext { + pub fn new(document: JSRef<Document>) -> BrowserContext { let mut context = BrowserContext { history: vec!(SessionHistoryEntry::new(document)), active_index: 0, @@ -74,7 +74,7 @@ pub struct SessionHistoryEntry { } impl SessionHistoryEntry { - fn new(document: &JSRef<Document>) -> SessionHistoryEntry { + fn new(document: JSRef<Document>) -> SessionHistoryEntry { SessionHistoryEntry { document: JS::from_rooted(document), children: vec!() diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 6297a0718d8..cc06b7fadfc 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -26,7 +26,7 @@ pub struct CanvasRenderingContext2D { } impl CanvasRenderingContext2D { - pub fn new_inherited(global: &GlobalRef, canvas: &JSRef<HTMLCanvasElement>, size: Size2D<i32>) -> CanvasRenderingContext2D { + pub fn new_inherited(global: &GlobalRef, canvas: JSRef<HTMLCanvasElement>, size: Size2D<i32>) -> CanvasRenderingContext2D { CanvasRenderingContext2D { reflector_: Reflector::new(), global: GlobalField::from_rooted(global), @@ -35,7 +35,7 @@ impl CanvasRenderingContext2D { } } - pub fn new(global: &GlobalRef, canvas: &JSRef<HTMLCanvasElement>, size: Size2D<i32>) -> Temporary<CanvasRenderingContext2D> { + pub fn new(global: &GlobalRef, canvas: JSRef<HTMLCanvasElement>, size: Size2D<i32>) -> Temporary<CanvasRenderingContext2D> { reflect_dom_object(box CanvasRenderingContext2D::new_inherited(global, canvas, size), global, CanvasRenderingContext2DBinding::Wrap) } diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs index 371d53884ff..a7ac4a2d631 100644 --- a/components/script/dom/characterdata.rs +++ b/components/script/dom/characterdata.rs @@ -36,7 +36,7 @@ impl CharacterDataDerived for EventTarget { } impl CharacterData { - pub fn new_inherited(id: NodeTypeId, data: DOMString, document: &JSRef<Document>) -> CharacterData { + pub fn new_inherited(id: NodeTypeId, data: DOMString, document: JSRef<Document>) -> CharacterData { CharacterData { node: Node::new_inherited(id, document), data: Traceable::new(RefCell::new(data)), @@ -95,7 +95,7 @@ impl<'a> CharacterDataMethods for JSRef<'a, CharacterData> { // http://dom.spec.whatwg.org/#dom-childnode-remove fn Remove(&self) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.remove_self(); } } diff --git a/components/script/dom/comment.rs b/components/script/dom/comment.rs index 5e82dae3716..86b82e0646c 100644 --- a/components/script/dom/comment.rs +++ b/components/script/dom/comment.rs @@ -29,20 +29,20 @@ impl CommentDerived for EventTarget { } impl Comment { - pub fn new_inherited(text: DOMString, document: &JSRef<Document>) -> Comment { + pub fn new_inherited(text: DOMString, document: JSRef<Document>) -> Comment { Comment { characterdata: CharacterData::new_inherited(CommentNodeTypeId, text, document) } } - pub fn new(text: DOMString, document: &JSRef<Document>) -> Temporary<Comment> { + pub fn new(text: DOMString, document: JSRef<Document>) -> Temporary<Comment> { Node::reflect_node(box Comment::new_inherited(text, document), document, CommentBinding::Wrap) } pub fn Constructor(global: &GlobalRef, data: DOMString) -> Fallible<Temporary<Comment>> { let document = global.as_window().Document().root(); - Ok(Comment::new(data, &*document)) + Ok(Comment::new(data, *&*document)) } } diff --git a/components/script/dom/customevent.rs b/components/script/dom/customevent.rs index 5c3db95ff75..71dfb9c89f5 100644 --- a/components/script/dom/customevent.rs +++ b/components/script/dom/customevent.rs @@ -47,7 +47,7 @@ impl CustomEvent { pub fn new(global: &GlobalRef, type_: DOMString, bubbles: bool, cancelable: bool, detail: JSVal) -> Temporary<CustomEvent> { let ev = CustomEvent::new_uninitialized(global).root(); ev.deref().InitCustomEvent(global.get_cx(), type_, bubbles, cancelable, detail); - Temporary::from_rooted(&*ev) + Temporary::from_rooted(*ev) } pub fn Constructor(global: &GlobalRef, type_: DOMString, @@ -68,7 +68,7 @@ impl<'a> CustomEventMethods for JSRef<'a, CustomEvent> { cancelable: bool, detail: JSVal) { self.detail.deref().set(Traceable::new(detail)); - let event: &JSRef<Event> = EventCast::from_ref(self); + let event: JSRef<Event> = EventCast::from_ref(*self); event.InitEvent(type_, can_bubble, cancelable); } } diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index 54d7684a0c6..749db8d61f7 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -115,10 +115,10 @@ impl DedicatedWorkerGlobalScope { } global.delayed_release_worker(); - let scope: &JSRef<WorkerGlobalScope> = - WorkerGlobalScopeCast::from_ref(&*global); - let target: &JSRef<EventTarget> = - EventTargetCast::from_ref(&*global); + let scope: JSRef<WorkerGlobalScope> = + WorkerGlobalScopeCast::from_ref(*global); + let target: JSRef<EventTarget> = + EventTargetCast::from_ref(*global); loop { match global.receiver.recv_opt() { Ok(DOMMessage(data, nbytes)) => { @@ -130,7 +130,7 @@ impl DedicatedWorkerGlobalScope { ptr::null(), ptr::mut_null()) != 0); } - MessageEvent::dispatch_jsval(target, &Worker(*scope), message); + MessageEvent::dispatch_jsval(target, &Worker(scope), message); global.delayed_release_worker(); }, Ok(XHRProgressMsg(addr, progress)) => { @@ -164,12 +164,12 @@ impl<'a> DedicatedWorkerGlobalScopeMethods for JSRef<'a, DedicatedWorkerGlobalSc } fn GetOnmessage(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("message") } fn SetOnmessage(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("message", listener) } } diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 177097be7df..69f1dd25d3e 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -101,49 +101,49 @@ impl DocumentDerived for EventTarget { struct ImagesFilter; impl CollectionFilter for ImagesFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { elem.is_htmlimageelement() } } struct EmbedsFilter; impl CollectionFilter for EmbedsFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { elem.is_htmlembedelement() } } struct LinksFilter; impl CollectionFilter for LinksFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { (elem.is_htmlanchorelement() || elem.is_htmlareaelement()) && elem.has_attribute("href") } } struct FormsFilter; impl CollectionFilter for FormsFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { elem.is_htmlformelement() } } struct ScriptsFilter; impl CollectionFilter for ScriptsFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { elem.is_htmlscriptelement() } } struct AnchorsFilter; impl CollectionFilter for AnchorsFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { elem.is_htmlanchorelement() && elem.has_attribute("href") } } struct AppletsFilter; impl CollectionFilter for AppletsFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { elem.is_htmlappletelement() } } @@ -157,8 +157,8 @@ pub trait DocumentHelpers { fn content_changed(&self); fn damage_and_reflow(&self, damage: DocumentDamageLevel); fn wait_until_safe_to_modify_dom(&self); - fn unregister_named_element(&self, to_unregister: &JSRef<Element>, id: DOMString); - fn register_named_element(&self, element: &JSRef<Element>, id: DOMString); + fn unregister_named_element(&self, to_unregister: JSRef<Element>, id: DOMString); + fn register_named_element(&self, element: JSRef<Element>, id: DOMString); fn load_anchor_href(&self, href: DOMString); } @@ -198,7 +198,7 @@ impl<'a> DocumentHelpers for JSRef<'a, Document> { /// Remove any existing association between the provided id and any elements in this document. fn unregister_named_element(&self, - to_unregister: &JSRef<Element>, + to_unregister: JSRef<Element>, id: DOMString) { let mut idmap = self.idmap.deref().borrow_mut(); let is_empty = match idmap.find_mut(&id) { @@ -206,7 +206,7 @@ impl<'a> DocumentHelpers for JSRef<'a, Document> { Some(elements) => { let position = elements.iter() .map(|elem| elem.root()) - .position(|element| &*element == to_unregister) + .position(|element| *element == to_unregister) .expect("This element should be in registered."); elements.remove(position); elements.is_empty() @@ -219,10 +219,10 @@ impl<'a> DocumentHelpers for JSRef<'a, Document> { /// Associate an element present in this document with the provided id. fn register_named_element(&self, - element: &JSRef<Element>, + element: JSRef<Element>, id: DOMString) { assert!({ - let node: &JSRef<Node> = NodeCast::from_ref(element); + let node: JSRef<Node> = NodeCast::from_ref(element); node.is_in_doc() }); assert!(!id.is_empty()); @@ -234,30 +234,30 @@ impl<'a> DocumentHelpers for JSRef<'a, Document> { let root = self.GetDocumentElement().expect("The element is in the document, so there must be a document element.").root(); match idmap.find_mut(&id) { Some(elements) => { - let new_node: &JSRef<Node> = NodeCast::from_ref(element); + let new_node: JSRef<Node> = NodeCast::from_ref(element); let mut head : uint = 0u; - let root: &JSRef<Node> = NodeCast::from_ref(&*root); + let root: JSRef<Node> = NodeCast::from_ref(*root); for node in root.traverse_preorder() { - let elem: Option<&JSRef<Element>> = ElementCast::to_ref(&node); + let elem: Option<JSRef<Element>> = ElementCast::to_ref(node); match elem { Some(elem) => { - if &*(*elements)[head].root() == elem { + if *(*elements)[head].root() == elem { head = head + 1; } - if new_node == &node || head == elements.len() { + if new_node == node || head == elements.len() { break; } } None => {} } } - elements.insert_unrooted(head, element); + elements.insert_unrooted(head, &element); return; }, None => (), } let mut elements = vec!(); - elements.push_unrooted(element); + elements.push_unrooted(&element); idmap.insert(id, elements); } @@ -268,7 +268,7 @@ impl<'a> DocumentHelpers for JSRef<'a, Document> { } impl Document { - pub fn new_inherited(window: &JSRef<Window>, + pub fn new_inherited(window: JSRef<Window>, url: Option<Url>, is_html_document: IsHTMLDocument, content_type: Option<DOMString>) -> Document { @@ -311,14 +311,14 @@ impl Document { Ok(Document::new(global.as_window(), None, NonHTMLDocument, None)) } - pub fn new(window: &JSRef<Window>, url: Option<Url>, doctype: IsHTMLDocument, content_type: Option<DOMString>) -> Temporary<Document> { + pub fn new(window: JSRef<Window>, url: Option<Url>, doctype: IsHTMLDocument, content_type: Option<DOMString>) -> Temporary<Document> { let document = reflect_dom_object(box Document::new_inherited(window, url, doctype, content_type), - &Window(*window), + &Window(window), DocumentBinding::Wrap).root(); - let node: &JSRef<Node> = NodeCast::from_ref(&*document); - node.set_owner_doc(&*document); - Temporary::from_rooted(&*document) + let node: JSRef<Node> = NodeCast::from_ref(*document); + node.set_owner_doc(*&*document); + Temporary::from_rooted(*&*document) } } @@ -329,27 +329,27 @@ impl Reflectable for Document { } trait PrivateDocumentHelpers { - fn createNodeList(&self, callback: |node: &JSRef<Node>| -> bool) -> Temporary<NodeList>; + fn createNodeList(&self, callback: |node: JSRef<Node>| -> bool) -> Temporary<NodeList>; fn get_html_element(&self) -> Option<Temporary<HTMLHtmlElement>>; } impl<'a> PrivateDocumentHelpers for JSRef<'a, Document> { - fn createNodeList(&self, callback: |node: &JSRef<Node>| -> bool) -> Temporary<NodeList> { + fn createNodeList(&self, callback: |node: JSRef<Node>| -> bool) -> Temporary<NodeList> { let window = self.window.root(); match self.GetDocumentElement().root() { None => { - NodeList::new_simple_list(&*window, vec!()) + NodeList::new_simple_list(*window, vec!()) }, Some(root) => { let mut nodes = vec!(); - let root: &JSRef<Node> = NodeCast::from_ref(&*root); + let root: JSRef<Node> = NodeCast::from_ref(*root); for child in root.traverse_preorder() { - if callback(&child) { + if callback(child) { nodes.push(child); } } - NodeList::new_simple_list(&*window, nodes) + NodeList::new_simple_list(*window, nodes) } } @@ -357,10 +357,10 @@ impl<'a> PrivateDocumentHelpers for JSRef<'a, Document> { fn get_html_element(&self) -> Option<Temporary<HTMLHtmlElement>> { self.GetDocumentElement().root().filtered(|root| { - let root: &JSRef<Node> = NodeCast::from_ref(&**root); + let root: JSRef<Node> = NodeCast::from_ref(**root); root.type_id() == ElementNodeTypeId(HTMLHtmlElementTypeId) }).map(|elem| { - Temporary::from_rooted(HTMLHtmlElementCast::to_ref(&*elem).unwrap()) + Temporary::from_rooted(HTMLHtmlElementCast::to_ref(*elem).unwrap()) }) } } @@ -369,7 +369,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // http://dom.spec.whatwg.org/#dom-document-implementation fn Implementation(&self) -> Temporary<DOMImplementation> { if self.implementation.get().is_none() { - self.implementation.assign(Some(DOMImplementation::new(self))); + self.implementation.assign(Some(DOMImplementation::new(*self))); } Temporary::new(self.implementation.get().get_ref().clone()) } @@ -404,38 +404,38 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // http://dom.spec.whatwg.org/#dom-document-doctype fn GetDoctype(&self) -> Option<Temporary<DocumentType>> { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.children().find(|child| { child.is_doctype() }).map(|node| { - let doctype: &JSRef<DocumentType> = DocumentTypeCast::to_ref(&node).unwrap(); + let doctype: JSRef<DocumentType> = DocumentTypeCast::to_ref(node).unwrap(); Temporary::from_rooted(doctype) }) } // http://dom.spec.whatwg.org/#dom-document-documentelement fn GetDocumentElement(&self) -> Option<Temporary<Element>> { - let node: &JSRef<Node> = NodeCast::from_ref(self); - node.child_elements().next().map(|elem| Temporary::from_rooted(&elem)) + let node: JSRef<Node> = NodeCast::from_ref(*self); + node.child_elements().next().map(|elem| Temporary::from_rooted(elem)) } // http://dom.spec.whatwg.org/#dom-document-getelementsbytagname fn GetElementsByTagName(&self, tag_name: DOMString) -> Temporary<HTMLCollection> { let window = self.window.root(); - HTMLCollection::by_tag_name(&*window, NodeCast::from_ref(self), tag_name) + HTMLCollection::by_tag_name(*window, NodeCast::from_ref(*self), tag_name) } // http://dom.spec.whatwg.org/#dom-document-getelementsbytagnamens fn GetElementsByTagNameNS(&self, maybe_ns: Option<DOMString>, tag_name: DOMString) -> Temporary<HTMLCollection> { let window = self.window.root(); - HTMLCollection::by_tag_name_ns(&*window, NodeCast::from_ref(self), tag_name, maybe_ns) + HTMLCollection::by_tag_name_ns(*window, NodeCast::from_ref(*self), tag_name, maybe_ns) } // http://dom.spec.whatwg.org/#dom-document-getelementsbyclassname fn GetElementsByClassName(&self, classes: DOMString) -> Temporary<HTMLCollection> { let window = self.window.root(); - HTMLCollection::by_class_name(&*window, NodeCast::from_ref(self), classes) + HTMLCollection::by_class_name(*window, NodeCast::from_ref(*self), classes) } // http://dom.spec.whatwg.org/#dom-nonelementparentnode-getelementbyid @@ -453,7 +453,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { return Err(InvalidCharacter); } let local_name = local_name.as_slice().to_ascii_lower(); - Ok(build_element_from_tag(local_name, namespace::HTML, self)) + Ok(build_element_from_tag(local_name, namespace::HTML, *self)) } // http://dom.spec.whatwg.org/#dom-document-createelementns @@ -497,27 +497,27 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { } if ns == namespace::HTML { - Ok(build_element_from_tag(local_name_from_qname.to_string(), ns, self)) + Ok(build_element_from_tag(local_name_from_qname.to_string(), ns, *self)) } else { Ok(Element::new(local_name_from_qname.to_string(), ns, - prefix_from_qname.map(|s| s.to_string()), self)) + prefix_from_qname.map(|s| s.to_string()), *self)) } } // http://dom.spec.whatwg.org/#dom-document-createdocumentfragment fn CreateDocumentFragment(&self) -> Temporary<DocumentFragment> { - DocumentFragment::new(self) + DocumentFragment::new(*self) } // http://dom.spec.whatwg.org/#dom-document-createtextnode fn CreateTextNode(&self, data: DOMString) -> Temporary<Text> { - Text::new(data, self) + Text::new(data, *self) } // http://dom.spec.whatwg.org/#dom-document-createcomment fn CreateComment(&self, data: DOMString) -> Temporary<Comment> { - Comment::new(data, self) + Comment::new(data, *self) } // http://dom.spec.whatwg.org/#dom-document-createprocessinginstruction @@ -534,11 +534,11 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { } // Step 3. - Ok(ProcessingInstruction::new(target, data, self)) + Ok(ProcessingInstruction::new(target, data, *self)) } // http://dom.spec.whatwg.org/#dom-document-importnode - fn ImportNode(&self, node: &JSRef<Node>, deep: bool) -> Fallible<Temporary<Node>> { + fn ImportNode(&self, node: JSRef<Node>, deep: bool) -> Fallible<Temporary<Node>> { // Step 1. if node.is_document() { return Err(NotSupported); @@ -550,18 +550,18 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { false => DoNotCloneChildren }; - Ok(Node::clone(node, Some(self), clone_children)) + Ok(Node::clone(node, Some(*self), clone_children)) } // http://dom.spec.whatwg.org/#dom-document-adoptnode - fn AdoptNode(&self, node: &JSRef<Node>) -> Fallible<Temporary<Node>> { + fn AdoptNode(&self, node: JSRef<Node>) -> Fallible<Temporary<Node>> { // Step 1. if node.is_document() { return Err(NotSupported); } // Step 2. - Node::adopt(node, self); + Node::adopt(node, *self); // Step 3. Ok(Temporary::from_rooted(node)) @@ -572,8 +572,8 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { let window = self.window.root(); match interface.as_slice().to_ascii_lower().as_slice() { - "uievents" | "uievent" => Ok(EventCast::from_temporary(UIEvent::new_uninitialized(&*window))), - "mouseevents" | "mouseevent" => Ok(EventCast::from_temporary(MouseEvent::new_uninitialized(&*window))), + "uievents" | "uievent" => Ok(EventCast::from_temporary(UIEvent::new_uninitialized(*window))), + "mouseevents" | "mouseevent" => Ok(EventCast::from_temporary(MouseEvent::new_uninitialized(*window))), "customevent" => Ok(EventCast::from_temporary(CustomEvent::new_uninitialized(&Window(*window)))), "htmlevents" | "events" | "event" => Ok(Event::new_uninitialized(&Window(*window))), _ => Err(NotSupported) @@ -590,26 +590,26 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // http://dom.spec.whatwg.org/#dom-document-createrange fn CreateRange(&self) -> Temporary<Range> { - Range::new(self) + Range::new(*self) } // http://dom.spec.whatwg.org/#dom-document-createtreewalker - fn CreateTreeWalker(&self, root: &JSRef<Node>, whatToShow: u32, filter: Option<NodeFilter>) + fn CreateTreeWalker(&self, root: JSRef<Node>, whatToShow: u32, filter: Option<NodeFilter>) -> Temporary<TreeWalker> { - TreeWalker::new(self, root, whatToShow, filter) + TreeWalker::new(*self, root, whatToShow, filter) } // http://www.whatwg.org/specs/web-apps/current-work/#document.title fn Title(&self) -> DOMString { let mut title = String::new(); self.GetDocumentElement().root().map(|root| { - let root: &JSRef<Node> = NodeCast::from_ref(&*root); + let root: JSRef<Node> = NodeCast::from_ref(*root); root.traverse_preorder() .find(|node| node.type_id() == ElementNodeTypeId(HTMLTitleElementTypeId)) .map(|title_elem| { for child in title_elem.children() { if child.is_text() { - let text: &JSRef<Text> = TextCast::to_ref(&child).unwrap(); + let text: JSRef<Text> = TextCast::to_ref(child).unwrap(); title.push_str(text.deref().characterdata.data.deref().borrow().as_slice()); } } @@ -622,7 +622,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // http://www.whatwg.org/specs/web-apps/current-work/#document.title fn SetTitle(&self, title: DOMString) -> ErrorResult { self.GetDocumentElement().root().map(|root| { - let root: &JSRef<Node> = NodeCast::from_ref(&*root); + let root: JSRef<Node> = NodeCast::from_ref(*root); let head_node = root.traverse_preorder().find(|child| { child.type_id() == ElementNodeTypeId(HTMLHeadElementTypeId) }); @@ -634,20 +634,20 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { match title_node { Some(ref title_node) => { for title_child in title_node.children() { - assert!(title_node.RemoveChild(&title_child).is_ok()); + assert!(title_node.RemoveChild(title_child).is_ok()); } if !title.is_empty() { let new_text = self.CreateTextNode(title.clone()).root(); - assert!(title_node.AppendChild(NodeCast::from_ref(&*new_text)).is_ok()); + assert!(title_node.AppendChild(NodeCast::from_ref(*new_text)).is_ok()); } }, None => { - let new_title = HTMLTitleElement::new("title".to_string(), self).root(); - let new_title: &JSRef<Node> = NodeCast::from_ref(&*new_title); + let new_title = HTMLTitleElement::new("title".to_string(), *self).root(); + let new_title: JSRef<Node> = NodeCast::from_ref(*new_title); if !title.is_empty() { let new_text = self.CreateTextNode(title.clone()).root(); - assert!(new_title.AppendChild(NodeCast::from_ref(&*new_text)).is_ok()); + assert!(new_title.AppendChild(NodeCast::from_ref(*new_text)).is_ok()); } assert!(head.AppendChild(new_title).is_ok()); }, @@ -661,11 +661,11 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { fn GetHead(&self) -> Option<Temporary<HTMLHeadElement>> { self.get_html_element().and_then(|root| { let root = root.root(); - let node: &JSRef<Node> = NodeCast::from_ref(&*root); + let node: JSRef<Node> = NodeCast::from_ref(*root); node.children().find(|child| { child.type_id() == ElementNodeTypeId(HTMLHeadElementTypeId) }).map(|node| { - Temporary::from_rooted(HTMLHeadElementCast::to_ref(&node).unwrap()) + Temporary::from_rooted(HTMLHeadElementCast::to_ref(node).unwrap()) }) }) } @@ -674,7 +674,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { fn GetBody(&self) -> Option<Temporary<HTMLElement>> { self.get_html_element().and_then(|root| { let root = root.root(); - let node: &JSRef<Node> = NodeCast::from_ref(&*root); + let node: JSRef<Node> = NodeCast::from_ref(*root); node.children().find(|child| { match child.type_id() { ElementNodeTypeId(HTMLBodyElementTypeId) | @@ -682,7 +682,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { _ => false } }).map(|node| { - Temporary::from_rooted(HTMLElementCast::to_ref(&node).unwrap()) + Temporary::from_rooted(HTMLElementCast::to_ref(node).unwrap()) }) }) } @@ -692,7 +692,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // Step 1. match new_body { Some(ref htmlelem) => { - let node: &JSRef<Node> = NodeCast::from_ref(htmlelem); + let node: JSRef<Node> = NodeCast::from_ref(*htmlelem); match node.type_id() { ElementNodeTypeId(HTMLBodyElementTypeId) | ElementNodeTypeId(HTMLFrameSetElementTypeId) => {} _ => return Err(HierarchyRequest) @@ -714,12 +714,12 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { None => return Err(HierarchyRequest), Some(ref root) => { let new_body_unwrapped = new_body.unwrap(); - let new_body: &JSRef<Node> = NodeCast::from_ref(&new_body_unwrapped); + let new_body: JSRef<Node> = NodeCast::from_ref(new_body_unwrapped); - let root: &JSRef<Node> = NodeCast::from_ref(&**root); + let root: JSRef<Node> = NodeCast::from_ref(**root); match old_body { Some(ref child) => { - let child: &JSRef<Node> = NodeCast::from_ref(&**child); + let child: JSRef<Node> = NodeCast::from_ref(**child); assert!(root.ReplaceChild(new_body, child).is_ok()) } @@ -737,7 +737,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { return false; } - let element: &JSRef<Element> = ElementCast::to_ref(node).unwrap(); + let element: JSRef<Element> = ElementCast::to_ref(node).unwrap(); element.get_attribute(Null, "name").root().map_or(false, |attr| { attr.value().as_slice() == name.as_slice() }) @@ -747,9 +747,9 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { fn Images(&self) -> Temporary<HTMLCollection> { if self.images.get().is_none() { let window = self.window.root(); - let root = NodeCast::from_ref(self); + let root = NodeCast::from_ref(*self); let filter = box ImagesFilter; - self.images.assign(Some(HTMLCollection::create(&*window, root, filter))); + self.images.assign(Some(HTMLCollection::create(*window, root, filter))); } Temporary::new(self.images.get().get_ref().clone()) } @@ -757,9 +757,9 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { fn Embeds(&self) -> Temporary<HTMLCollection> { if self.embeds.get().is_none() { let window = self.window.root(); - let root = NodeCast::from_ref(self); + let root = NodeCast::from_ref(*self); let filter = box EmbedsFilter; - self.embeds.assign(Some(HTMLCollection::create(&*window, root, filter))); + self.embeds.assign(Some(HTMLCollection::create(*window, root, filter))); } Temporary::new(self.embeds.get().get_ref().clone()) } @@ -771,9 +771,9 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { fn Links(&self) -> Temporary<HTMLCollection> { if self.links.get().is_none() { let window = self.window.root(); - let root = NodeCast::from_ref(self); + let root = NodeCast::from_ref(*self); let filter = box LinksFilter; - self.links.assign(Some(HTMLCollection::create(&*window, root, filter))); + self.links.assign(Some(HTMLCollection::create(*window, root, filter))); } Temporary::new(self.links.get().get_ref().clone()) } @@ -781,9 +781,9 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { fn Forms(&self) -> Temporary<HTMLCollection> { if self.forms.get().is_none() { let window = self.window.root(); - let root = NodeCast::from_ref(self); + let root = NodeCast::from_ref(*self); let filter = box FormsFilter; - self.forms.assign(Some(HTMLCollection::create(&*window, root, filter))); + self.forms.assign(Some(HTMLCollection::create(*window, root, filter))); } Temporary::new(self.forms.get().get_ref().clone()) } @@ -791,9 +791,9 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { fn Scripts(&self) -> Temporary<HTMLCollection> { if self.scripts.get().is_none() { let window = self.window.root(); - let root = NodeCast::from_ref(self); + let root = NodeCast::from_ref(*self); let filter = box ScriptsFilter; - self.scripts.assign(Some(HTMLCollection::create(&*window, root, filter))); + self.scripts.assign(Some(HTMLCollection::create(*window, root, filter))); } Temporary::new(self.scripts.get().get_ref().clone()) } @@ -801,9 +801,9 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { fn Anchors(&self) -> Temporary<HTMLCollection> { if self.anchors.get().is_none() { let window = self.window.root(); - let root = NodeCast::from_ref(self); + let root = NodeCast::from_ref(*self); let filter = box AnchorsFilter; - self.anchors.assign(Some(HTMLCollection::create(&*window, root, filter))); + self.anchors.assign(Some(HTMLCollection::create(*window, root, filter))); } Temporary::new(self.anchors.get().get_ref().clone()) } @@ -812,9 +812,9 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // FIXME: This should be return OBJECT elements containing applets. if self.applets.get().is_none() { let window = self.window.root(); - let root = NodeCast::from_ref(self); + let root = NodeCast::from_ref(*self); let filter = box AppletsFilter; - self.applets.assign(Some(HTMLCollection::create(&*window, root, filter))); + self.applets.assign(Some(HTMLCollection::create(*window, root, filter))); } Temporary::new(self.applets.get().get_ref().clone()) } @@ -827,38 +827,38 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // http://dom.spec.whatwg.org/#dom-parentnode-children fn Children(&self) -> Temporary<HTMLCollection> { let window = self.window.root(); - HTMLCollection::children(&*window, NodeCast::from_ref(self)) + HTMLCollection::children(*window, NodeCast::from_ref(*self)) } // http://dom.spec.whatwg.org/#dom-parentnode-queryselector fn QuerySelector(&self, selectors: DOMString) -> Fallible<Option<Temporary<Element>>> { - let root: &JSRef<Node> = NodeCast::from_ref(self); + let root: JSRef<Node> = NodeCast::from_ref(*self); root.query_selector(selectors) } // http://dom.spec.whatwg.org/#dom-parentnode-queryselectorall fn QuerySelectorAll(&self, selectors: DOMString) -> Fallible<Temporary<NodeList>> { - let root: &JSRef<Node> = NodeCast::from_ref(self); + let root: JSRef<Node> = NodeCast::from_ref(*self); root.query_selector_all(selectors) } fn GetOnclick(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("click") } fn SetOnclick(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("click", listener) } fn GetOnload(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("load") } fn SetOnload(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("load", listener) } } diff --git a/components/script/dom/documentfragment.rs b/components/script/dom/documentfragment.rs index c8d8b961113..916a3550264 100644 --- a/components/script/dom/documentfragment.rs +++ b/components/script/dom/documentfragment.rs @@ -32,13 +32,13 @@ impl DocumentFragmentDerived for EventTarget { impl DocumentFragment { /// Creates a new DocumentFragment. - pub fn new_inherited(document: &JSRef<Document>) -> DocumentFragment { + pub fn new_inherited(document: JSRef<Document>) -> DocumentFragment { DocumentFragment { node: Node::new_inherited(DocumentFragmentNodeTypeId, document), } } - pub fn new(document: &JSRef<Document>) -> Temporary<DocumentFragment> { + pub fn new(document: JSRef<Document>) -> Temporary<DocumentFragment> { Node::reflect_node(box DocumentFragment::new_inherited(document), document, DocumentFragmentBinding::Wrap) } @@ -47,26 +47,26 @@ impl DocumentFragment { let document = global.as_window().Document(); let document = document.root(); - Ok(DocumentFragment::new(&document.root_ref())) + Ok(DocumentFragment::new(*document)) } } impl<'a> DocumentFragmentMethods for JSRef<'a, DocumentFragment> { // http://dom.spec.whatwg.org/#dom-parentnode-children fn Children(&self) -> Temporary<HTMLCollection> { - let window = window_from_node(self).root(); - HTMLCollection::children(&window.root_ref(), NodeCast::from_ref(self)) + let window = window_from_node(*self).root(); + HTMLCollection::children(*window, NodeCast::from_ref(*self)) } // http://dom.spec.whatwg.org/#dom-parentnode-queryselector fn QuerySelector(&self, selectors: DOMString) -> Fallible<Option<Temporary<Element>>> { - let root: &JSRef<Node> = NodeCast::from_ref(self); + let root: JSRef<Node> = NodeCast::from_ref(*self); root.query_selector(selectors) } // http://dom.spec.whatwg.org/#dom-parentnode-queryselectorall fn QuerySelectorAll(&self, selectors: DOMString) -> Fallible<Temporary<NodeList>> { - let root: &JSRef<Node> = NodeCast::from_ref(self); + let root: JSRef<Node> = NodeCast::from_ref(*self); root.query_selector_all(selectors) } diff --git a/components/script/dom/documenttype.rs b/components/script/dom/documenttype.rs index f0d6bba5bac..5c438b276ab 100644 --- a/components/script/dom/documenttype.rs +++ b/components/script/dom/documenttype.rs @@ -32,7 +32,7 @@ impl DocumentType { pub fn new_inherited(name: DOMString, public_id: Option<DOMString>, system_id: Option<DOMString>, - document: &JSRef<Document>) + document: JSRef<Document>) -> DocumentType { DocumentType { node: Node::new_inherited(DoctypeNodeTypeId, document), @@ -45,7 +45,7 @@ impl DocumentType { pub fn new(name: DOMString, public_id: Option<DOMString>, system_id: Option<DOMString>, - document: &JSRef<Document>) + document: JSRef<Document>) -> Temporary<DocumentType> { let documenttype = DocumentType::new_inherited(name, public_id, @@ -70,7 +70,7 @@ impl<'a> DocumentTypeMethods for JSRef<'a, DocumentType> { // http://dom.spec.whatwg.org/#dom-childnode-remove fn Remove(&self) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.remove_self(); } } diff --git a/components/script/dom/domimplementation.rs b/components/script/dom/domimplementation.rs index 36d74258ca7..1c5c3cd55cf 100644 --- a/components/script/dom/domimplementation.rs +++ b/components/script/dom/domimplementation.rs @@ -30,14 +30,14 @@ pub struct DOMImplementation { } impl DOMImplementation { - pub fn new_inherited(document: &JSRef<Document>) -> DOMImplementation { + pub fn new_inherited(document: JSRef<Document>) -> DOMImplementation { DOMImplementation { document: JS::from_rooted(document), reflector_: Reflector::new(), } } - pub fn new(document: &JSRef<Document>) -> Temporary<DOMImplementation> { + pub fn new(document: JSRef<Document>) -> Temporary<DOMImplementation> { let window = document.window.root(); reflect_dom_object(box DOMImplementation::new_inherited(document), &Window(*window), @@ -63,7 +63,7 @@ impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> { // Step 3. QName => { let document = self.document.root(); - Ok(DocumentType::new(qname, Some(pubid), Some(sysid), &*document)) + Ok(DocumentType::new(qname, Some(pubid), Some(sysid), *document)) } } } @@ -75,7 +75,7 @@ impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> { let win = doc.window.root(); // Step 1. - let doc = Document::new(&win.root_ref(), None, NonHTMLDocument, None).root(); + let doc = Document::new(*win, None, NonHTMLDocument, None).root(); // Step 2-3. let maybe_elem = if qname.is_empty() { None @@ -87,13 +87,13 @@ impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> { }; { - let doc_node: &JSRef<Node> = NodeCast::from_ref(&*doc); + let doc_node: JSRef<Node> = NodeCast::from_ref(*doc); // Step 4. match maybe_doctype { None => (), Some(ref doctype) => { - let doc_type: &JSRef<Node> = NodeCast::from_ref(doctype); + let doc_type: JSRef<Node> = NodeCast::from_ref(*doctype); assert!(doc_node.AppendChild(doc_type).is_ok()) } } @@ -102,7 +102,7 @@ impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> { match maybe_elem.root() { None => (), Some(elem) => { - assert!(doc_node.AppendChild(NodeCast::from_ref(&*elem)).is_ok()) + assert!(doc_node.AppendChild(NodeCast::from_ref(*elem)).is_ok()) } } } @@ -111,7 +111,7 @@ impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> { // FIXME: https://github.com/mozilla/servo/issues/1522 // Step 7. - Ok(Temporary::from_rooted(&*doc)) + Ok(Temporary::from_rooted(*doc)) } // http://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument @@ -120,54 +120,54 @@ impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> { let win = document.window.root(); // Step 1-2. - let doc = Document::new(&win.root_ref(), None, HTMLDocument, None).root(); - let doc_node: &JSRef<Node> = NodeCast::from_ref(&*doc); + let doc = Document::new(*win, None, HTMLDocument, None).root(); + let doc_node: JSRef<Node> = NodeCast::from_ref(*doc); { // Step 3. - let doc_type = DocumentType::new("html".to_string(), None, None, &*doc).root(); - assert!(doc_node.AppendChild(NodeCast::from_ref(&*doc_type)).is_ok()); + let doc_type = DocumentType::new("html".to_string(), None, None, *doc).root(); + assert!(doc_node.AppendChild(NodeCast::from_ref(*doc_type)).is_ok()); } { // Step 4. - let doc_html: Root<Node> = NodeCast::from_temporary(HTMLHtmlElement::new("html".to_string(), &*doc)).root(); + let doc_html: Root<Node> = NodeCast::from_temporary(HTMLHtmlElement::new("html".to_string(), *doc)).root(); let doc_html = doc_html.deref(); - assert!(doc_node.AppendChild(doc_html).is_ok()); + assert!(doc_node.AppendChild(*doc_html).is_ok()); { // Step 5. - let doc_head: Root<Node> = NodeCast::from_temporary(HTMLHeadElement::new("head".to_string(), &*doc)).root(); + let doc_head: Root<Node> = NodeCast::from_temporary(HTMLHeadElement::new("head".to_string(), *doc)).root(); let doc_head = doc_head.deref(); - assert!(doc_html.AppendChild(doc_head).is_ok()); + assert!(doc_html.AppendChild(*doc_head).is_ok()); // Step 6. match title { None => (), Some(title_str) => { // Step 6.1. - let doc_title: Root<Node> = NodeCast::from_temporary(HTMLTitleElement::new("title".to_string(), &*doc)).root(); + let doc_title: Root<Node> = NodeCast::from_temporary(HTMLTitleElement::new("title".to_string(), *doc)).root(); let doc_title = doc_title.deref(); - assert!(doc_head.AppendChild(doc_title).is_ok()); + assert!(doc_head.AppendChild(*doc_title).is_ok()); // Step 6.2. - let title_text: Root<Text> = Text::new(title_str, &*doc).root(); + let title_text: Root<Text> = Text::new(title_str, *doc).root(); let title_text = title_text.deref(); - assert!(doc_title.AppendChild(NodeCast::from_ref(title_text)).is_ok()); + assert!(doc_title.AppendChild(NodeCast::from_ref(*title_text)).is_ok()); } } } // Step 7. - let doc_body: Root<HTMLBodyElement> = HTMLBodyElement::new("body".to_string(), &*doc).root(); + let doc_body: Root<HTMLBodyElement> = HTMLBodyElement::new("body".to_string(), *doc).root(); let doc_body = doc_body.deref(); - assert!(doc_html.AppendChild(NodeCast::from_ref(doc_body)).is_ok()); + assert!(doc_html.AppendChild(NodeCast::from_ref(*doc_body)).is_ok()); } // Step 8. // FIXME: https://github.com/mozilla/servo/issues/1522 // Step 9. - Temporary::from_rooted(&*doc) + Temporary::from_rooted(*doc) } } diff --git a/components/script/dom/domparser.rs b/components/script/dom/domparser.rs index d8362fa1e80..a75e6e13444 100644 --- a/components/script/dom/domparser.rs +++ b/components/script/dom/domparser.rs @@ -21,15 +21,15 @@ pub struct DOMParser { } impl DOMParser { - pub fn new_inherited(window: &JSRef<Window>) -> DOMParser { + pub fn new_inherited(window: JSRef<Window>) -> DOMParser { DOMParser { window: JS::from_rooted(window), reflector_: Reflector::new() } } - pub fn new(window: &JSRef<Window>) -> Temporary<DOMParser> { - reflect_dom_object(box DOMParser::new_inherited(window), &Window(*window), + pub fn new(window: JSRef<Window>) -> Temporary<DOMParser> { + reflect_dom_object(box DOMParser::new_inherited(window), &Window(window), DOMParserBinding::Wrap) } @@ -46,10 +46,10 @@ impl<'a> DOMParserMethods for JSRef<'a, DOMParser> { let window = self.window.root(); match ty { Text_html => { - Ok(Document::new(&window.root_ref(), None, HTMLDocument, Some("text/html".to_string()))) + Ok(Document::new(*window, None, HTMLDocument, Some("text/html".to_string()))) } Text_xml => { - Ok(Document::new(&window.root_ref(), None, NonHTMLDocument, Some("text/xml".to_string()))) + Ok(Document::new(*window, None, NonHTMLDocument, Some("text/xml".to_string()))) } _ => { Err(FailureUnknown) diff --git a/components/script/dom/domrect.rs b/components/script/dom/domrect.rs index cc2643ac4b5..f9fdf9b79cd 100644 --- a/components/script/dom/domrect.rs +++ b/components/script/dom/domrect.rs @@ -32,11 +32,11 @@ impl DOMRect { } } - pub fn new(window: &JSRef<Window>, + pub fn new(window: JSRef<Window>, top: Au, bottom: Au, left: Au, right: Au) -> Temporary<DOMRect> { reflect_dom_object(box DOMRect::new_inherited(top, bottom, left, right), - &Window(*window), DOMRectBinding::Wrap) + &Window(window), DOMRectBinding::Wrap) } } diff --git a/components/script/dom/domrectlist.rs b/components/script/dom/domrectlist.rs index 450e87eda6d..bf2d277d6bf 100644 --- a/components/script/dom/domrectlist.rs +++ b/components/script/dom/domrectlist.rs @@ -19,9 +19,9 @@ pub struct DOMRectList { } impl DOMRectList { - pub fn new_inherited(window: &JSRef<Window>, + pub fn new_inherited(window: JSRef<Window>, rects: Vec<JSRef<DOMRect>>) -> DOMRectList { - let rects = rects.iter().map(|rect| JS::from_rooted(rect)).collect(); + let rects = rects.iter().map(|rect| JS::from_rooted(*rect)).collect(); DOMRectList { reflector_: Reflector::new(), rects: rects, @@ -29,10 +29,10 @@ impl DOMRectList { } } - pub fn new(window: &JSRef<Window>, + pub fn new(window: JSRef<Window>, rects: Vec<JSRef<DOMRect>>) -> Temporary<DOMRectList> { reflect_dom_object(box DOMRectList::new_inherited(window, rects), - &Window(*window), DOMRectListBinding::Wrap) + &Window(window), DOMRectListBinding::Wrap) } } diff --git a/components/script/dom/domtokenlist.rs b/components/script/dom/domtokenlist.rs index e57f0310ec5..18633658943 100644 --- a/components/script/dom/domtokenlist.rs +++ b/components/script/dom/domtokenlist.rs @@ -25,7 +25,7 @@ pub struct DOMTokenList { } impl DOMTokenList { - pub fn new_inherited(element: &JSRef<Element>, + pub fn new_inherited(element: JSRef<Element>, local_name: &'static str) -> DOMTokenList { DOMTokenList { reflector_: Reflector::new(), @@ -34,7 +34,7 @@ impl DOMTokenList { } } - pub fn new(element: &JSRef<Element>, + pub fn new(element: JSRef<Element>, local_name: &'static str) -> Temporary<DOMTokenList> { let window = window_from_node(element).root(); reflect_dom_object(box DOMTokenList::new_inherited(element, local_name), diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index ab61fc47136..923a587d5bc 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -149,7 +149,7 @@ pub enum ElementTypeId { // impl Element { - pub fn new_inherited(type_id: ElementTypeId, local_name: DOMString, namespace: Namespace, prefix: Option<DOMString>, document: &JSRef<Document>) -> Element { + pub fn new_inherited(type_id: ElementTypeId, local_name: DOMString, namespace: Namespace, prefix: Option<DOMString>, document: JSRef<Document>) -> Element { Element { node: Node::new_inherited(ElementNodeTypeId(type_id), document), local_name: Atom::from_slice(local_name.as_slice()), @@ -162,7 +162,7 @@ impl Element { } } - pub fn new(local_name: DOMString, namespace: Namespace, prefix: Option<DOMString>, document: &JSRef<Document>) -> Temporary<Element> { + pub fn new(local_name: DOMString, namespace: Namespace, prefix: Option<DOMString>, document: JSRef<Document>) -> Temporary<Element> { Node::reflect_node(box Element::new_inherited(ElementTypeId, local_name, namespace, prefix, document), document, ElementBinding::Wrap) } @@ -246,7 +246,7 @@ pub trait ElementHelpers { impl<'a> ElementHelpers for JSRef<'a, Element> { fn html_element_in_html_document(&self) -> bool { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); self.namespace == namespace::HTML && node.is_in_html_doc() } @@ -282,7 +282,7 @@ pub trait AttributeHandlers { fn set_attribute(&self, name: &str, value: AttrValue); fn do_set_attribute(&self, local_name: Atom, value: AttrValue, name: Atom, namespace: Namespace, - prefix: Option<DOMString>, cb: |&JSRef<Attr>| -> bool); + prefix: Option<DOMString>, cb: |JSRef<Attr>| -> bool); fn parse_attribute(&self, namespace: &Namespace, local_name: &Atom, value: DOMString) -> AttrValue; @@ -309,7 +309,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { let local_name = Atom::from_slice(local_name); self.attrs.borrow().iter().map(|attr| attr.root()).find(|attr| { *attr.local_name() == local_name && attr.namespace == namespace - }).map(|x| Temporary::from_rooted(&*x)) + }).map(|x| Temporary::from_rooted(*x)) } fn set_attribute_from_parser(&self, local_name: Atom, @@ -330,7 +330,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { assert!(name == name.to_ascii_lower().as_slice()); assert!(!name.contains(":")); - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.wait_until_safe_to_modify_dom(); let name = Atom::from_slice(name); @@ -340,16 +340,16 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { fn do_set_attribute(&self, local_name: Atom, value: AttrValue, name: Atom, namespace: Namespace, - prefix: Option<DOMString>, cb: |&JSRef<Attr>| -> bool) { + prefix: Option<DOMString>, cb: |JSRef<Attr>| -> bool) { let idx = self.deref().attrs.borrow().iter() .map(|attr| attr.root()) - .position(|attr| cb(&*attr)); + .position(|attr| cb(*attr)); let (idx, set_type) = match idx { Some(idx) => (idx, ReplacedAttr), None => { - let window = window_from_node(self).root(); - let attr = Attr::new(&*window, local_name, value.clone(), - name, namespace.clone(), prefix, self); + let window = window_from_node(*self).root(); + let attr = Attr::new(*window, local_name, value.clone(), + name, namespace.clone(), prefix, *self); self.deref().attrs.borrow_mut().push_unrooted(&attr); (self.deref().attrs.borrow().len() - 1, FirstSetAttr) } @@ -361,7 +361,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { fn parse_attribute(&self, namespace: &Namespace, local_name: &Atom, value: DOMString) -> AttrValue { if *namespace == namespace::Null { - vtable_for(NodeCast::from_ref(self)) + vtable_for(&NodeCast::from_ref(*self)) .parse_plain_attribute(local_name.as_slice(), value) } else { StringAttrValue(value) @@ -380,13 +380,13 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { None => (), Some(idx) => { { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.wait_until_safe_to_modify_dom(); } if namespace == namespace::Null { let removed_raw_value = (*self.deref().attrs.borrow())[idx].root().Value(); - vtable_for(NodeCast::from_ref(self)) + vtable_for(&NodeCast::from_ref(*self)) .before_remove_attr(&local_name, removed_raw_value); } @@ -397,7 +397,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { } fn notify_attribute_changed(&self, local_name: &Atom) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.is_in_doc() { let damage = match local_name.as_slice() { "style" | "id" | "class" => MatchSelectorsDocumentDamage, @@ -561,9 +561,9 @@ impl<'a> ElementMethods for JSRef<'a, Element> { match self.class_list.get() { Some(class_list) => Temporary::new(class_list), None => { - let class_list = DOMTokenList::new(self, "class").root(); + let class_list = DOMTokenList::new(*self, "class").root(); self.class_list.assign(Some(class_list.deref().clone())); - Temporary::from_rooted(&*class_list) + Temporary::from_rooted(*class_list) } } } @@ -576,11 +576,11 @@ impl<'a> ElementMethods for JSRef<'a, Element> { } let doc = { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.owner_doc().root() }; let window = doc.deref().window.root(); - let list = NamedNodeMap::new(&*window, self); + let list = NamedNodeMap::new(*window, *self); self.attr_list.assign(Some(list)); Temporary::new(self.attr_list.get().get_ref().clone()) } @@ -610,7 +610,7 @@ impl<'a> ElementMethods for JSRef<'a, Element> { name: DOMString, value: DOMString) -> ErrorResult { { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.wait_until_safe_to_modify_dom(); } @@ -642,7 +642,7 @@ impl<'a> ElementMethods for JSRef<'a, Element> { name: DOMString, value: DOMString) -> ErrorResult { { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.wait_until_safe_to_modify_dom(); } @@ -737,45 +737,45 @@ impl<'a> ElementMethods for JSRef<'a, Element> { } fn GetElementsByTagName(&self, localname: DOMString) -> Temporary<HTMLCollection> { - let window = window_from_node(self).root(); - HTMLCollection::by_tag_name(&*window, NodeCast::from_ref(self), localname) + let window = window_from_node(*self).root(); + HTMLCollection::by_tag_name(*window, NodeCast::from_ref(*self), localname) } fn GetElementsByTagNameNS(&self, maybe_ns: Option<DOMString>, localname: DOMString) -> Temporary<HTMLCollection> { - let window = window_from_node(self).root(); - HTMLCollection::by_tag_name_ns(&*window, NodeCast::from_ref(self), localname, maybe_ns) + let window = window_from_node(*self).root(); + HTMLCollection::by_tag_name_ns(*window, NodeCast::from_ref(*self), localname, maybe_ns) } fn GetElementsByClassName(&self, classes: DOMString) -> Temporary<HTMLCollection> { - let window = window_from_node(self).root(); - HTMLCollection::by_class_name(&*window, NodeCast::from_ref(self), classes) + let window = window_from_node(*self).root(); + HTMLCollection::by_class_name(*window, NodeCast::from_ref(*self), classes) } // http://dev.w3.org/csswg/cssom-view/#dom-element-getclientrects fn GetClientRects(&self) -> Temporary<DOMRectList> { - let win = window_from_node(self).root(); - let node: &JSRef<Node> = NodeCast::from_ref(self); + let win = window_from_node(*self).root(); + let node: JSRef<Node> = NodeCast::from_ref(*self); let rects = node.get_content_boxes(); let rects: Vec<Root<DOMRect>> = rects.iter().map(|r| { DOMRect::new( - &*win, + *win, r.origin.y, r.origin.y + r.size.height, r.origin.x, r.origin.x + r.size.width).root() }).collect(); - DOMRectList::new(&*win, rects.iter().map(|rect| rect.deref().clone()).collect()) + DOMRectList::new(*win, rects.iter().map(|rect| rect.deref().clone()).collect()) } // http://dev.w3.org/csswg/cssom-view/#dom-element-getboundingclientrect fn GetBoundingClientRect(&self) -> Temporary<DOMRect> { - let win = window_from_node(self).root(); - let node: &JSRef<Node> = NodeCast::from_ref(self); + let win = window_from_node(*self).root(); + let node: JSRef<Node> = NodeCast::from_ref(*self); let rect = node.get_bounding_content_box(); DOMRect::new( - &*win, + *win, rect.origin.y, rect.origin.y + rect.size.height, rect.origin.x, @@ -784,34 +784,34 @@ impl<'a> ElementMethods for JSRef<'a, Element> { fn GetInnerHTML(&self) -> Fallible<DOMString> { //XXX TODO: XML case - Ok(serialize(&mut NodeIterator::new(NodeCast::from_ref(self), false, false))) + Ok(serialize(&mut NodeIterator::new(NodeCast::from_ref(*self), false, false))) } fn GetOuterHTML(&self) -> Fallible<DOMString> { - Ok(serialize(&mut NodeIterator::new(NodeCast::from_ref(self), true, false))) + Ok(serialize(&mut NodeIterator::new(NodeCast::from_ref(*self), true, false))) } // http://dom.spec.whatwg.org/#dom-parentnode-children fn Children(&self) -> Temporary<HTMLCollection> { - let window = window_from_node(self).root(); - HTMLCollection::children(&*window, NodeCast::from_ref(self)) + let window = window_from_node(*self).root(); + HTMLCollection::children(*window, NodeCast::from_ref(*self)) } // http://dom.spec.whatwg.org/#dom-parentnode-queryselector fn QuerySelector(&self, selectors: DOMString) -> Fallible<Option<Temporary<Element>>> { - let root: &JSRef<Node> = NodeCast::from_ref(self); + let root: JSRef<Node> = NodeCast::from_ref(*self); root.query_selector(selectors) } // http://dom.spec.whatwg.org/#dom-parentnode-queryselectorall fn QuerySelectorAll(&self, selectors: DOMString) -> Fallible<Temporary<NodeList>> { - let root: &JSRef<Node> = NodeCast::from_ref(self); + let root: JSRef<Node> = NodeCast::from_ref(*self); root.query_selector_all(selectors) } // http://dom.spec.whatwg.org/#dom-childnode-remove fn Remove(&self) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.remove_self(); } @@ -820,8 +820,8 @@ impl<'a> ElementMethods for JSRef<'a, Element> { match parse_selector_list_from_str(selectors.as_slice()) { Err(()) => Err(Syntax), Ok(ref selectors) => { - let root: &JSRef<Node> = NodeCast::from_ref(self); - Ok(matches(selectors, root, &mut None)) + let root: JSRef<Node> = NodeCast::from_ref(*self); + Ok(matches(selectors, &root, &mut None)) } } } @@ -842,7 +842,7 @@ pub fn get_attribute_parts<'a>(name: &'a str) -> (Option<&'a str>, &'a str) { impl<'a> VirtualMethods for JSRef<'a, Element> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: &JSRef<Node> = NodeCast::from_borrowed_ref(self); Some(node as &VirtualMethods) } @@ -854,16 +854,16 @@ impl<'a> VirtualMethods for JSRef<'a, Element> { match name.as_slice() { "style" => { - let doc = document_from_node(self).root(); + let doc = document_from_node(*self).root(); let base_url = doc.deref().url().clone(); let style = Some(style::parse_style_attribute(value.as_slice(), &base_url)); *self.deref().style_attribute.deref().borrow_mut() = style; } "id" => { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.is_in_doc() && !value.is_empty() { - let doc = document_from_node(self).root(); - doc.register_named_element(self, value.clone()); + let doc = document_from_node(*self).root(); + doc.register_named_element(*self, value.clone()); } } _ => () @@ -883,10 +883,10 @@ impl<'a> VirtualMethods for JSRef<'a, Element> { *self.deref().style_attribute.deref().borrow_mut() = None; } "id" => { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.is_in_doc() && !value.is_empty() { - let doc = document_from_node(self).root(); - doc.unregister_named_element(self, value); + let doc = document_from_node(*self).root(); + doc.unregister_named_element(*self, value); } } _ => () @@ -913,10 +913,10 @@ impl<'a> VirtualMethods for JSRef<'a, Element> { match self.get_attribute(Null, "id").root() { Some(attr) => { - let doc = document_from_node(self).root(); + let doc = document_from_node(*self).root(); let value = attr.deref().Value(); if !value.is_empty() { - doc.deref().register_named_element(self, value); + doc.deref().register_named_element(*self, value); } } _ => () @@ -933,10 +933,10 @@ impl<'a> VirtualMethods for JSRef<'a, Element> { match self.get_attribute(Null, "id").root() { Some(attr) => { - let doc = document_from_node(self).root(); + let doc = document_from_node(*self).root(); let value = attr.deref().Value(); if !value.is_empty() { - doc.deref().unregister_named_element(self, value); + doc.deref().unregister_named_element(*self, value); } } _ => () @@ -952,7 +952,7 @@ impl<'a> style::TElement for JSRef<'a, Element> { } fn get_link(&self) -> Option<&'static str> { // FIXME: This is HTML only. - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match node.type_id() { // http://www.whatwg.org/specs/web-apps/current-work/multipage/selectors.html# // selector-link @@ -969,7 +969,7 @@ impl<'a> style::TElement for JSRef<'a, Element> { (self as &ElementHelpers).get_namespace() } fn get_hover_state(&self) -> bool { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.get_hover_state() } fn get_id<'a>(&self) -> Option<Atom> { @@ -982,11 +982,11 @@ impl<'a> style::TElement for JSRef<'a, Element> { }) } fn get_disabled_state(&self) -> bool { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.get_disabled_state() } fn get_enabled_state(&self) -> bool { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.get_enabled_state() } fn has_class(&self, name: &str) -> bool { diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs index 075a660cf45..e50acecb0e3 100644 --- a/components/script/dom/event.rs +++ b/components/script/dom/event.rs @@ -87,7 +87,7 @@ impl Event { cancelable: bool) -> Temporary<Event> { let event = Event::new_uninitialized(global).root(); event.deref().InitEvent(type_, can_bubble, cancelable); - Temporary::from_rooted(&*event) + Temporary::from_rooted(*event) } pub fn Constructor(global: &GlobalRef, diff --git a/components/script/dom/eventdispatcher.rs b/components/script/dom/eventdispatcher.rs index f0648c13ce0..0fa26d60715 100644 --- a/components/script/dom/eventdispatcher.rs +++ b/components/script/dom/eventdispatcher.rs @@ -12,9 +12,9 @@ use dom::node::{Node, NodeHelpers}; use dom::virtualmethods::vtable_for; // See http://dom.spec.whatwg.org/#concept-event-dispatch for the full dispatch algorithm -pub fn dispatch_event<'a, 'b>(target: &JSRef<'a, EventTarget>, +pub fn dispatch_event<'a, 'b>(target: JSRef<'a, EventTarget>, pseudo_target: Option<JSRef<'b, EventTarget>>, - event: &JSRef<Event>) -> bool { + event: JSRef<Event>) -> bool { assert!(!event.deref().dispatching.deref().get()); event.target.assign(Some(match pseudo_target { @@ -27,9 +27,9 @@ pub fn dispatch_event<'a, 'b>(target: &JSRef<'a, EventTarget>, //TODO: no chain if not participating in a tree let mut chain: Vec<Root<EventTarget>> = if target.deref().is_node() { - let target_node: &JSRef<Node> = NodeCast::to_ref(target).unwrap(); + let target_node: JSRef<Node> = NodeCast::to_ref(target).unwrap(); target_node.ancestors().map(|ancestor| { - let ancestor_target: &JSRef<EventTarget> = EventTargetCast::from_ref(&ancestor); + let ancestor_target: JSRef<EventTarget> = EventTargetCast::from_ref(ancestor); JS::from_rooted(ancestor_target).root() }).collect() } else { @@ -47,7 +47,7 @@ pub fn dispatch_event<'a, 'b>(target: &JSRef<'a, EventTarget>, event.current_target.assign(Some(cur_target.deref().clone())); for listener in listeners.iter() { // Explicitly drop any exception on the floor. - let _ = listener.HandleEvent_(&**cur_target, event, ReportExceptions); + let _ = listener.HandleEvent_(**cur_target, event, ReportExceptions); if event.deref().stop_immediate.deref().get() { break; @@ -92,7 +92,7 @@ pub fn dispatch_event<'a, 'b>(target: &JSRef<'a, EventTarget>, event.deref().current_target.assign(Some(cur_target.deref().clone())); for listener in listeners.iter() { // Explicitly drop any exception on the floor. - let _ = listener.HandleEvent_(&**cur_target, event, ReportExceptions); + let _ = listener.HandleEvent_(**cur_target, event, ReportExceptions); if event.deref().stop_immediate.deref().get() { break; @@ -113,10 +113,10 @@ pub fn dispatch_event<'a, 'b>(target: &JSRef<'a, EventTarget>, let target = event.GetTarget().root(); match target { Some(target) => { - let node: Option<&JSRef<Node>> = NodeCast::to_ref(&*target); + let node: Option<JSRef<Node>> = NodeCast::to_ref(*target); match node { Some(node) => { - let vtable = vtable_for(node); + let vtable = vtable_for(&node); vtable.handle_event(event); } None => {} diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index 689dd3096e2..57c7fabd2d1 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -96,7 +96,7 @@ impl EventTarget { pub trait EventTargetHelpers { fn dispatch_event_with_target<'a>(&self, target: Option<JSRef<'a, EventTarget>>, - event: &JSRef<Event>) -> Fallible<bool>; + event: JSRef<Event>) -> Fallible<bool>; fn set_inline_event_listener(&self, ty: DOMString, listener: Option<EventListener>); @@ -117,11 +117,11 @@ pub trait EventTargetHelpers { impl<'a> EventTargetHelpers for JSRef<'a, EventTarget> { fn dispatch_event_with_target<'b>(&self, target: Option<JSRef<'b, EventTarget>>, - event: &JSRef<Event>) -> Fallible<bool> { + event: JSRef<Event>) -> Fallible<bool> { if event.deref().dispatching.deref().get() || !event.deref().initialized.deref().get() { return Err(InvalidState); } - Ok(dispatch_event(self, target, event)) + Ok(dispatch_event(*self, target, event)) } fn set_inline_event_listener(&self, @@ -270,7 +270,7 @@ impl<'a> EventTargetMethods for JSRef<'a, EventTarget> { } } - fn DispatchEvent(&self, event: &JSRef<Event>) -> Fallible<bool> { + fn DispatchEvent(&self, event: JSRef<Event>) -> Fallible<bool> { self.dispatch_event_with_target(None, event) } } diff --git a/components/script/dom/file.rs b/components/script/dom/file.rs index cfa6daab91b..151db9132b0 100644 --- a/components/script/dom/file.rs +++ b/components/script/dom/file.rs @@ -19,7 +19,7 @@ pub struct File { } impl File { - pub fn new_inherited(_file_bits: &JSRef<Blob>, name: DOMString) -> File { + pub fn new_inherited(_file_bits: JSRef<Blob>, name: DOMString) -> File { File { blob: Blob::new_inherited(), name: name, @@ -29,7 +29,7 @@ impl File { // the relevant subfields of file_bits should be copied over } - pub fn new(global: &GlobalRef, file_bits: &JSRef<Blob>, name: DOMString) -> Temporary<File> { + pub fn new(global: &GlobalRef, file_bits: JSRef<Blob>, name: DOMString) -> Temporary<File> { reflect_dom_object(box File::new_inherited(file_bits, name), global, FileBinding::Wrap) diff --git a/components/script/dom/formdata.rs b/components/script/dom/formdata.rs index 1a9f1252f53..7e5f22845de 100644 --- a/components/script/dom/formdata.rs +++ b/components/script/dom/formdata.rs @@ -40,7 +40,7 @@ impl FormData { data: Traceable::new(RefCell::new(HashMap::new())), reflector_: Reflector::new(), global: GlobalField::from_rooted(global), - form: form.map(|f| JS::from_rooted(&f)), + form: form.map(|f| JS::from_rooted(f)), } } @@ -56,8 +56,8 @@ impl FormData { impl<'a> FormDataMethods for JSRef<'a, FormData> { #[allow(unrooted_must_root)] - fn Append(&self, name: DOMString, value: &JSRef<Blob>, filename: Option<DOMString>) { - let file = FileData(JS::from_rooted(&self.get_file_from_blob(value, filename))); + fn Append(&self, name: DOMString, value: JSRef<Blob>, filename: Option<DOMString>) { + let file = FileData(JS::from_rooted(self.get_file_from_blob(value, filename))); self.data.deref().borrow_mut().insert_or_update_with(name.clone(), vec!(file.clone()), |_k, v| {v.push(file.clone());}); } @@ -88,8 +88,8 @@ impl<'a> FormDataMethods for JSRef<'a, FormData> { self.data.deref().borrow().contains_key_equiv(&name) } #[allow(unrooted_must_root)] - fn Set(&self, name: DOMString, value: &JSRef<Blob>, filename: Option<DOMString>) { - let file = FileData(JS::from_rooted(&self.get_file_from_blob(value, filename))); + fn Set(&self, name: DOMString, value: JSRef<Blob>, filename: Option<DOMString>) { + let file = FileData(JS::from_rooted(self.get_file_from_blob(value, filename))); self.data.deref().borrow_mut().insert(name, vec!(file)); } @@ -105,13 +105,13 @@ impl Reflectable for FormData { } trait PrivateFormDataHelpers{ - fn get_file_from_blob(&self, value: &JSRef<Blob>, filename: Option<DOMString>) -> Temporary<File>; + fn get_file_from_blob(&self, value: JSRef<Blob>, filename: Option<DOMString>) -> Temporary<File>; } impl PrivateFormDataHelpers for FormData { - fn get_file_from_blob(&self, value: &JSRef<Blob>, filename: Option<DOMString>) -> Temporary<File> { + fn get_file_from_blob(&self, value: JSRef<Blob>, filename: Option<DOMString>) -> Temporary<File> { let global = self.global.root(); - let f: Option<&JSRef<File>> = FileCast::to_ref(value); + let f: Option<JSRef<File>> = FileCast::to_ref(value); let name = filename.unwrap_or(f.map(|inner| inner.name.clone()).unwrap_or("blob".to_string())); File::new(&global.root_ref(), value, name) } diff --git a/components/script/dom/htmlanchorelement.rs b/components/script/dom/htmlanchorelement.rs index 0a8efa15890..1860f685d9a 100644 --- a/components/script/dom/htmlanchorelement.rs +++ b/components/script/dom/htmlanchorelement.rs @@ -36,33 +36,33 @@ impl HTMLAnchorElementDerived for EventTarget { } impl HTMLAnchorElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLAnchorElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLAnchorElement { HTMLAnchorElement { htmlelement: HTMLElement::new_inherited(HTMLAnchorElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLAnchorElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLAnchorElement> { let element = HTMLAnchorElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLAnchorElementBinding::Wrap) } } trait PrivateHTMLAnchorElementHelpers { - fn handle_event_impl(&self, event: &JSRef<Event>); + fn handle_event_impl(&self, event: JSRef<Event>); } impl<'a> PrivateHTMLAnchorElementHelpers for JSRef<'a, HTMLAnchorElement> { - fn handle_event_impl(&self, event: &JSRef<Event>) { + fn handle_event_impl(&self, event: JSRef<Event>) { if "click" == event.Type().as_slice() && !event.DefaultPrevented() { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); let attr = element.get_attribute(Null, "href").root(); match attr { Some(ref href) => { let value = href.Value(); debug!("clicked on link to {:s}", value); - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); let doc = node.owner_doc().root(); doc.load_anchor_href(value); } @@ -74,7 +74,7 @@ impl<'a> PrivateHTMLAnchorElementHelpers for JSRef<'a, HTMLAnchorElement> { impl<'a> VirtualMethods for JSRef<'a, HTMLAnchorElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -84,7 +84,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLAnchorElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "href" => node.set_enabled_state(true), _ => () @@ -97,14 +97,14 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLAnchorElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "href" => node.set_enabled_state(false), _ => () } } - fn handle_event(&self, event: &JSRef<Event>) { + fn handle_event(&self, event: JSRef<Event>) { match self.super_type() { Some(s) => { s.handle_event(event); @@ -123,12 +123,12 @@ impl Reflectable for HTMLAnchorElement { impl<'a> HTMLAnchorElementMethods for JSRef<'a, HTMLAnchorElement> { fn Text(&self) -> DOMString { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.GetTextContent().unwrap() } fn SetText(&self, value: DOMString) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.SetTextContent(Some(value)) } } diff --git a/components/script/dom/htmlappletelement.rs b/components/script/dom/htmlappletelement.rs index 0e2e3cfcfe4..c5a2139437a 100644 --- a/components/script/dom/htmlappletelement.rs +++ b/components/script/dom/htmlappletelement.rs @@ -26,14 +26,14 @@ impl HTMLAppletElementDerived for EventTarget { } impl HTMLAppletElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLAppletElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLAppletElement { HTMLAppletElement { htmlelement: HTMLElement::new_inherited(HTMLAppletElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLAppletElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLAppletElement> { let element = HTMLAppletElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLAppletElementBinding::Wrap) } diff --git a/components/script/dom/htmlareaelement.rs b/components/script/dom/htmlareaelement.rs index c724b640da6..f75cc726e15 100644 --- a/components/script/dom/htmlareaelement.rs +++ b/components/script/dom/htmlareaelement.rs @@ -30,14 +30,14 @@ impl HTMLAreaElementDerived for EventTarget { } impl HTMLAreaElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLAreaElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLAreaElement { HTMLAreaElement { htmlelement: HTMLElement::new_inherited(HTMLAreaElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLAreaElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLAreaElement> { let element = HTMLAreaElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLAreaElementBinding::Wrap) } @@ -45,7 +45,7 @@ impl HTMLAreaElement { impl<'a> VirtualMethods for JSRef<'a, HTMLAreaElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -55,7 +55,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLAreaElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "href" => node.set_enabled_state(true), _ => () @@ -68,7 +68,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLAreaElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "href" => node.set_enabled_state(false), _ => () diff --git a/components/script/dom/htmlaudioelement.rs b/components/script/dom/htmlaudioelement.rs index 02b98f9e679..def3a045874 100644 --- a/components/script/dom/htmlaudioelement.rs +++ b/components/script/dom/htmlaudioelement.rs @@ -26,14 +26,14 @@ impl HTMLAudioElementDerived for EventTarget { } impl HTMLAudioElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLAudioElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLAudioElement { HTMLAudioElement { htmlmediaelement: HTMLMediaElement::new_inherited(HTMLAudioElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLAudioElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLAudioElement> { let element = HTMLAudioElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLAudioElementBinding::Wrap) } diff --git a/components/script/dom/htmlbaseelement.rs b/components/script/dom/htmlbaseelement.rs index 9d390765c42..58fa14a6463 100644 --- a/components/script/dom/htmlbaseelement.rs +++ b/components/script/dom/htmlbaseelement.rs @@ -26,14 +26,14 @@ impl HTMLBaseElementDerived for EventTarget { } impl HTMLBaseElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLBaseElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLBaseElement { HTMLBaseElement { htmlelement: HTMLElement::new_inherited(HTMLBaseElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLBaseElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLBaseElement> { let element = HTMLBaseElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLBaseElementBinding::Wrap) } diff --git a/components/script/dom/htmlbodyelement.rs b/components/script/dom/htmlbodyelement.rs index 298cb133c87..96728eaa3f6 100644 --- a/components/script/dom/htmlbodyelement.rs +++ b/components/script/dom/htmlbodyelement.rs @@ -33,14 +33,14 @@ impl HTMLBodyElementDerived for EventTarget { } impl HTMLBodyElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLBodyElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLBodyElement { HTMLBodyElement { htmlelement: HTMLElement::new_inherited(HTMLBodyElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLBodyElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLBodyElement> { let element = HTMLBodyElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLBodyElementBinding::Wrap) } @@ -48,19 +48,19 @@ impl HTMLBodyElement { impl<'a> HTMLBodyElementMethods for JSRef<'a, HTMLBodyElement> { fn GetOnunload(&self) -> Option<EventHandlerNonNull> { - let win = window_from_node(self).root(); + let win = window_from_node(*self).root(); win.deref().GetOnunload() } fn SetOnunload(&self, listener: Option<EventHandlerNonNull>) { - let win = window_from_node(self).root(); + let win = window_from_node(*self).root(); win.deref().SetOnunload(listener) } } impl<'a> VirtualMethods for JSRef<'a, HTMLBodyElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let element: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let element: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(element as &VirtualMethods) } @@ -76,15 +76,15 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLBodyElement> { "onbeforeunload", "onhashchange", "onlanguagechange", "onmessage", "onoffline", "ononline", "onpagehide", "onpageshow", "onpopstate", "onstorage", "onresize", "onunload", "onerror"]; - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); let (cx, url, reflector) = (window.get_cx(), window.get_url(), window.reflector().get_jsobject()); - let evtarget: &JSRef<EventTarget> = + let evtarget: JSRef<EventTarget> = if forwarded_events.iter().any(|&event| name.as_slice() == event) { - EventTargetCast::from_ref(&*window) + EventTargetCast::from_ref(*window) } else { - EventTargetCast::from_ref(self) + EventTargetCast::from_ref(*self) }; evtarget.set_event_handler_uncompiled(cx, url, reflector, name.as_slice().slice_from(2), diff --git a/components/script/dom/htmlbrelement.rs b/components/script/dom/htmlbrelement.rs index 4e08ef492d0..7f7b4114e0b 100644 --- a/components/script/dom/htmlbrelement.rs +++ b/components/script/dom/htmlbrelement.rs @@ -26,14 +26,14 @@ impl HTMLBRElementDerived for EventTarget { } impl HTMLBRElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLBRElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLBRElement { HTMLBRElement { htmlelement: HTMLElement::new_inherited(HTMLBRElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLBRElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLBRElement> { let element = HTMLBRElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLBRElementBinding::Wrap) } diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs index 91a8de46617..9de41db4423 100644 --- a/components/script/dom/htmlbuttonelement.rs +++ b/components/script/dom/htmlbuttonelement.rs @@ -32,14 +32,14 @@ impl HTMLButtonElementDerived for EventTarget { } impl HTMLButtonElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLButtonElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLButtonElement { HTMLButtonElement { htmlelement: HTMLElement::new_inherited(HTMLButtonElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLButtonElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLButtonElement> { let element = HTMLButtonElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLButtonElementBinding::Wrap) } @@ -47,8 +47,8 @@ impl HTMLButtonElement { impl<'a> HTMLButtonElementMethods for JSRef<'a, HTMLButtonElement> { fn Validity(&self) -> Temporary<ValidityState> { - let window = window_from_node(self).root(); - ValidityState::new(&*window) + let window = window_from_node(*self).root(); + ValidityState::new(*window) } // http://www.whatwg.org/html/#dom-fe-disabled @@ -56,14 +56,14 @@ impl<'a> HTMLButtonElementMethods for JSRef<'a, HTMLButtonElement> { // http://www.whatwg.org/html/#dom-fe-disabled fn SetDisabled(&self, disabled: bool) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_bool_attribute("disabled", disabled) } } impl<'a> VirtualMethods for JSRef<'a, HTMLButtonElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -73,7 +73,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLButtonElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(true); @@ -89,7 +89,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLButtonElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(false); @@ -106,7 +106,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLButtonElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.check_ancestors_disabled_state_for_form_control(); } @@ -116,7 +116,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLButtonElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.ancestors().any(|ancestor| ancestor.is_htmlfieldsetelement()) { node.check_ancestors_disabled_state_for_form_control(); } else { diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index 60bec7f4662..501e905ef55 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -44,7 +44,7 @@ impl HTMLCanvasElementDerived for EventTarget { } impl HTMLCanvasElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLCanvasElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLCanvasElement { HTMLCanvasElement { htmlelement: HTMLElement::new_inherited(HTMLCanvasElementTypeId, localName, document), context: Traceable::new(Cell::new(None)), @@ -54,7 +54,7 @@ impl HTMLCanvasElement { } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLCanvasElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLCanvasElement> { let element = HTMLCanvasElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLCanvasElementBinding::Wrap) } @@ -66,7 +66,7 @@ impl<'a> HTMLCanvasElementMethods for JSRef<'a, HTMLCanvasElement> { } fn SetWidth(&self, width: u32) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_uint_attribute("width", width) } @@ -75,7 +75,7 @@ impl<'a> HTMLCanvasElementMethods for JSRef<'a, HTMLCanvasElement> { } fn SetHeight(&self, height: u32) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_uint_attribute("height", height) } @@ -85,9 +85,9 @@ impl<'a> HTMLCanvasElementMethods for JSRef<'a, HTMLCanvasElement> { } if self.context.get().is_none() { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); let (w, h) = (self.width.get() as i32, self.height.get() as i32); - let context = CanvasRenderingContext2D::new(&Window(*window), self, Size2D(w, h)); + let context = CanvasRenderingContext2D::new(&Window(*window), *self, Size2D(w, h)); self.context.assign(Some(context)); } self.context.get().map(|context| Temporary::new(context)) @@ -96,7 +96,7 @@ impl<'a> HTMLCanvasElementMethods for JSRef<'a, HTMLCanvasElement> { impl<'a> VirtualMethods for JSRef<'a, HTMLCanvasElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let element: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let element: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(element as &VirtualMethods) } diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs index bd07b82e53e..d5de946acdd 100644 --- a/components/script/dom/htmlcollection.rs +++ b/components/script/dom/htmlcollection.rs @@ -20,7 +20,7 @@ use serialize::{Encoder, Encodable}; use std::ascii::StrAsciiExt; pub trait CollectionFilter { - fn filter(&self, elem: &JSRef<Element>, root: &JSRef<Node>) -> bool; + fn filter(&self, elem: JSRef<Element>, root: JSRef<Node>) -> bool; } impl<S: Encoder<E>, E> Encodable<S, E> for Box<CollectionFilter> { @@ -51,25 +51,25 @@ impl HTMLCollection { } } - pub fn new(window: &JSRef<Window>, collection: CollectionTypeId) -> Temporary<HTMLCollection> { + pub fn new(window: JSRef<Window>, collection: CollectionTypeId) -> Temporary<HTMLCollection> { reflect_dom_object(box HTMLCollection::new_inherited(collection), - &Window(*window), HTMLCollectionBinding::Wrap) + &Window(window), HTMLCollectionBinding::Wrap) } } impl HTMLCollection { - pub fn create(window: &JSRef<Window>, root: &JSRef<Node>, + pub fn create(window: JSRef<Window>, root: JSRef<Node>, filter: Box<CollectionFilter>) -> Temporary<HTMLCollection> { HTMLCollection::new(window, Live(JS::from_rooted(root), filter)) } - fn all_elements(window: &JSRef<Window>, root: &JSRef<Node>, + fn all_elements(window: JSRef<Window>, root: JSRef<Node>, namespace_filter: Option<Namespace>) -> Temporary<HTMLCollection> { struct AllElementFilter { namespace_filter: Option<Namespace> } impl CollectionFilter for AllElementFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { match self.namespace_filter { None => true, Some(ref namespace) => elem.namespace == *namespace @@ -80,7 +80,7 @@ impl HTMLCollection { HTMLCollection::create(window, root, box filter) } - pub fn by_tag_name(window: &JSRef<Window>, root: &JSRef<Node>, tag: DOMString) + pub fn by_tag_name(window: JSRef<Window>, root: JSRef<Node>, tag: DOMString) -> Temporary<HTMLCollection> { if tag.as_slice() == "*" { return HTMLCollection::all_elements(window, root, None); @@ -91,7 +91,7 @@ impl HTMLCollection { ascii_lower_tag: Atom, } impl CollectionFilter for TagNameFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { if elem.html_element_in_html_document() { elem.local_name == self.ascii_lower_tag } else { @@ -106,7 +106,7 @@ impl HTMLCollection { HTMLCollection::create(window, root, box filter) } - pub fn by_tag_name_ns(window: &JSRef<Window>, root: &JSRef<Node>, tag: DOMString, + pub fn by_tag_name_ns(window: JSRef<Window>, root: JSRef<Node>, tag: DOMString, maybe_ns: Option<DOMString>) -> Temporary<HTMLCollection> { let namespace_filter = match maybe_ns { Some(namespace) => { @@ -126,7 +126,7 @@ impl HTMLCollection { namespace_filter: Option<Namespace> } impl CollectionFilter for TagNameNSFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { let ns_match = match self.namespace_filter { Some(ref namespace) => { elem.deref().namespace == *namespace @@ -143,13 +143,13 @@ impl HTMLCollection { HTMLCollection::create(window, root, box filter) } - pub fn by_class_name(window: &JSRef<Window>, root: &JSRef<Node>, classes: DOMString) + pub fn by_class_name(window: JSRef<Window>, root: JSRef<Node>, classes: DOMString) -> Temporary<HTMLCollection> { struct ClassNameFilter { classes: Vec<DOMString> } impl CollectionFilter for ClassNameFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { self.classes.iter().all(|class| elem.has_class(class.as_slice())) } } @@ -159,10 +159,10 @@ impl HTMLCollection { HTMLCollection::create(window, root, box filter) } - pub fn children(window: &JSRef<Window>, root: &JSRef<Node>) -> Temporary<HTMLCollection> { + pub fn children(window: JSRef<Window>, root: JSRef<Node>) -> Temporary<HTMLCollection> { struct ElementChildFilter; impl CollectionFilter for ElementChildFilter { - fn filter(&self, elem: &JSRef<Element>, root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, root: JSRef<Node>) -> bool { root.is_parent_of(NodeCast::from_ref(elem)) } } @@ -179,8 +179,8 @@ impl<'a> HTMLCollectionMethods for JSRef<'a, HTMLCollection> { let root = root.root(); root.deref().traverse_preorder() .filter(|&child| { - let elem: Option<&JSRef<Element>> = ElementCast::to_ref(&child); - elem.map_or(false, |elem| filter.filter(elem, &*root)) + let elem: Option<JSRef<Element>> = ElementCast::to_ref(child); + elem.map_or(false, |elem| filter.filter(elem, *root)) }).count() as u32 } } @@ -197,13 +197,13 @@ impl<'a> HTMLCollectionMethods for JSRef<'a, HTMLCollection> { let root = root.root(); root.deref().traverse_preorder() .filter_map(|node| { - let elem: Option<&JSRef<Element>> = ElementCast::to_ref(&node); - elem.filtered(|&elem| filter.filter(elem, &*root)) + let elem: Option<JSRef<Element>> = ElementCast::to_ref(node); + elem.filtered(|&elem| filter.filter(elem, *root)) .map(|elem| elem.clone()) }) .nth(index as uint) .clone() - .map(|elem| Temporary::from_rooted(&elem)) + .map(|elem| Temporary::from_rooted(elem)) } } } @@ -222,19 +222,19 @@ impl<'a> HTMLCollectionMethods for JSRef<'a, HTMLCollection> { .find(|elem| { elem.get_string_attribute("name") == key || elem.get_string_attribute("id") == key }) - .map(|maybe_elem| Temporary::from_rooted(&*maybe_elem)), + .map(|maybe_elem| Temporary::from_rooted(*maybe_elem)), Live(ref root, ref filter) => { let root = root.root(); root.deref().traverse_preorder() .filter_map(|node| { - let elem: Option<&JSRef<Element>> = ElementCast::to_ref(&node); - elem.filtered(|&elem| filter.filter(elem, &*root)) + let elem: Option<JSRef<Element>> = ElementCast::to_ref(node); + elem.filtered(|&elem| filter.filter(elem, *root)) .map(|elem| elem.clone()) }) .find(|elem| { elem.get_string_attribute("name") == key || elem.get_string_attribute("id") == key }) - .map(|maybe_elem| Temporary::from_rooted(&maybe_elem)) + .map(|maybe_elem| Temporary::from_rooted(maybe_elem)) } } } diff --git a/components/script/dom/htmldataelement.rs b/components/script/dom/htmldataelement.rs index 941ea6a2d29..f7d93e2295e 100644 --- a/components/script/dom/htmldataelement.rs +++ b/components/script/dom/htmldataelement.rs @@ -26,14 +26,14 @@ impl HTMLDataElementDerived for EventTarget { } impl HTMLDataElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDataElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLDataElement { HTMLDataElement { htmlelement: HTMLElement::new_inherited(HTMLDataElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDataElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLDataElement> { let element = HTMLDataElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLDataElementBinding::Wrap) } diff --git a/components/script/dom/htmldatalistelement.rs b/components/script/dom/htmldatalistelement.rs index f63180007bc..cd82390a9a4 100644 --- a/components/script/dom/htmldatalistelement.rs +++ b/components/script/dom/htmldatalistelement.rs @@ -29,14 +29,14 @@ impl HTMLDataListElementDerived for EventTarget { } impl HTMLDataListElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDataListElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLDataListElement { HTMLDataListElement { htmlelement: HTMLElement::new_inherited(HTMLDataListElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDataListElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLDataListElement> { let element = HTMLDataListElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLDataListElementBinding::Wrap) } @@ -46,14 +46,14 @@ impl<'a> HTMLDataListElementMethods for JSRef<'a, HTMLDataListElement> { fn Options(&self) -> Temporary<HTMLCollection> { struct HTMLDataListOptionsFilter; impl CollectionFilter for HTMLDataListOptionsFilter { - fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, _root: JSRef<Node>) -> bool { elem.is_htmloptionelement() } } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); let filter = box HTMLDataListOptionsFilter; let window = window_from_node(node).root(); - HTMLCollection::create(&*window, node, filter) + HTMLCollection::create(*window, node, filter) } } diff --git a/components/script/dom/htmldirectoryelement.rs b/components/script/dom/htmldirectoryelement.rs index 17e1401b7e8..4596f4de8ff 100644 --- a/components/script/dom/htmldirectoryelement.rs +++ b/components/script/dom/htmldirectoryelement.rs @@ -26,14 +26,14 @@ impl HTMLDirectoryElementDerived for EventTarget { } impl HTMLDirectoryElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDirectoryElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLDirectoryElement { HTMLDirectoryElement { htmlelement: HTMLElement::new_inherited(HTMLDirectoryElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDirectoryElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLDirectoryElement> { let element = HTMLDirectoryElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLDirectoryElementBinding::Wrap) } diff --git a/components/script/dom/htmldivelement.rs b/components/script/dom/htmldivelement.rs index e121c8d98cb..0cf2ae2f11c 100644 --- a/components/script/dom/htmldivelement.rs +++ b/components/script/dom/htmldivelement.rs @@ -26,14 +26,14 @@ impl HTMLDivElementDerived for EventTarget { } impl HTMLDivElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDivElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLDivElement { HTMLDivElement { htmlelement: HTMLElement::new_inherited(HTMLDivElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDivElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLDivElement> { let element = HTMLDivElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLDivElementBinding::Wrap) } diff --git a/components/script/dom/htmldlistelement.rs b/components/script/dom/htmldlistelement.rs index 745ce780c3e..eee513fda49 100644 --- a/components/script/dom/htmldlistelement.rs +++ b/components/script/dom/htmldlistelement.rs @@ -26,14 +26,14 @@ impl HTMLDListElementDerived for EventTarget { } impl HTMLDListElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDListElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLDListElement { HTMLDListElement { htmlelement: HTMLElement::new_inherited(HTMLDListElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDListElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLDListElement> { let element = HTMLDListElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLDListElementBinding::Wrap) } diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs index c9c5b5d4ba8..42744ba32a0 100644 --- a/components/script/dom/htmlelement.rs +++ b/components/script/dom/htmlelement.rs @@ -38,14 +38,14 @@ impl HTMLElementDerived for EventTarget { } impl HTMLElement { - pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: &JSRef<Document>) -> HTMLElement { + pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: JSRef<Document>) -> HTMLElement { HTMLElement { element: Element::new_inherited(type_id, tag_name, namespace::HTML, None, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLElement> { let element = HTMLElement::new_inherited(HTMLElementTypeId, localName, document); Node::reflect_node(box element, document, HTMLElementBinding::Wrap) } @@ -57,25 +57,25 @@ trait PrivateHTMLElementHelpers { impl<'a> PrivateHTMLElementHelpers for JSRef<'a, HTMLElement> { fn is_body_or_frameset(&self) -> bool { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.is_htmlbodyelement() || eventtarget.is_htmlframesetelement() } } impl<'a> HTMLElementMethods for JSRef<'a, HTMLElement> { fn GetOnclick(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("click") } fn SetOnclick(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("click", listener) } fn GetOnload(&self) -> Option<EventHandlerNonNull> { if self.is_body_or_frameset() { - let win = window_from_node(self).root(); + let win = window_from_node(*self).root(); win.deref().GetOnload() } else { None @@ -84,7 +84,7 @@ impl<'a> HTMLElementMethods for JSRef<'a, HTMLElement> { fn SetOnload(&self, listener: Option<EventHandlerNonNull>) { if self.is_body_or_frameset() { - let win = window_from_node(self).root(); + let win = window_from_node(*self).root(); win.deref().SetOnload(listener) } } @@ -92,7 +92,7 @@ impl<'a> HTMLElementMethods for JSRef<'a, HTMLElement> { impl<'a> VirtualMethods for JSRef<'a, HTMLElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: &JSRef<Element> = ElementCast::from_borrowed_ref(self); Some(element as &VirtualMethods) } @@ -103,11 +103,11 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLElement> { } if name.as_slice().starts_with("on") { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); let (cx, url, reflector) = (window.get_cx(), window.get_url(), window.reflector().get_jsobject()); - let evtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let evtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); evtarget.set_event_handler_uncompiled(cx, url, reflector, name.as_slice().slice_from(2), value); diff --git a/components/script/dom/htmlembedelement.rs b/components/script/dom/htmlembedelement.rs index 64314247096..dad01b745b5 100644 --- a/components/script/dom/htmlembedelement.rs +++ b/components/script/dom/htmlembedelement.rs @@ -26,14 +26,14 @@ impl HTMLEmbedElementDerived for EventTarget { } impl HTMLEmbedElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLEmbedElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLEmbedElement { HTMLEmbedElement { htmlelement: HTMLElement::new_inherited(HTMLEmbedElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLEmbedElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLEmbedElement> { let element = HTMLEmbedElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLEmbedElementBinding::Wrap) } diff --git a/components/script/dom/htmlfieldsetelement.rs b/components/script/dom/htmlfieldsetelement.rs index 30b8aebf0d3..103c8a60332 100644 --- a/components/script/dom/htmlfieldsetelement.rs +++ b/components/script/dom/htmlfieldsetelement.rs @@ -34,14 +34,14 @@ impl HTMLFieldSetElementDerived for EventTarget { } impl HTMLFieldSetElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFieldSetElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLFieldSetElement { HTMLFieldSetElement { htmlelement: HTMLElement::new_inherited(HTMLFieldSetElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFieldSetElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLFieldSetElement> { let element = HTMLFieldSetElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLFieldSetElementBinding::Wrap) } @@ -52,22 +52,22 @@ impl<'a> HTMLFieldSetElementMethods for JSRef<'a, HTMLFieldSetElement> { fn Elements(&self) -> Temporary<HTMLCollection> { struct ElementsFilter; impl CollectionFilter for ElementsFilter { - fn filter(&self, elem: &JSRef<Element>, root: &JSRef<Node>) -> bool { + fn filter(&self, elem: JSRef<Element>, root: JSRef<Node>) -> bool { static tag_names: StaticStringVec = &["button", "fieldset", "input", "keygen", "object", "output", "select", "textarea"]; - let root: &JSRef<Element> = ElementCast::to_ref(root).unwrap(); + let root: JSRef<Element> = ElementCast::to_ref(root).unwrap(); elem != root && tag_names.iter().any(|&tag_name| tag_name == elem.deref().local_name.as_slice()) } } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); let filter = box ElementsFilter; let window = window_from_node(node).root(); - HTMLCollection::create(&*window, node, filter) + HTMLCollection::create(*window, node, filter) } fn Validity(&self) -> Temporary<ValidityState> { - let window = window_from_node(self).root(); - ValidityState::new(&*window) + let window = window_from_node(*self).root(); + ValidityState::new(*window) } // http://www.whatwg.org/html/#dom-fieldset-disabled @@ -75,14 +75,14 @@ impl<'a> HTMLFieldSetElementMethods for JSRef<'a, HTMLFieldSetElement> { // http://www.whatwg.org/html/#dom-fieldset-disabled fn SetDisabled(&self, disabled: bool) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_bool_attribute("disabled", disabled) } } impl<'a> VirtualMethods for JSRef<'a, HTMLFieldSetElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -92,7 +92,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLFieldSetElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(true); @@ -124,7 +124,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLFieldSetElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(false); diff --git a/components/script/dom/htmlfontelement.rs b/components/script/dom/htmlfontelement.rs index b80fa5494d0..6991dcfa486 100644 --- a/components/script/dom/htmlfontelement.rs +++ b/components/script/dom/htmlfontelement.rs @@ -26,14 +26,14 @@ impl HTMLFontElementDerived for EventTarget { } impl HTMLFontElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFontElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLFontElement { HTMLFontElement { htmlelement: HTMLElement::new_inherited(HTMLFontElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFontElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLFontElement> { let element = HTMLFontElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLFontElementBinding::Wrap) } diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 5b9c492c7fe..e43f8cc4a45 100644 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -26,14 +26,14 @@ impl HTMLFormElementDerived for EventTarget { } impl HTMLFormElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFormElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLFormElement { HTMLFormElement { htmlelement: HTMLElement::new_inherited(HTMLFormElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFormElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLFormElement> { let element = HTMLFormElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLFormElementBinding::Wrap) } diff --git a/components/script/dom/htmlframeelement.rs b/components/script/dom/htmlframeelement.rs index 2b280272119..536a6f040de 100644 --- a/components/script/dom/htmlframeelement.rs +++ b/components/script/dom/htmlframeelement.rs @@ -26,14 +26,14 @@ impl HTMLFrameElementDerived for EventTarget { } impl HTMLFrameElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFrameElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLFrameElement { HTMLFrameElement { htmlelement: HTMLElement::new_inherited(HTMLFrameElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFrameElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLFrameElement> { let element = HTMLFrameElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLFrameElementBinding::Wrap) } diff --git a/components/script/dom/htmlframesetelement.rs b/components/script/dom/htmlframesetelement.rs index c1f09c20639..864d09f48a5 100644 --- a/components/script/dom/htmlframesetelement.rs +++ b/components/script/dom/htmlframesetelement.rs @@ -26,14 +26,14 @@ impl HTMLFrameSetElementDerived for EventTarget { } impl HTMLFrameSetElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFrameSetElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLFrameSetElement { HTMLFrameSetElement { htmlelement: HTMLElement::new_inherited(HTMLFrameSetElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFrameSetElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLFrameSetElement> { let element = HTMLFrameSetElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLFrameSetElementBinding::Wrap) } diff --git a/components/script/dom/htmlheadelement.rs b/components/script/dom/htmlheadelement.rs index 5c2e619935c..01805e324c4 100644 --- a/components/script/dom/htmlheadelement.rs +++ b/components/script/dom/htmlheadelement.rs @@ -26,14 +26,14 @@ impl HTMLHeadElementDerived for EventTarget { } impl HTMLHeadElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLHeadElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLHeadElement { HTMLHeadElement { htmlelement: HTMLElement::new_inherited(HTMLHeadElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLHeadElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLHeadElement> { let element = HTMLHeadElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLHeadElementBinding::Wrap) } diff --git a/components/script/dom/htmlheadingelement.rs b/components/script/dom/htmlheadingelement.rs index d26cf2252bd..b83bf2a8eb3 100644 --- a/components/script/dom/htmlheadingelement.rs +++ b/components/script/dom/htmlheadingelement.rs @@ -37,7 +37,7 @@ impl HTMLHeadingElementDerived for EventTarget { } impl HTMLHeadingElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>, level: HeadingLevel) -> HTMLHeadingElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>, level: HeadingLevel) -> HTMLHeadingElement { HTMLHeadingElement { htmlelement: HTMLElement::new_inherited(HTMLHeadingElementTypeId, localName, document), level: level, @@ -45,7 +45,7 @@ impl HTMLHeadingElement { } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>, level: HeadingLevel) -> Temporary<HTMLHeadingElement> { + pub fn new(localName: DOMString, document: JSRef<Document>, level: HeadingLevel) -> Temporary<HTMLHeadingElement> { let element = HTMLHeadingElement::new_inherited(localName, document, level); Node::reflect_node(box element, document, HTMLHeadingElementBinding::Wrap) } diff --git a/components/script/dom/htmlhrelement.rs b/components/script/dom/htmlhrelement.rs index de417712964..9b33931c1b9 100644 --- a/components/script/dom/htmlhrelement.rs +++ b/components/script/dom/htmlhrelement.rs @@ -26,14 +26,14 @@ impl HTMLHRElementDerived for EventTarget { } impl HTMLHRElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLHRElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLHRElement { HTMLHRElement { htmlelement: HTMLElement::new_inherited(HTMLHRElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLHRElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLHRElement> { let element = HTMLHRElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLHRElementBinding::Wrap) } diff --git a/components/script/dom/htmlhtmlelement.rs b/components/script/dom/htmlhtmlelement.rs index a45da2beaff..b4b0348da1a 100644 --- a/components/script/dom/htmlhtmlelement.rs +++ b/components/script/dom/htmlhtmlelement.rs @@ -26,14 +26,14 @@ impl HTMLHtmlElementDerived for EventTarget { } impl HTMLHtmlElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLHtmlElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLHtmlElement { HTMLHtmlElement { htmlelement: HTMLElement::new_inherited(HTMLHtmlElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLHtmlElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLHtmlElement> { let element = HTMLHtmlElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLHtmlElementBinding::Wrap) } diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index a5c83002327..f8cf746bce2 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -74,13 +74,13 @@ impl<'a> HTMLIFrameElementHelpers for JSRef<'a, HTMLIFrameElement> { } fn get_url(&self) -> Option<Url> { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.get_attribute(Null, "src").root().and_then(|src| { let url = src.deref().value(); if url.as_slice().is_empty() { None } else { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); UrlParser::new().base_url(&window.deref().page().get_url()) .parse(url.as_slice()).ok() } @@ -100,7 +100,7 @@ impl<'a> HTMLIFrameElementHelpers for JSRef<'a, HTMLIFrameElement> { }; // Subpage Id - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); let page = window.deref().page(); let subpage_id = page.get_next_subpage_id(); @@ -115,7 +115,7 @@ impl<'a> HTMLIFrameElementHelpers for JSRef<'a, HTMLIFrameElement> { } impl HTMLIFrameElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLIFrameElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLIFrameElement { HTMLIFrameElement { htmlelement: HTMLElement::new_inherited(HTMLIFrameElementTypeId, localName, document), size: Traceable::new(Cell::new(None)), @@ -124,7 +124,7 @@ impl HTMLIFrameElement { } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLIFrameElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLIFrameElement> { let element = HTMLIFrameElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLIFrameElementBinding::Wrap) } @@ -132,28 +132,28 @@ impl HTMLIFrameElement { impl<'a> HTMLIFrameElementMethods for JSRef<'a, HTMLIFrameElement> { fn Src(&self) -> DOMString { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.get_string_attribute("src") } fn SetSrc(&self, src: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_url_attribute("src", src) } fn Sandbox(&self) -> DOMString { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.get_string_attribute("sandbox") } fn SetSandbox(&self, sandbox: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_string_attribute("sandbox", sandbox); } fn GetContentWindow(&self) -> Option<Temporary<Window>> { self.size.deref().get().and_then(|size| { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); let children = &*window.deref().page.children.deref().borrow(); let child = children.iter().find(|child| { child.subpage_id.unwrap() == size.subpage_id @@ -169,7 +169,7 @@ impl<'a> HTMLIFrameElementMethods for JSRef<'a, HTMLIFrameElement> { impl<'a> VirtualMethods for JSRef<'a, HTMLIFrameElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -196,7 +196,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLIFrameElement> { } if "src" == name.as_slice() { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.is_in_doc() { self.process_the_iframe_attributes() } diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 903e52bb309..f534182a53c 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -46,7 +46,7 @@ impl<'a> PrivateHTMLImageElementHelpers for JSRef<'a, HTMLImageElement> { /// Makes the local `image` member match the status of the `src` attribute and starts /// prefetching the image. This method must be called after `src` is changed. fn update_image(&self, value: Option<(DOMString, &Url)>) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); let document = node.owner_doc().root(); let window = document.deref().window.root(); let image_cache = &window.image_cache_task; @@ -72,7 +72,7 @@ impl<'a> PrivateHTMLImageElementHelpers for JSRef<'a, HTMLImageElement> { } impl HTMLImageElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLImageElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLImageElement { HTMLImageElement { htmlelement: HTMLElement::new_inherited(HTMLImageElementTypeId, localName, document), image: Untraceable::new(RefCell::new(None)), @@ -80,7 +80,7 @@ impl HTMLImageElement { } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLImageElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLImageElement> { let element = HTMLImageElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLImageElementBinding::Wrap) } @@ -100,99 +100,99 @@ impl<'a> HTMLImageElementMethods for JSRef<'a, HTMLImageElement> { make_getter!(Alt) fn SetAlt(&self, alt: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_string_attribute("alt", alt) } make_getter!(Src) fn SetSrc(&self, src: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_url_attribute("src", src) } make_getter!(UseMap) fn SetUseMap(&self, use_map: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_string_attribute("usemap", use_map) } make_bool_getter!(IsMap) fn SetIsMap(&self, is_map: bool) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_string_attribute("ismap", is_map.to_string()) } fn Width(&self) -> u32 { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); let rect = node.get_bounding_content_box(); to_px(rect.size.width) as u32 } fn SetWidth(&self, width: u32) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_uint_attribute("width", width) } fn Height(&self) -> u32 { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); let rect = node.get_bounding_content_box(); to_px(rect.size.height) as u32 } fn SetHeight(&self, height: u32) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_uint_attribute("height", height) } make_getter!(Name) fn SetName(&self, name: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_string_attribute("name", name) } make_getter!(Align) fn SetAlign(&self, align: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_string_attribute("align", align) } make_uint_getter!(Hspace) fn SetHspace(&self, hspace: u32) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_uint_attribute("hspace", hspace) } make_uint_getter!(Vspace) fn SetVspace(&self, vspace: u32) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_uint_attribute("vspace", vspace) } make_getter!(LongDesc) fn SetLongDesc(&self, longdesc: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_string_attribute("longdesc", longdesc) } make_getter!(Border) fn SetBorder(&self, border: DOMString) { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.set_string_attribute("border", border) } } impl<'a> VirtualMethods for JSRef<'a, HTMLImageElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -203,7 +203,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLImageElement> { } if "src" == name.as_slice() { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); let url = window.deref().get_url(); self.update_image(Some((value, &url))); } diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index d45bf53fada..6b6484b0d45 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -31,14 +31,14 @@ impl HTMLInputElementDerived for EventTarget { } impl HTMLInputElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLInputElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLInputElement { HTMLInputElement { htmlelement: HTMLElement::new_inherited(HTMLInputElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLInputElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLInputElement> { let element = HTMLInputElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLInputElementBinding::Wrap) } @@ -50,14 +50,14 @@ impl<'a> HTMLInputElementMethods for JSRef<'a, HTMLInputElement> { // http://www.whatwg.org/html/#dom-fe-disabled fn SetDisabled(&self, disabled: bool) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_bool_attribute("disabled", disabled) } } impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -67,7 +67,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(true); @@ -83,7 +83,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(false); @@ -100,7 +100,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.check_ancestors_disabled_state_for_form_control(); } @@ -110,7 +110,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.ancestors().any(|ancestor| ancestor.is_htmlfieldsetelement()) { node.check_ancestors_disabled_state_for_form_control(); } else { diff --git a/components/script/dom/htmllabelelement.rs b/components/script/dom/htmllabelelement.rs index d45ca193e32..8f05f8f7f6c 100644 --- a/components/script/dom/htmllabelelement.rs +++ b/components/script/dom/htmllabelelement.rs @@ -26,14 +26,14 @@ impl HTMLLabelElementDerived for EventTarget { } impl HTMLLabelElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLLabelElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLLabelElement { HTMLLabelElement { htmlelement: HTMLElement::new_inherited(HTMLLabelElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLLabelElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLLabelElement> { let element = HTMLLabelElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLLabelElementBinding::Wrap) } diff --git a/components/script/dom/htmllegendelement.rs b/components/script/dom/htmllegendelement.rs index 6668dfbbff7..94ba1d6459a 100644 --- a/components/script/dom/htmllegendelement.rs +++ b/components/script/dom/htmllegendelement.rs @@ -26,14 +26,14 @@ impl HTMLLegendElementDerived for EventTarget { } impl HTMLLegendElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLLegendElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLLegendElement { HTMLLegendElement { htmlelement: HTMLElement::new_inherited(HTMLLegendElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLLegendElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLLegendElement> { let element = HTMLLegendElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLLegendElementBinding::Wrap) } diff --git a/components/script/dom/htmllielement.rs b/components/script/dom/htmllielement.rs index 950fc2b339b..162e8247e95 100644 --- a/components/script/dom/htmllielement.rs +++ b/components/script/dom/htmllielement.rs @@ -26,14 +26,14 @@ impl HTMLLIElementDerived for EventTarget { } impl HTMLLIElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLLIElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLLIElement { HTMLLIElement { htmlelement: HTMLElement::new_inherited(HTMLLIElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLLIElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLLIElement> { let element = HTMLLIElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLLIElementBinding::Wrap) } diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs index 3c44a9cba8b..6b88948fe02 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -35,14 +35,14 @@ impl HTMLLinkElementDerived for EventTarget { } impl HTMLLinkElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLLinkElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLLinkElement { HTMLLinkElement { htmlelement: HTMLElement::new_inherited(HTMLLinkElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLLinkElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLLinkElement> { let element = HTMLLinkElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLLinkElementBinding::Wrap) } @@ -50,7 +50,7 @@ impl HTMLLinkElement { impl<'a> VirtualMethods for JSRef<'a, HTMLLinkElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -60,7 +60,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLLinkElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "href" => node.set_enabled_state(true), _ => () @@ -73,7 +73,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLLinkElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "href" => node.set_enabled_state(false), _ => () @@ -87,7 +87,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLLinkElement> { } if tree_in_doc { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); // FIXME: workaround for https://github.com/mozilla/rust/issues/13246; // we get unrooting order failures if these are inside the match. @@ -119,7 +119,7 @@ trait PrivateHTMLLinkElementHelpers { impl<'a> PrivateHTMLLinkElementHelpers for JSRef<'a, HTMLLinkElement> { fn handle_stylesheet_url(&self, href: &str) { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); match UrlParser::new().base_url(&window.deref().page().get_url()).parse(href) { Ok(url) => { let LayoutChan(ref layout_chan) = *window.deref().page().layout_chan; diff --git a/components/script/dom/htmlmapelement.rs b/components/script/dom/htmlmapelement.rs index 3f2dfa381ee..f10f2cc25bf 100644 --- a/components/script/dom/htmlmapelement.rs +++ b/components/script/dom/htmlmapelement.rs @@ -26,14 +26,14 @@ impl HTMLMapElementDerived for EventTarget { } impl HTMLMapElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLMapElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLMapElement { HTMLMapElement { htmlelement: HTMLElement::new_inherited(HTMLMapElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLMapElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLMapElement> { let element = HTMLMapElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLMapElementBinding::Wrap) } diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 37aa5400429..fb47656db1a 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -29,7 +29,7 @@ impl HTMLMediaElementDerived for EventTarget { } impl HTMLMediaElement { - pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: &JSRef<Document>) -> HTMLMediaElement { + pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: JSRef<Document>) -> HTMLMediaElement { HTMLMediaElement { htmlelement: HTMLElement::new_inherited(type_id, tag_name, document) } diff --git a/components/script/dom/htmlmetaelement.rs b/components/script/dom/htmlmetaelement.rs index a8923db5cfc..176d4cbba3f 100644 --- a/components/script/dom/htmlmetaelement.rs +++ b/components/script/dom/htmlmetaelement.rs @@ -26,14 +26,14 @@ impl HTMLMetaElementDerived for EventTarget { } impl HTMLMetaElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLMetaElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLMetaElement { HTMLMetaElement { htmlelement: HTMLElement::new_inherited(HTMLMetaElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLMetaElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLMetaElement> { let element = HTMLMetaElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLMetaElementBinding::Wrap) } diff --git a/components/script/dom/htmlmeterelement.rs b/components/script/dom/htmlmeterelement.rs index 08495590d70..7cc41da9e18 100644 --- a/components/script/dom/htmlmeterelement.rs +++ b/components/script/dom/htmlmeterelement.rs @@ -26,14 +26,14 @@ impl HTMLMeterElementDerived for EventTarget { } impl HTMLMeterElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLMeterElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLMeterElement { HTMLMeterElement { htmlelement: HTMLElement::new_inherited(HTMLMeterElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLMeterElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLMeterElement> { let element = HTMLMeterElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLMeterElementBinding::Wrap) } diff --git a/components/script/dom/htmlmodelement.rs b/components/script/dom/htmlmodelement.rs index 8b2b837524c..9bef1905659 100644 --- a/components/script/dom/htmlmodelement.rs +++ b/components/script/dom/htmlmodelement.rs @@ -26,14 +26,14 @@ impl HTMLModElementDerived for EventTarget { } impl HTMLModElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLModElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLModElement { HTMLModElement { htmlelement: HTMLElement::new_inherited(HTMLModElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLModElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLModElement> { let element = HTMLModElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLModElementBinding::Wrap) } diff --git a/components/script/dom/htmlobjectelement.rs b/components/script/dom/htmlobjectelement.rs index a702916d40a..d8ed9116559 100644 --- a/components/script/dom/htmlobjectelement.rs +++ b/components/script/dom/htmlobjectelement.rs @@ -39,14 +39,14 @@ impl HTMLObjectElementDerived for EventTarget { } impl HTMLObjectElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLObjectElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLObjectElement { HTMLObjectElement { htmlelement: HTMLElement::new_inherited(HTMLObjectElementTypeId, localName, document), } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLObjectElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLObjectElement> { let element = HTMLObjectElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLObjectElementBinding::Wrap) } @@ -60,7 +60,7 @@ impl<'a> ProcessDataURL for JSRef<'a, HTMLObjectElement> { // Makes the local `data` member match the status of the `data` attribute and starts /// prefetching the image. This method must be called after `data` is changed. fn process_data_url(&self, image_cache: ImageCacheTask) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); // TODO: support other values match (elem.get_attribute(Null, "type").map(|x| x.root().Value()), @@ -84,14 +84,14 @@ pub fn is_image_data(uri: &str) -> bool { impl<'a> HTMLObjectElementMethods for JSRef<'a, HTMLObjectElement> { fn Validity(&self) -> Temporary<ValidityState> { - let window = window_from_node(self).root(); - ValidityState::new(&*window) + let window = window_from_node(*self).root(); + ValidityState::new(*window) } } impl<'a> VirtualMethods for JSRef<'a, HTMLObjectElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -102,7 +102,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLObjectElement> { } if "data" == name.as_slice() { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); self.process_data_url(window.deref().image_cache_task.clone()); } } diff --git a/components/script/dom/htmlolistelement.rs b/components/script/dom/htmlolistelement.rs index adb3441dd9a..c080dc239af 100644 --- a/components/script/dom/htmlolistelement.rs +++ b/components/script/dom/htmlolistelement.rs @@ -26,14 +26,14 @@ impl HTMLOListElementDerived for EventTarget { } impl HTMLOListElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLOListElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLOListElement { HTMLOListElement { htmlelement: HTMLElement::new_inherited(HTMLOListElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLOListElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLOListElement> { let element = HTMLOListElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLOListElementBinding::Wrap) } diff --git a/components/script/dom/htmloptgroupelement.rs b/components/script/dom/htmloptgroupelement.rs index ed9c61c760d..cd7649e0048 100644 --- a/components/script/dom/htmloptgroupelement.rs +++ b/components/script/dom/htmloptgroupelement.rs @@ -31,14 +31,14 @@ impl HTMLOptGroupElementDerived for EventTarget { } impl HTMLOptGroupElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLOptGroupElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLOptGroupElement { HTMLOptGroupElement { htmlelement: HTMLElement::new_inherited(HTMLOptGroupElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLOptGroupElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLOptGroupElement> { let element = HTMLOptGroupElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLOptGroupElementBinding::Wrap) } @@ -50,14 +50,14 @@ impl<'a> HTMLOptGroupElementMethods for JSRef<'a, HTMLOptGroupElement> { // http://www.whatwg.org/html#dom-optgroup-disabled fn SetDisabled(&self, disabled: bool) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_bool_attribute("disabled", disabled) } } impl<'a> VirtualMethods for JSRef<'a, HTMLOptGroupElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -67,7 +67,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptGroupElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(true); @@ -87,7 +87,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptGroupElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(false); diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs index 22548b0aacc..bb40b4c5b7c 100644 --- a/components/script/dom/htmloptionelement.rs +++ b/components/script/dom/htmloptionelement.rs @@ -31,14 +31,14 @@ impl HTMLOptionElementDerived for EventTarget { } impl HTMLOptionElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLOptionElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLOptionElement { HTMLOptionElement { htmlelement: HTMLElement::new_inherited(HTMLOptionElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLOptionElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLOptionElement> { let element = HTMLOptionElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLOptionElementBinding::Wrap) } @@ -50,14 +50,14 @@ impl<'a> HTMLOptionElementMethods for JSRef<'a, HTMLOptionElement> { // http://www.whatwg.org/html/#dom-option-disabled fn SetDisabled(&self, disabled: bool) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_bool_attribute("disabled", disabled) } } impl<'a> VirtualMethods for JSRef<'a, HTMLOptionElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -67,7 +67,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptionElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(true); @@ -83,7 +83,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptionElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(false); @@ -100,7 +100,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptionElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.check_parent_disabled_state_for_option(); } @@ -110,7 +110,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptionElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.parent_node().is_some() { node.check_parent_disabled_state_for_option(); } else { diff --git a/components/script/dom/htmloutputelement.rs b/components/script/dom/htmloutputelement.rs index 437ea192478..219a8ed227a 100644 --- a/components/script/dom/htmloutputelement.rs +++ b/components/script/dom/htmloutputelement.rs @@ -28,14 +28,14 @@ impl HTMLOutputElementDerived for EventTarget { } impl HTMLOutputElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLOutputElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLOutputElement { HTMLOutputElement { htmlelement: HTMLElement::new_inherited(HTMLOutputElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLOutputElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLOutputElement> { let element = HTMLOutputElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLOutputElementBinding::Wrap) } @@ -43,8 +43,8 @@ impl HTMLOutputElement { impl<'a> HTMLOutputElementMethods for JSRef<'a, HTMLOutputElement> { fn Validity(&self) -> Temporary<ValidityState> { - let window = window_from_node(self).root(); - ValidityState::new(&*window) + let window = window_from_node(*self).root(); + ValidityState::new(*window) } } diff --git a/components/script/dom/htmlparagraphelement.rs b/components/script/dom/htmlparagraphelement.rs index 9e51043e318..9a82d1af7d6 100644 --- a/components/script/dom/htmlparagraphelement.rs +++ b/components/script/dom/htmlparagraphelement.rs @@ -26,14 +26,14 @@ impl HTMLParagraphElementDerived for EventTarget { } impl HTMLParagraphElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLParagraphElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLParagraphElement { HTMLParagraphElement { htmlelement: HTMLElement::new_inherited(HTMLParagraphElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLParagraphElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLParagraphElement> { let element = HTMLParagraphElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLParagraphElementBinding::Wrap) } diff --git a/components/script/dom/htmlparamelement.rs b/components/script/dom/htmlparamelement.rs index fc44938f99d..fe2eb1a1dc0 100644 --- a/components/script/dom/htmlparamelement.rs +++ b/components/script/dom/htmlparamelement.rs @@ -26,14 +26,14 @@ impl HTMLParamElementDerived for EventTarget { } impl HTMLParamElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLParamElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLParamElement { HTMLParamElement { htmlelement: HTMLElement::new_inherited(HTMLParamElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLParamElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLParamElement> { let element = HTMLParamElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLParamElementBinding::Wrap) } diff --git a/components/script/dom/htmlpreelement.rs b/components/script/dom/htmlpreelement.rs index 18f80da3808..6f812897347 100644 --- a/components/script/dom/htmlpreelement.rs +++ b/components/script/dom/htmlpreelement.rs @@ -26,14 +26,14 @@ impl HTMLPreElementDerived for EventTarget { } impl HTMLPreElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLPreElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLPreElement { HTMLPreElement { htmlelement: HTMLElement::new_inherited(HTMLPreElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLPreElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLPreElement> { let element = HTMLPreElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLPreElementBinding::Wrap) } diff --git a/components/script/dom/htmlprogresselement.rs b/components/script/dom/htmlprogresselement.rs index b2e0d289efd..e67dff34610 100644 --- a/components/script/dom/htmlprogresselement.rs +++ b/components/script/dom/htmlprogresselement.rs @@ -26,14 +26,14 @@ impl HTMLProgressElementDerived for EventTarget { } impl HTMLProgressElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLProgressElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLProgressElement { HTMLProgressElement { htmlelement: HTMLElement::new_inherited(HTMLProgressElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLProgressElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLProgressElement> { let element = HTMLProgressElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLProgressElementBinding::Wrap) } diff --git a/components/script/dom/htmlquoteelement.rs b/components/script/dom/htmlquoteelement.rs index da8a7b72829..c4d9f5c000a 100644 --- a/components/script/dom/htmlquoteelement.rs +++ b/components/script/dom/htmlquoteelement.rs @@ -26,14 +26,14 @@ impl HTMLQuoteElementDerived for EventTarget { } impl HTMLQuoteElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLQuoteElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLQuoteElement { HTMLQuoteElement { htmlelement: HTMLElement::new_inherited(HTMLQuoteElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLQuoteElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLQuoteElement> { let element = HTMLQuoteElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLQuoteElementBinding::Wrap) } diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index 29cb155a984..43ba78176d1 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -32,14 +32,14 @@ impl HTMLScriptElementDerived for EventTarget { } impl HTMLScriptElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLScriptElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLScriptElement { HTMLScriptElement { htmlelement: HTMLElement::new_inherited(HTMLScriptElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLScriptElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLScriptElement> { let element = HTMLScriptElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLScriptElementBinding::Wrap) } @@ -74,7 +74,7 @@ static SCRIPT_JS_MIMES: StaticStringVec = &[ impl<'a> HTMLScriptElementHelpers for JSRef<'a, HTMLScriptElement> { fn is_javascript(&self) -> bool { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); match element.get_attribute(Null, "type").root().map(|s| s.Value()) { Some(ref s) if s.is_empty() => { // type attr exists, but empty means js @@ -108,19 +108,19 @@ impl<'a> HTMLScriptElementHelpers for JSRef<'a, HTMLScriptElement> { impl<'a> HTMLScriptElementMethods for JSRef<'a, HTMLScriptElement> { fn Src(&self) -> DOMString { - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.get_url_attribute("src") } // http://www.whatwg.org/html/#dom-script-text fn Text(&self) -> DOMString { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); Node::collect_text_contents(node.children()) } // http://www.whatwg.org/html/#dom-script-text fn SetText(&self, value: DOMString) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.SetTextContent(Some(value)) } } diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs index 66ca407966d..1d720ca8eb7 100644 --- a/components/script/dom/htmlselectelement.rs +++ b/components/script/dom/htmlselectelement.rs @@ -34,14 +34,14 @@ impl HTMLSelectElementDerived for EventTarget { } impl HTMLSelectElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLSelectElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLSelectElement { HTMLSelectElement { htmlelement: HTMLElement::new_inherited(HTMLSelectElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLSelectElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLSelectElement> { let element = HTMLSelectElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLSelectElementBinding::Wrap) } @@ -49,8 +49,8 @@ impl HTMLSelectElement { impl<'a> HTMLSelectElementMethods for JSRef<'a, HTMLSelectElement> { fn Validity(&self) -> Temporary<ValidityState> { - let window = window_from_node(self).root(); - ValidityState::new(&*window) + let window = window_from_node(*self).root(); + ValidityState::new(*window) } // Note: this function currently only exists for test_union.html. @@ -62,14 +62,14 @@ impl<'a> HTMLSelectElementMethods for JSRef<'a, HTMLSelectElement> { // http://www.whatwg.org/html/#dom-fe-disabled fn SetDisabled(&self, disabled: bool) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_bool_attribute("disabled", disabled) } } impl<'a> VirtualMethods for JSRef<'a, HTMLSelectElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -79,7 +79,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLSelectElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(true); @@ -95,7 +95,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLSelectElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(false); @@ -112,7 +112,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLSelectElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.check_ancestors_disabled_state_for_form_control(); } @@ -122,7 +122,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLSelectElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.ancestors().any(|ancestor| ancestor.is_htmlfieldsetelement()) { node.check_ancestors_disabled_state_for_form_control(); } else { diff --git a/components/script/dom/htmlserializer.rs b/components/script/dom/htmlserializer.rs index 3737b498bb1..d11871b89b9 100644 --- a/components/script/dom/htmlserializer.rs +++ b/components/script/dom/htmlserializer.rs @@ -34,24 +34,24 @@ pub fn serialize(iterator: &mut NodeIterator) -> String { } match node.type_id() { ElementNodeTypeId(..) => { - let elem: &JSRef<Element> = ElementCast::to_ref(&node).unwrap(); + let elem: JSRef<Element> = ElementCast::to_ref(node).unwrap(); serialize_elem(elem, &mut open_elements, &mut html) } CommentNodeTypeId => { - let comment: &JSRef<Comment> = CommentCast::to_ref(&node).unwrap(); + let comment: JSRef<Comment> = CommentCast::to_ref(node).unwrap(); serialize_comment(comment, &mut html) } TextNodeTypeId => { - let text: &JSRef<Text> = TextCast::to_ref(&node).unwrap(); + let text: JSRef<Text> = TextCast::to_ref(node).unwrap(); serialize_text(text, &mut html) } DoctypeNodeTypeId => { - let doctype: &JSRef<DocumentType> = DocumentTypeCast::to_ref(&node).unwrap(); + let doctype: JSRef<DocumentType> = DocumentTypeCast::to_ref(node).unwrap(); serialize_doctype(doctype, &mut html) } ProcessingInstructionNodeTypeId => { - let processing_instruction: &JSRef<ProcessingInstruction> = - ProcessingInstructionCast::to_ref(&node).unwrap(); + let processing_instruction: JSRef<ProcessingInstruction> = + ProcessingInstructionCast::to_ref(node).unwrap(); serialize_processing_instruction(processing_instruction, &mut html) } DocumentFragmentNodeTypeId => {} @@ -68,17 +68,17 @@ pub fn serialize(iterator: &mut NodeIterator) -> String { html } -fn serialize_comment(comment: &JSRef<Comment>, html: &mut String) { +fn serialize_comment(comment: JSRef<Comment>, html: &mut String) { html.push_str("<!--"); html.push_str(comment.deref().characterdata.data.deref().borrow().as_slice()); html.push_str("-->"); } -fn serialize_text(text: &JSRef<Text>, html: &mut String) { - let text_node: &JSRef<Node> = NodeCast::from_ref(text); +fn serialize_text(text: JSRef<Text>, html: &mut String) { + let text_node: JSRef<Node> = NodeCast::from_ref(text); match text_node.parent_node().map(|node| node.root()) { Some(ref parent) if parent.is_element() => { - let elem: &JSRef<Element> = ElementCast::to_ref(&**parent).unwrap(); + let elem: JSRef<Element> = ElementCast::to_ref(**parent).unwrap(); match elem.deref().local_name.as_slice() { "style" | "script" | "xmp" | "iframe" | "noembed" | "noframes" | "plaintext" | @@ -91,7 +91,7 @@ fn serialize_text(text: &JSRef<Text>, html: &mut String) { } } -fn serialize_processing_instruction(processing_instruction: &JSRef<ProcessingInstruction>, +fn serialize_processing_instruction(processing_instruction: JSRef<ProcessingInstruction>, html: &mut String) { html.push_str("<?"); html.push_str(processing_instruction.deref().target.as_slice()); @@ -100,27 +100,27 @@ fn serialize_processing_instruction(processing_instruction: &JSRef<ProcessingIns html.push_str("?>"); } -fn serialize_doctype(doctype: &JSRef<DocumentType>, html: &mut String) { +fn serialize_doctype(doctype: JSRef<DocumentType>, html: &mut String) { html.push_str("<!DOCTYPE"); html.push_str(doctype.deref().name.as_slice()); html.push_char('>'); } -fn serialize_elem(elem: &JSRef<Element>, open_elements: &mut Vec<String>, html: &mut String) { +fn serialize_elem(elem: JSRef<Element>, open_elements: &mut Vec<String>, html: &mut String) { html.push_char('<'); html.push_str(elem.deref().local_name.as_slice()); for attr in elem.deref().attrs.borrow().iter() { let attr = attr.root(); - serialize_attr(&*attr, html); + serialize_attr(*attr, html); }; html.push_char('>'); match elem.deref().local_name.as_slice() { "pre" | "listing" | "textarea" if elem.deref().namespace == namespace::HTML => { - let node: &JSRef<Node> = NodeCast::from_ref(elem); + let node: JSRef<Node> = NodeCast::from_ref(elem); match node.first_child().map(|child| child.root()) { Some(ref child) if child.is_text() => { - let text: &JSRef<CharacterData> = CharacterDataCast::to_ref(&**child).unwrap(); + let text: JSRef<CharacterData> = CharacterDataCast::to_ref(**child).unwrap(); if text.deref().data.deref().borrow().len() > 0 && text.deref().data.deref().borrow().as_slice().char_at(0) == '\n' { html.push_char('\x0A'); } @@ -136,7 +136,7 @@ fn serialize_elem(elem: &JSRef<Element>, open_elements: &mut Vec<String>, html: } } -fn serialize_attr(attr: &JSRef<Attr>, html: &mut String) { +fn serialize_attr(attr: JSRef<Attr>, html: &mut String) { html.push_char(' '); if attr.deref().namespace == namespace::XML { html.push_str("xml:"); diff --git a/components/script/dom/htmlsourceelement.rs b/components/script/dom/htmlsourceelement.rs index 8936d9834f5..9577279baba 100644 --- a/components/script/dom/htmlsourceelement.rs +++ b/components/script/dom/htmlsourceelement.rs @@ -26,14 +26,14 @@ impl HTMLSourceElementDerived for EventTarget { } impl HTMLSourceElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLSourceElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLSourceElement { HTMLSourceElement { htmlelement: HTMLElement::new_inherited(HTMLSourceElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLSourceElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLSourceElement> { let element = HTMLSourceElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLSourceElementBinding::Wrap) } diff --git a/components/script/dom/htmlspanelement.rs b/components/script/dom/htmlspanelement.rs index dc755096bb7..6d02b5b9d48 100644 --- a/components/script/dom/htmlspanelement.rs +++ b/components/script/dom/htmlspanelement.rs @@ -26,14 +26,14 @@ impl HTMLSpanElementDerived for EventTarget { } impl HTMLSpanElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLSpanElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLSpanElement { HTMLSpanElement { htmlelement: HTMLElement::new_inherited(HTMLSpanElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLSpanElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLSpanElement> { let element = HTMLSpanElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLSpanElementBinding::Wrap) } diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs index d968c3bc6ee..52ccfde5488 100644 --- a/components/script/dom/htmlstyleelement.rs +++ b/components/script/dom/htmlstyleelement.rs @@ -30,14 +30,14 @@ impl HTMLStyleElementDerived for EventTarget { } impl HTMLStyleElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLStyleElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLStyleElement { HTMLStyleElement { htmlelement: HTMLElement::new_inherited(HTMLStyleElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLStyleElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLStyleElement> { let element = HTMLStyleElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLStyleElementBinding::Wrap) } @@ -49,7 +49,7 @@ pub trait StyleElementHelpers { impl<'a> StyleElementHelpers for JSRef<'a, HTMLStyleElement> { fn parse_own_css(&self) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); assert!(node.is_in_doc()); let win = window_from_node(node).root(); @@ -64,17 +64,17 @@ impl<'a> StyleElementHelpers for JSRef<'a, HTMLStyleElement> { impl<'a> VirtualMethods for JSRef<'a, HTMLStyleElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } - fn child_inserted(&self, child: &JSRef<Node>) { + fn child_inserted(&self, child: JSRef<Node>) { match self.super_type() { Some(ref s) => s.child_inserted(child), _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.is_in_doc() { self.parse_own_css(); } diff --git a/components/script/dom/htmltablecaptionelement.rs b/components/script/dom/htmltablecaptionelement.rs index 3797896de92..2aa7ce1f7db 100644 --- a/components/script/dom/htmltablecaptionelement.rs +++ b/components/script/dom/htmltablecaptionelement.rs @@ -26,14 +26,14 @@ impl HTMLTableCaptionElementDerived for EventTarget { } impl HTMLTableCaptionElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableCaptionElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTableCaptionElement { HTMLTableCaptionElement { htmlelement: HTMLElement::new_inherited(HTMLTableCaptionElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableCaptionElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTableCaptionElement> { let element = HTMLTableCaptionElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTableCaptionElementBinding::Wrap) } diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index 269f09fda57..2271f6659a4 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -29,7 +29,7 @@ impl HTMLTableCellElementDerived for EventTarget { } impl HTMLTableCellElement { - pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: &JSRef<Document>) -> HTMLTableCellElement { + pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: JSRef<Document>) -> HTMLTableCellElement { HTMLTableCellElement { htmlelement: HTMLElement::new_inherited(type_id, tag_name, document) } diff --git a/components/script/dom/htmltablecolelement.rs b/components/script/dom/htmltablecolelement.rs index 3ddc5fe50f5..4429f648807 100644 --- a/components/script/dom/htmltablecolelement.rs +++ b/components/script/dom/htmltablecolelement.rs @@ -26,14 +26,14 @@ impl HTMLTableColElementDerived for EventTarget { } impl HTMLTableColElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableColElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTableColElement { HTMLTableColElement { htmlelement: HTMLElement::new_inherited(HTMLTableColElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableColElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTableColElement> { let element = HTMLTableColElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTableColElementBinding::Wrap) } diff --git a/components/script/dom/htmltabledatacellelement.rs b/components/script/dom/htmltabledatacellelement.rs index 9ab9ad21693..fd1a7096f3b 100644 --- a/components/script/dom/htmltabledatacellelement.rs +++ b/components/script/dom/htmltabledatacellelement.rs @@ -26,14 +26,14 @@ impl HTMLTableDataCellElementDerived for EventTarget { } impl HTMLTableDataCellElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableDataCellElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTableDataCellElement { HTMLTableDataCellElement { htmltablecellelement: HTMLTableCellElement::new_inherited(HTMLTableDataCellElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableDataCellElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTableDataCellElement> { let element = HTMLTableDataCellElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTableDataCellElementBinding::Wrap) } diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs index 9d1200f6e48..09c0bf8c886 100644 --- a/components/script/dom/htmltableelement.rs +++ b/components/script/dom/htmltableelement.rs @@ -30,14 +30,14 @@ impl HTMLTableElementDerived for EventTarget { } impl HTMLTableElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTableElement { HTMLTableElement { htmlelement: HTMLElement::new_inherited(HTMLTableElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTableElement> { let element = HTMLTableElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTableElementBinding::Wrap) } @@ -53,30 +53,30 @@ impl<'a> HTMLTableElementMethods for JSRef<'a, HTMLTableElement> { // http://www.whatwg.org/html/#dom-table-caption fn GetCaption(&self) -> Option<Temporary<HTMLTableCaptionElement>> { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.children().find(|child| { child.type_id() == ElementNodeTypeId(HTMLTableCaptionElementTypeId) }).map(|node| { - Temporary::from_rooted(HTMLTableCaptionElementCast::to_ref(&node).unwrap()) + Temporary::from_rooted(HTMLTableCaptionElementCast::to_ref(node).unwrap()) }) } // http://www.whatwg.org/html/#dom-table-caption fn SetCaption(&self, new_caption: Option<JSRef<HTMLTableCaptionElement>>) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); let old_caption = self.GetCaption(); match old_caption { Some(htmlelem) => { let htmlelem_jsref = &*htmlelem.root(); - let old_caption_node: &JSRef<Node> = NodeCast::from_ref(htmlelem_jsref); + let old_caption_node: JSRef<Node> = NodeCast::from_ref(*htmlelem_jsref); assert!(node.RemoveChild(old_caption_node).is_ok()); } None => () } new_caption.map(|caption| { - let new_caption_node: &JSRef<Node> = NodeCast::from_ref(&caption); + let new_caption_node: JSRef<Node> = NodeCast::from_ref(caption); assert!(node.AppendChild(new_caption_node).is_ok()); }); } diff --git a/components/script/dom/htmltableheadercellelement.rs b/components/script/dom/htmltableheadercellelement.rs index 8dd16bd2da2..410ff03e2db 100644 --- a/components/script/dom/htmltableheadercellelement.rs +++ b/components/script/dom/htmltableheadercellelement.rs @@ -26,14 +26,14 @@ impl HTMLTableHeaderCellElementDerived for EventTarget { } impl HTMLTableHeaderCellElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableHeaderCellElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTableHeaderCellElement { HTMLTableHeaderCellElement { htmltablecellelement: HTMLTableCellElement::new_inherited(HTMLTableHeaderCellElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableHeaderCellElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTableHeaderCellElement> { let element = HTMLTableHeaderCellElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTableHeaderCellElementBinding::Wrap) } diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs index c93d4a30413..b36b343cff4 100644 --- a/components/script/dom/htmltablerowelement.rs +++ b/components/script/dom/htmltablerowelement.rs @@ -26,14 +26,14 @@ impl HTMLTableRowElementDerived for EventTarget { } impl HTMLTableRowElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableRowElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTableRowElement { HTMLTableRowElement { htmlelement: HTMLElement::new_inherited(HTMLTableRowElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableRowElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTableRowElement> { let element = HTMLTableRowElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTableRowElementBinding::Wrap) } diff --git a/components/script/dom/htmltablesectionelement.rs b/components/script/dom/htmltablesectionelement.rs index 51bc49ed1ea..78a7070d237 100644 --- a/components/script/dom/htmltablesectionelement.rs +++ b/components/script/dom/htmltablesectionelement.rs @@ -26,14 +26,14 @@ impl HTMLTableSectionElementDerived for EventTarget { } impl HTMLTableSectionElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableSectionElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTableSectionElement { HTMLTableSectionElement { htmlelement: HTMLElement::new_inherited(HTMLTableSectionElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableSectionElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTableSectionElement> { let element = HTMLTableSectionElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTableSectionElementBinding::Wrap) } diff --git a/components/script/dom/htmltemplateelement.rs b/components/script/dom/htmltemplateelement.rs index ded7b61e096..999de1f64af 100644 --- a/components/script/dom/htmltemplateelement.rs +++ b/components/script/dom/htmltemplateelement.rs @@ -26,14 +26,14 @@ impl HTMLTemplateElementDerived for EventTarget { } impl HTMLTemplateElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTemplateElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTemplateElement { HTMLTemplateElement { htmlelement: HTMLElement::new_inherited(HTMLTemplateElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTemplateElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTemplateElement> { let element = HTMLTemplateElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTemplateElementBinding::Wrap) } diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index 7d16a6638f8..47d4b2c0e4b 100644 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -31,14 +31,14 @@ impl HTMLTextAreaElementDerived for EventTarget { } impl HTMLTextAreaElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTextAreaElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTextAreaElement { HTMLTextAreaElement { htmlelement: HTMLElement::new_inherited(HTMLTextAreaElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTextAreaElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTextAreaElement> { let element = HTMLTextAreaElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTextAreaElementBinding::Wrap) } @@ -50,14 +50,14 @@ impl<'a> HTMLTextAreaElementMethods for JSRef<'a, HTMLTextAreaElement> { // http://www.whatwg.org/html/#dom-fe-disabled fn SetDisabled(&self, disabled: bool) { - let elem: &JSRef<Element> = ElementCast::from_ref(self); + let elem: JSRef<Element> = ElementCast::from_ref(*self); elem.set_bool_attribute("disabled", disabled) } } impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_ref(self); + let htmlelement: &JSRef<HTMLElement> = HTMLElementCast::from_borrowed_ref(self); Some(htmlelement as &VirtualMethods) } @@ -67,7 +67,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(true); @@ -83,7 +83,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); match name.as_slice() { "disabled" => { node.set_disabled_state(false); @@ -100,7 +100,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.check_ancestors_disabled_state_for_form_control(); } @@ -110,7 +110,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> { _ => (), } - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); if node.ancestors().any(|ancestor| ancestor.is_htmlfieldsetelement()) { node.check_ancestors_disabled_state_for_form_control(); } else { diff --git a/components/script/dom/htmltimeelement.rs b/components/script/dom/htmltimeelement.rs index 7847ba3c17e..04d813e6e13 100644 --- a/components/script/dom/htmltimeelement.rs +++ b/components/script/dom/htmltimeelement.rs @@ -26,14 +26,14 @@ impl HTMLTimeElementDerived for EventTarget { } impl HTMLTimeElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTimeElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTimeElement { HTMLTimeElement { htmlelement: HTMLElement::new_inherited(HTMLTimeElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTimeElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTimeElement> { let element = HTMLTimeElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTimeElementBinding::Wrap) } diff --git a/components/script/dom/htmltitleelement.rs b/components/script/dom/htmltitleelement.rs index 41ee2fb362c..7f4a3bbeda6 100644 --- a/components/script/dom/htmltitleelement.rs +++ b/components/script/dom/htmltitleelement.rs @@ -29,14 +29,14 @@ impl HTMLTitleElementDerived for EventTarget { } impl HTMLTitleElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTitleElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTitleElement { HTMLTitleElement { htmlelement: HTMLElement::new_inherited(HTMLTitleElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTitleElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTitleElement> { let element = HTMLTitleElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTitleElementBinding::Wrap) } @@ -45,10 +45,10 @@ impl HTMLTitleElement { impl<'a> HTMLTitleElementMethods for JSRef<'a, HTMLTitleElement> { // http://www.whatwg.org/html/#dom-title-text fn Text(&self) -> DOMString { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); let mut content = String::new(); for child in node.children() { - let text: Option<&JSRef<Text>> = TextCast::to_ref(&child); + let text: Option<JSRef<Text>> = TextCast::to_ref(child); match text { Some(text) => content.push_str(text.characterdata.data.borrow().as_slice()), None => (), @@ -59,7 +59,7 @@ impl<'a> HTMLTitleElementMethods for JSRef<'a, HTMLTitleElement> { // http://www.whatwg.org/html/#dom-title-text fn SetText(&self, value: DOMString) { - let node: &JSRef<Node> = NodeCast::from_ref(self); + let node: JSRef<Node> = NodeCast::from_ref(*self); node.SetTextContent(Some(value)) } } diff --git a/components/script/dom/htmltrackelement.rs b/components/script/dom/htmltrackelement.rs index f0902e8d9de..53d15d264ac 100644 --- a/components/script/dom/htmltrackelement.rs +++ b/components/script/dom/htmltrackelement.rs @@ -26,14 +26,14 @@ impl HTMLTrackElementDerived for EventTarget { } impl HTMLTrackElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTrackElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLTrackElement { HTMLTrackElement { htmlelement: HTMLElement::new_inherited(HTMLTrackElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTrackElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLTrackElement> { let element = HTMLTrackElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLTrackElementBinding::Wrap) } diff --git a/components/script/dom/htmlulistelement.rs b/components/script/dom/htmlulistelement.rs index 6b20824522e..3d1baaae352 100644 --- a/components/script/dom/htmlulistelement.rs +++ b/components/script/dom/htmlulistelement.rs @@ -26,14 +26,14 @@ impl HTMLUListElementDerived for EventTarget { } impl HTMLUListElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLUListElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLUListElement { HTMLUListElement { htmlelement: HTMLElement::new_inherited(HTMLUListElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLUListElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLUListElement> { let element = HTMLUListElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLUListElementBinding::Wrap) } diff --git a/components/script/dom/htmlunknownelement.rs b/components/script/dom/htmlunknownelement.rs index f087e3c2cbf..d056e7e1f27 100644 --- a/components/script/dom/htmlunknownelement.rs +++ b/components/script/dom/htmlunknownelement.rs @@ -26,14 +26,14 @@ impl HTMLUnknownElementDerived for EventTarget { } impl HTMLUnknownElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLUnknownElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLUnknownElement { HTMLUnknownElement { htmlelement: HTMLElement::new_inherited(HTMLUnknownElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLUnknownElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLUnknownElement> { let element = HTMLUnknownElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLUnknownElementBinding::Wrap) } diff --git a/components/script/dom/htmlvideoelement.rs b/components/script/dom/htmlvideoelement.rs index bd4ca20a6f7..ab7dd96ca82 100644 --- a/components/script/dom/htmlvideoelement.rs +++ b/components/script/dom/htmlvideoelement.rs @@ -26,14 +26,14 @@ impl HTMLVideoElementDerived for EventTarget { } impl HTMLVideoElement { - pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLVideoElement { + pub fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLVideoElement { HTMLVideoElement { htmlmediaelement: HTMLMediaElement::new_inherited(HTMLVideoElementTypeId, localName, document) } } #[allow(unrooted_must_root)] - pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLVideoElement> { + pub fn new(localName: DOMString, document: JSRef<Document>) -> Temporary<HTMLVideoElement> { let element = HTMLVideoElement::new_inherited(localName, document); Node::reflect_node(box element, document, HTMLVideoElementBinding::Wrap) } diff --git a/components/script/dom/location.rs b/components/script/dom/location.rs index 0a1f6fd842f..4a435a26b4d 100644 --- a/components/script/dom/location.rs +++ b/components/script/dom/location.rs @@ -29,9 +29,9 @@ impl Location { } } - pub fn new(window: &JSRef<Window>, page: Rc<Page>) -> Temporary<Location> { + pub fn new(window: JSRef<Window>, page: Rc<Page>) -> Temporary<Location> { reflect_dom_object(box Location::new_inherited(page), - &Window(*window), + &Window(window), LocationBinding::Wrap) } } diff --git a/components/script/dom/macros.rs b/components/script/dom/macros.rs index 6cfca77593d..20eb2afea16 100644 --- a/components/script/dom/macros.rs +++ b/components/script/dom/macros.rs @@ -11,7 +11,7 @@ macro_rules! make_getter( use dom::element::{Element, AttributeHandlers}; use dom::bindings::codegen::InheritTypes::ElementCast; use std::ascii::StrAsciiExt; - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.get_string_attribute(stringify!($attr).to_ascii_lower().as_slice()) } ); @@ -24,7 +24,7 @@ macro_rules! make_bool_getter( use dom::element::{Element, AttributeHandlers}; use dom::bindings::codegen::InheritTypes::ElementCast; use std::ascii::StrAsciiExt; - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.has_attribute(stringify!($attr).to_ascii_lower().as_slice()) } ); @@ -37,7 +37,7 @@ macro_rules! make_uint_getter( use dom::element::{Element, AttributeHandlers}; use dom::bindings::codegen::InheritTypes::ElementCast; use std::ascii::StrAsciiExt; - let element: &JSRef<Element> = ElementCast::from_ref(self); + let element: JSRef<Element> = ElementCast::from_ref(*self); element.get_uint_attribute(stringify!($attr).to_ascii_lower().as_slice()) } ); diff --git a/components/script/dom/messageevent.rs b/components/script/dom/messageevent.rs index 9b6ab748256..50115176f60 100644 --- a/components/script/dom/messageevent.rs +++ b/components/script/dom/messageevent.rs @@ -52,9 +52,9 @@ impl MessageEvent { let ev = reflect_dom_object(box MessageEvent::new_inherited(data, origin, lastEventId), global, MessageEventBinding::Wrap).root(); - let event: &JSRef<Event> = EventCast::from_ref(&*ev); + let event: JSRef<Event> = EventCast::from_ref(*ev); event.InitEvent(type_, bubbles, cancelable); - Temporary::from_rooted(&*ev) + Temporary::from_rooted(*ev) } pub fn Constructor(global: &GlobalRef, @@ -68,14 +68,14 @@ impl MessageEvent { } impl MessageEvent { - pub fn dispatch_jsval(target: &JSRef<EventTarget>, + pub fn dispatch_jsval(target: JSRef<EventTarget>, scope: &GlobalRef, message: JSVal) { let messageevent = MessageEvent::new( scope, "message".to_string(), false, false, message, "".to_string(), "".to_string()).root(); - let event: &JSRef<Event> = EventCast::from_ref(&*messageevent); - target.dispatch_event_with_target(None, &*event).unwrap(); + let event: JSRef<Event> = EventCast::from_ref(*messageevent); + target.dispatch_event_with_target(None, event).unwrap(); } } diff --git a/components/script/dom/mouseevent.rs b/components/script/dom/mouseevent.rs index f214f6de684..ba6253e028d 100644 --- a/components/script/dom/mouseevent.rs +++ b/components/script/dom/mouseevent.rs @@ -57,13 +57,13 @@ impl MouseEvent { } } - pub fn new_uninitialized(window: &JSRef<Window>) -> Temporary<MouseEvent> { + pub fn new_uninitialized(window: JSRef<Window>) -> Temporary<MouseEvent> { reflect_dom_object(box MouseEvent::new_inherited(), - &Window(*window), + &Window(window), MouseEventBinding::Wrap) } - pub fn new(window: &JSRef<Window>, + pub fn new(window: JSRef<Window>, type_: DOMString, canBubble: bool, cancelable: bool, @@ -84,7 +84,7 @@ impl MouseEvent { screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget); - Temporary::from_rooted(&*ev) + Temporary::from_rooted(*ev) } pub fn Constructor(global: &GlobalRef, @@ -160,7 +160,7 @@ impl<'a> MouseEventMethods for JSRef<'a, MouseEvent> { metaKeyArg: bool, buttonArg: i16, relatedTargetArg: Option<JSRef<EventTarget>>) { - let uievent: &JSRef<UIEvent> = UIEventCast::from_ref(self); + let uievent: JSRef<UIEvent> = UIEventCast::from_ref(*self); uievent.InitUIEvent(typeArg, canBubbleArg, cancelableArg, viewArg, detailArg); self.screen_x.deref().set(screenXArg); self.screen_y.deref().set(screenYArg); diff --git a/components/script/dom/namednodemap.rs b/components/script/dom/namednodemap.rs index 6faf74aa564..d6b3c4f9e59 100644 --- a/components/script/dom/namednodemap.rs +++ b/components/script/dom/namednodemap.rs @@ -19,16 +19,16 @@ pub struct NamedNodeMap { } impl NamedNodeMap { - pub fn new_inherited(elem: &JSRef<Element>) -> NamedNodeMap { + pub fn new_inherited(elem: JSRef<Element>) -> NamedNodeMap { NamedNodeMap { reflector_: Reflector::new(), owner: JS::from_rooted(elem), } } - pub fn new(window: &JSRef<Window>, elem: &JSRef<Element>) -> Temporary<NamedNodeMap> { + pub fn new(window: JSRef<Window>, elem: JSRef<Element>) -> Temporary<NamedNodeMap> { reflect_dom_object(box NamedNodeMap::new_inherited(elem), - &Window(*window), NamedNodeMapBinding::Wrap) + &Window(window), NamedNodeMapBinding::Wrap) } } diff --git a/components/script/dom/navigator.rs b/components/script/dom/navigator.rs index 12ac99ec2cd..b4a0d98de0c 100644 --- a/components/script/dom/navigator.rs +++ b/components/script/dom/navigator.rs @@ -23,9 +23,9 @@ impl Navigator { } } - pub fn new(window: &JSRef<Window>) -> Temporary<Navigator> { + pub fn new(window: JSRef<Window>) -> Temporary<Navigator> { reflect_dom_object(box Navigator::new_inherited(), - &Window(*window), + &Window(window), NavigatorBinding::Wrap) } } diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 608fdcad118..bafce1aaf25 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -257,15 +257,15 @@ pub enum NodeTypeId { trait PrivateNodeHelpers { fn node_inserted(&self); fn node_removed(&self, parent_in_doc: bool); - fn add_child(&self, new_child: &JSRef<Node>, before: Option<JSRef<Node>>); - fn remove_child(&self, child: &JSRef<Node>); + fn add_child(&self, new_child: JSRef<Node>, before: Option<JSRef<Node>>); + fn remove_child(&self, child: JSRef<Node>); } impl<'a> PrivateNodeHelpers for JSRef<'a, Node> { // http://dom.spec.whatwg.org/#node-is-inserted fn node_inserted(&self) { assert!(self.parent_node().is_some()); - let document = document_from_node(self).root(); + let document = document_from_node(*self).root(); let is_in_doc = self.is_in_doc(); for node in self.traverse_preorder() { @@ -273,7 +273,7 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> { } let parent = self.parent_node().root(); - parent.map(|parent| vtable_for(&*parent).child_inserted(self)); + parent.map(|parent| vtable_for(&*parent).child_inserted(*self)); document.deref().content_changed(); } @@ -281,7 +281,7 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> { // http://dom.spec.whatwg.org/#node-is-removed fn node_removed(&self, parent_in_doc: bool) { assert!(self.parent_node().is_none()); - let document = document_from_node(self).root(); + let document = document_from_node(*self).root(); for node in self.traverse_preorder() { vtable_for(&node).unbind_from_tree(parent_in_doc); @@ -297,7 +297,7 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> { /// Adds a new child to the end of this node's list of children. /// /// Fails unless `new_child` is disconnected from the tree. - fn add_child(&self, new_child: &JSRef<Node>, before: Option<JSRef<Node>>) { + fn add_child(&self, new_child: JSRef<Node>, before: Option<JSRef<Node>>) { let doc = self.owner_doc().root(); doc.deref().wait_until_safe_to_modify_dom(); @@ -310,27 +310,27 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> { match before.prev_sibling().root() { None => { assert!(Some(*before) == self.first_child().root().root_ref()); - self.first_child.assign(Some(*new_child)); + self.first_child.assign(Some(new_child)); }, - Some(ref prev_sibling) => { - prev_sibling.next_sibling.assign(Some(*new_child)); - new_child.prev_sibling.assign(Some(**prev_sibling)); + Some(prev_sibling) => { + prev_sibling.next_sibling.assign(Some(new_child)); + new_child.prev_sibling.assign(Some(*prev_sibling)); }, } - before.prev_sibling.assign(Some(*new_child)); + before.prev_sibling.assign(Some(new_child)); new_child.next_sibling.assign(Some(*before)); }, None => { match self.last_child().root() { - None => self.first_child.assign(Some(*new_child)), - Some(ref last_child) => { + None => self.first_child.assign(Some(new_child)), + Some(last_child) => { assert!(last_child.next_sibling().is_none()); - last_child.next_sibling.assign(Some(*new_child)); - new_child.prev_sibling.assign(Some(**last_child)); + last_child.next_sibling.assign(Some(new_child)); + new_child.prev_sibling.assign(Some(*last_child)); } } - self.last_child.assign(Some(*new_child)); + self.last_child.assign(Some(new_child)); }, } @@ -340,7 +340,7 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> { /// Removes the given child from this node's list of children. /// /// Fails unless `child` is a child of this node. - fn remove_child(&self, child: &JSRef<Node>) { + fn remove_child(&self, child: JSRef<Node>) { let doc = self.owner_doc().root(); doc.deref().wait_until_safe_to_modify_dom(); @@ -350,7 +350,7 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> { None => { self.first_child.assign(child.next_sibling.get()); } - Some(ref prev_sibling) => { + Some(prev_sibling) => { prev_sibling.next_sibling.assign(child.next_sibling.get()); } } @@ -359,7 +359,7 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> { None => { self.last_child.assign(child.prev_sibling.get()); } - Some(ref next_sibling) => { + Some(next_sibling) => { next_sibling.prev_sibling.assign(child.prev_sibling.get()); } } @@ -376,8 +376,8 @@ pub trait NodeHelpers<'m, 'n> { fn child_elements(&self) -> ChildElementIterator<'m, 'n>; fn following_siblings(&self) -> AbstractNodeChildrenIterator<'n>; fn is_in_doc(&self) -> bool; - fn is_inclusive_ancestor_of(&self, parent: &JSRef<Node>) -> bool; - fn is_parent_of(&self, child: &JSRef<Node>) -> bool; + fn is_inclusive_ancestor_of(&self, parent: JSRef<Node>) -> bool; + fn is_parent_of(&self, child: JSRef<Node>) -> bool; fn type_id(&self) -> NodeTypeId; @@ -388,7 +388,7 @@ pub trait NodeHelpers<'m, 'n> { fn next_sibling(&self) -> Option<Temporary<Node>>; fn owner_doc(&self) -> Temporary<Document>; - fn set_owner_doc(&self, document: &JSRef<Document>); + fn set_owner_doc(&self, document: JSRef<Document>); fn is_in_html_doc(&self) -> bool; fn wait_until_safe_to_modify_dom(&self); @@ -555,14 +555,14 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { /// Iterates over this node and all its descendants, in preorder. fn traverse_preorder(&self) -> TreeIterator<'n> { let mut nodes = vec!(); - gather_abstract_nodes(self, &mut nodes, false); + gather_abstract_nodes(*self, &mut nodes, false); TreeIterator::new(nodes) } /// Iterates over this node and all its descendants, in postorder. fn sequential_traverse_postorder(&self) -> TreeIterator<'n> { let mut nodes = vec!(); - gather_abstract_nodes(self, &mut nodes, true); + gather_abstract_nodes(*self, &mut nodes, true); TreeIterator::new(nodes) } @@ -572,8 +572,8 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { } } - fn is_inclusive_ancestor_of(&self, parent: &JSRef<Node>) -> bool { - self == parent || parent.ancestors().any(|ancestor| &ancestor == self) + fn is_inclusive_ancestor_of(&self, parent: JSRef<Node>) -> bool { + *self == parent || parent.ancestors().any(|ancestor| &ancestor == self) } fn following_siblings(&self) -> AbstractNodeChildrenIterator<'n> { @@ -582,9 +582,9 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { } } - fn is_parent_of(&self, child: &JSRef<Node>) -> bool { + fn is_parent_of(&self, child: JSRef<Node>) -> bool { match child.parent_node() { - Some(ref parent) if *parent == Temporary::from_rooted(self) => true, + Some(parent) if parent == Temporary::from_rooted(*self) => true, _ => false } } @@ -594,7 +594,7 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { } fn get_bounding_content_box(&self) -> Rect<Au> { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); let page = window.deref().page(); let addr = self.to_trusted_node_address(); @@ -603,7 +603,7 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { } fn get_content_boxes(&self) -> Vec<Rect<Au>> { - let window = window_from_node(self).root(); + let window = window_from_node(*self).root(); let page = window.deref().page(); let addr = self.to_trusted_node_address(); let ContentBoxesResponse(rects) = page.layout().content_boxes(addr); @@ -621,7 +621,7 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { let root = self.ancestors().last().unwrap_or(self.clone()); for node in root.traverse_preorder() { if node.is_element() && matches(selectors, &node, &mut None) { - let elem: &JSRef<Element> = ElementCast::to_ref(&node).unwrap(); + let elem: JSRef<Element> = ElementCast::to_ref(node).unwrap(); return Ok(Some(Temporary::from_rooted(elem))); } } @@ -646,8 +646,8 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { |node| node.is_element() && matches(selectors, node, &mut None)).collect() } } - let window = window_from_node(self).root(); - Ok(NodeList::new_simple_list(&window.root_ref(), nodes)) + let window = window_from_node(*self).root(); + Ok(NodeList::new_simple_list(*window, nodes)) } fn ancestors(&self) -> AncestorIterator<'n> { @@ -660,7 +660,7 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { Temporary::new(self.owner_doc.get().get_ref().clone()) } - fn set_owner_doc(&self, document: &JSRef<Document>) { + fn set_owner_doc(&self, document: JSRef<Document>) { self.owner_doc.assign(Some(document.clone())); } @@ -680,7 +680,7 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { node.is_element() }) .map(|node| { - let elem: &JSRef<Element> = ElementCast::to_ref(&node).unwrap(); + let elem: JSRef<Element> = ElementCast::to_ref(node).unwrap(); elem.clone() }) } @@ -692,7 +692,7 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { fn remove_self(&self) { match self.parent_node().root() { - Some(ref parent) => parent.remove_child(self), + Some(parent) => parent.remove_child(*self), None => () } } @@ -722,7 +722,7 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { systemId: "".to_string(), attrs: if self.is_element() { - let elem: &JSRef<Element> = ElementCast::to_ref(self).unwrap(); + let elem: JSRef<Element> = ElementCast::to_ref(*self).unwrap(); elem.summarize() } else { vec!() @@ -731,7 +731,7 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> { isDocumentElement: self.owner_doc().root() .GetDocumentElement() - .map(|elem| NodeCast::from_ref(&*elem.root()) == self) + .map(|elem| NodeCast::from_ref(*elem.root()) == *self) .unwrap_or(false), shortValue: self.GetNodeValue().unwrap_or("".to_string()), //FIXME: truncate @@ -914,7 +914,7 @@ pub struct NodeIterator { } impl NodeIterator { - pub fn new<'a>(start_node: &JSRef<'a, Node>, + pub fn new<'a>(start_node: JSRef<'a, Node>, include_start: bool, include_descendants_of_void: bool) -> NodeIterator { NodeIterator { @@ -926,9 +926,9 @@ impl NodeIterator { } } - fn next_child<'b>(&self, node: &JSRef<'b, Node>) -> Option<JSRef<'b, Node>> { + fn next_child<'b>(&self, node: JSRef<'b, Node>) -> Option<JSRef<'b, Node>> { if !self.include_descendants_of_void && node.is_element() { - let elem: &JSRef<Element> = ElementCast::to_ref(node).unwrap(); + let elem: JSRef<Element> = ElementCast::to_ref(node).unwrap(); if elem.deref().is_void() { None } else { @@ -947,20 +947,20 @@ impl<'a> Iterator<JSRef<'a, Node>> for NodeIterator { if self.include_start { Some(self.start_node) } else { - self.next_child(&*self.start_node.root()) - .map(|child| JS::from_rooted(&child)) + self.next_child(*self.start_node.root()) + .map(|child| JS::from_rooted(child)) } }, Some(node) => { - match self.next_child(&*node) { + match self.next_child(*node) { Some(child) => { self.depth += 1; - Some(JS::from_rooted(&child)) + Some(JS::from_rooted(child)) }, - None if JS::from_rooted(&*node) == self.start_node => None, + None if JS::from_rooted(*node) == self.start_node => None, None => { match node.deref().next_sibling().root() { - Some(sibling) => Some(JS::from_rooted(&*sibling)), + Some(sibling) => Some(JS::from_rooted(*sibling)), None => { let mut candidate = node.deref().clone(); while candidate.next_sibling().is_none() { @@ -968,12 +968,12 @@ impl<'a> Iterator<JSRef<'a, Node>> for NodeIterator { .expect("Got to root without reaching start node") .root()).clone(); self.depth -= 1; - if JS::from_rooted(&candidate) == self.start_node { + if JS::from_rooted(candidate) == self.start_node { break; } } - if JS::from_rooted(&candidate) != self.start_node { - candidate.next_sibling().map(|node| JS::from_rooted(node.root().deref())) + if JS::from_rooted(candidate) != self.start_node { + candidate.next_sibling().map(|node| JS::from_rooted(*node.root().deref())) } else { None } @@ -987,12 +987,12 @@ impl<'a> Iterator<JSRef<'a, Node>> for NodeIterator { } } -fn gather_abstract_nodes<'a>(cur: &JSRef<'a, Node>, refs: &mut Vec<JSRef<'a, Node>>, postorder: bool) { +fn gather_abstract_nodes<'a>(cur: JSRef<'a, Node>, refs: &mut Vec<JSRef<'a, Node>>, postorder: bool) { if !postorder { refs.push(cur.clone()); } for kid in cur.children() { - gather_abstract_nodes(&kid, refs, postorder) + gather_abstract_nodes(kid, refs, postorder) } if postorder { refs.push(cur.clone()); @@ -1011,14 +1011,14 @@ fn as_uintptr<T>(t: &T) -> uintptr_t { t as *const T as uintptr_t } impl Node { pub fn reflect_node<N: Reflectable+NodeBase> (node: Box<N>, - document: &JSRef<Document>, + document: JSRef<Document>, wrap_fn: extern "Rust" fn(*mut JSContext, &GlobalRef, Box<N>) -> Temporary<N>) -> Temporary<N> { let window = document.window.root(); reflect_dom_object(node, &Window(*window), wrap_fn) } - pub fn new_inherited(type_id: NodeTypeId, doc: &JSRef<Document>) -> Node { + pub fn new_inherited(type_id: NodeTypeId, doc: JSRef<Document>) -> Node { Node::new_(type_id, Some(doc.clone())) } @@ -1048,18 +1048,18 @@ impl Node { } // http://dom.spec.whatwg.org/#concept-node-adopt - pub fn adopt(node: &JSRef<Node>, document: &JSRef<Document>) { + pub fn adopt(node: JSRef<Node>, document: JSRef<Document>) { // Step 1. match node.parent_node().root() { Some(parent) => { - Node::remove(node, &*parent, Unsuppressed); + Node::remove(node, *parent, Unsuppressed); } None => (), } // Step 2. let node_doc = document_from_node(node).root(); - if &*node_doc != document { + if *node_doc != document { for descendant in node.traverse_preorder() { descendant.set_owner_doc(document); } @@ -1070,7 +1070,7 @@ impl Node { } // http://dom.spec.whatwg.org/#concept-node-pre-insert - fn pre_insert(node: &JSRef<Node>, parent: &JSRef<Node>, child: Option<JSRef<Node>>) + fn pre_insert(node: JSRef<Node>, parent: JSRef<Node>, child: Option<JSRef<Node>>) -> Fallible<Temporary<Node>> { // Step 1. match parent.type_id() { @@ -1087,7 +1087,7 @@ impl Node { // Step 3. match child { - Some(ref child) if !parent.is_parent_of(child) => return Err(NotFound), + Some(child) if !parent.is_parent_of(child) => return Err(NotFound), _ => () } @@ -1132,7 +1132,7 @@ impl Node { return Err(HierarchyRequest); } match child { - Some(ref child) => { + Some(child) => { if child.inclusively_following_siblings() .any(|child| child.is_doctype()) { return Err(HierarchyRequest) @@ -1195,13 +1195,13 @@ impl Node { // Step 7-8. let referenceChild = match child { - Some(ref child) if child == node => node.next_sibling().map(|node| (*node.root()).clone()), + Some(child) if child == node => node.next_sibling().map(|node| (*node.root()).clone()), _ => child }; // Step 9. let document = document_from_node(parent).root(); - Node::adopt(node, &*document); + Node::adopt(node, *document); // Step 10. Node::insert(node, parent, referenceChild, Unsuppressed); @@ -1211,8 +1211,8 @@ impl Node { } // http://dom.spec.whatwg.org/#concept-node-insert - fn insert(node: &JSRef<Node>, - parent: &JSRef<Node>, + fn insert(node: JSRef<Node>, + parent: JSRef<Node>, child: Option<JSRef<Node>>, suppress_observers: SuppressObserver) { // XXX assert owner_doc @@ -1228,7 +1228,7 @@ impl Node { match node.type_id() { DocumentFragmentNodeTypeId => { for c in node.children() { - Node::remove(&c, node, Suppressed); + Node::remove(c, node, Suppressed); } }, _ => (), @@ -1237,7 +1237,7 @@ impl Node { // Step 7: mutation records. // Step 8. for node in nodes.mut_iter() { - parent.add_child(node, child); + parent.add_child(*node, child); let is_in_doc = parent.is_in_doc(); for kid in node.traverse_preorder() { if is_in_doc { @@ -1260,13 +1260,13 @@ impl Node { } // http://dom.spec.whatwg.org/#concept-node-replace-all - fn replace_all(node: Option<JSRef<Node>>, parent: &JSRef<Node>) { + fn replace_all(node: Option<JSRef<Node>>, parent: JSRef<Node>) { // Step 1. match node { - Some(ref node) => { + Some(node) => { let document = document_from_node(parent).root(); - Node::adopt(node, &*document); + Node::adopt(node, *document); } None => (), } @@ -1277,7 +1277,7 @@ impl Node { // Step 3. let addedNodes = match node { None => vec!(), - Some(ref node) => match node.type_id() { + Some(node) => match node.type_id() { DocumentFragmentNodeTypeId => node.children().collect(), _ => vec!(node.clone()), }, @@ -1285,12 +1285,12 @@ impl Node { // Step 4. for child in parent.children() { - Node::remove(&child, parent, Suppressed); + Node::remove(child, parent, Suppressed); } // Step 5. match node { - Some(ref node) => Node::insert(node, parent, None, Suppressed), + Some(node) => Node::insert(node, parent, None, Suppressed), None => (), } @@ -1307,10 +1307,10 @@ impl Node { } // http://dom.spec.whatwg.org/#concept-node-pre-remove - fn pre_remove(child: &JSRef<Node>, parent: &JSRef<Node>) -> Fallible<Temporary<Node>> { + fn pre_remove(child: JSRef<Node>, parent: JSRef<Node>) -> Fallible<Temporary<Node>> { // Step 1. match child.parent_node() { - Some(ref node) if *node != Temporary::from_rooted(parent) => return Err(NotFound), + Some(node) if node != Temporary::from_rooted(parent) => return Err(NotFound), _ => () } @@ -1322,7 +1322,7 @@ impl Node { } // http://dom.spec.whatwg.org/#concept-node-remove - fn remove(node: &JSRef<Node>, parent: &JSRef<Node>, suppress_observers: SuppressObserver) { + fn remove(node: JSRef<Node>, parent: JSRef<Node>, suppress_observers: SuppressObserver) { assert!(node.parent_node().map_or(false, |node_parent| node_parent == Temporary::from_rooted(parent))); // Step 1-5: ranges. @@ -1340,7 +1340,7 @@ impl Node { } // http://dom.spec.whatwg.org/#concept-node-clone - pub fn clone(node: &JSRef<Node>, maybe_doc: Option<&JSRef<Document>>, + pub fn clone(node: JSRef<Node>, maybe_doc: Option<JSRef<Document>>, clone_children: CloneChildrenFlag) -> Temporary<Node> { // Step 1. @@ -1353,82 +1353,82 @@ impl Node { // XXXabinader: clone() for each node as trait? let copy: Root<Node> = match node.type_id() { DoctypeNodeTypeId => { - let doctype: &JSRef<DocumentType> = DocumentTypeCast::to_ref(node).unwrap(); + let doctype: JSRef<DocumentType> = DocumentTypeCast::to_ref(node).unwrap(); let doctype = doctype.deref(); let doctype = DocumentType::new(doctype.name.clone(), Some(doctype.public_id.clone()), - Some(doctype.system_id.clone()), &*document); + Some(doctype.system_id.clone()), *document); NodeCast::from_temporary(doctype) }, DocumentFragmentNodeTypeId => { - let doc_fragment = DocumentFragment::new(&*document); + let doc_fragment = DocumentFragment::new(*document); NodeCast::from_temporary(doc_fragment) }, CommentNodeTypeId => { - let comment: &JSRef<Comment> = CommentCast::to_ref(node).unwrap(); + let comment: JSRef<Comment> = CommentCast::to_ref(node).unwrap(); let comment = comment.deref(); - let comment = Comment::new(comment.characterdata.data.deref().borrow().clone(), &*document); + let comment = Comment::new(comment.characterdata.data.deref().borrow().clone(), *document); NodeCast::from_temporary(comment) }, DocumentNodeTypeId => { - let document: &JSRef<Document> = DocumentCast::to_ref(node).unwrap(); + let document: JSRef<Document> = DocumentCast::to_ref(node).unwrap(); let is_html_doc = match document.is_html_document { true => HTMLDocument, false => NonHTMLDocument }; let window = document.window.root(); - let document = Document::new(&*window, Some(document.url().clone()), + let document = Document::new(*window, Some(document.url().clone()), is_html_doc, None); NodeCast::from_temporary(document) }, ElementNodeTypeId(..) => { - let element: &JSRef<Element> = ElementCast::to_ref(node).unwrap(); + let element: JSRef<Element> = ElementCast::to_ref(node).unwrap(); let element = element.deref(); let element = build_element_from_tag(element.local_name.as_slice().to_string(), - element.namespace.clone(), &*document); + element.namespace.clone(), *document); NodeCast::from_temporary(element) }, TextNodeTypeId => { - let text: &JSRef<Text> = TextCast::to_ref(node).unwrap(); + let text: JSRef<Text> = TextCast::to_ref(node).unwrap(); let text = text.deref(); - let text = Text::new(text.characterdata.data.deref().borrow().clone(), &*document); + let text = Text::new(text.characterdata.data.deref().borrow().clone(), *document); NodeCast::from_temporary(text) }, ProcessingInstructionNodeTypeId => { - let pi: &JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(node).unwrap(); + let pi: JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(node).unwrap(); let pi = pi.deref(); let pi = ProcessingInstruction::new(pi.target.clone(), - pi.characterdata.data.deref().borrow().clone(), &*document); + pi.characterdata.data.deref().borrow().clone(), *document); NodeCast::from_temporary(pi) }, }.root(); // Step 3. let document = if copy.is_document() { - let doc: &JSRef<Document> = DocumentCast::to_ref(&*copy).unwrap(); + let doc: JSRef<Document> = DocumentCast::to_ref(*copy).unwrap(); JS::from_rooted(doc).root() } else { - JS::from_rooted(&*document).root() + JS::from_rooted(*document).root() }; assert!(&*copy.owner_doc().root() == &*document); // Step 4 (some data already copied in step 2). match node.type_id() { DocumentNodeTypeId => { - let node_doc: &JSRef<Document> = DocumentCast::to_ref(node).unwrap(); - let copy_doc: &JSRef<Document> = DocumentCast::to_ref(&*copy).unwrap(); + let node_doc: JSRef<Document> = DocumentCast::to_ref(node).unwrap(); + let copy_doc: JSRef<Document> = DocumentCast::to_ref(*copy).unwrap(); copy_doc.set_encoding_name(node_doc.encoding_name.deref().borrow().clone()); copy_doc.set_quirks_mode(node_doc.quirks_mode()); }, ElementNodeTypeId(..) => { - let node_elem: &JSRef<Element> = ElementCast::to_ref(node).unwrap(); - let copy_elem: &JSRef<Element> = ElementCast::to_ref(&*copy).unwrap(); + let node_elem: JSRef<Element> = ElementCast::to_ref(node).unwrap(); + let copy_elem: JSRef<Element> = ElementCast::to_ref(*copy).unwrap(); // FIXME: https://github.com/mozilla/servo/issues/1737 let window = document.deref().window.root(); for attr in node_elem.deref().attrs.borrow().iter().map(|attr| attr.root()) { copy_elem.deref().attrs.borrow_mut().push_unrooted( - &Attr::new(&*window, + &Attr::new(*window, attr.local_name().clone(), attr.deref().value().clone(), attr.deref().name.clone(), attr.deref().namespace.clone(), attr.deref().prefix.clone(), copy_elem)); @@ -1441,14 +1441,14 @@ impl Node { // Step 6. if clone_children == CloneChildren { - for ref child in node.children() { - let child_copy = Node::clone(&*child, Some(&*document), clone_children).root(); - let _inserted_node = Node::pre_insert(&*child_copy, &*copy, None); + for child in node.children() { + let child_copy = Node::clone(child, Some(*document), clone_children).root(); + let _inserted_node = Node::pre_insert(*child_copy, *copy, None); } } // Step 7. - Temporary::from_rooted(&*copy) + Temporary::from_rooted(*copy) } /// Sends layout data, if any, back to the layout task to be destroyed. @@ -1473,7 +1473,7 @@ impl Node { pub fn collect_text_contents<'a, T: Iterator<JSRef<'a, Node>>>(mut iterator: T) -> String { let mut content = String::new(); for node in iterator { - let text: Option<&JSRef<Text>> = TextCast::to_ref(&node); + let text: Option<JSRef<Text>> = TextCast::to_ref(node); match text { Some(text) => content.push_str(text.characterdata.data.borrow().as_slice()), None => (), @@ -1501,18 +1501,18 @@ impl<'a> NodeMethods for JSRef<'a, Node> { fn NodeName(&self) -> DOMString { match self.type_id { ElementNodeTypeId(..) => { - let elem: &JSRef<Element> = ElementCast::to_ref(self).unwrap(); + let elem: JSRef<Element> = ElementCast::to_ref(*self).unwrap(); elem.TagName() } TextNodeTypeId => "#text".to_string(), ProcessingInstructionNodeTypeId => { - let processing_instruction: &JSRef<ProcessingInstruction> = - ProcessingInstructionCast::to_ref(self).unwrap(); + let processing_instruction: JSRef<ProcessingInstruction> = + ProcessingInstructionCast::to_ref(*self).unwrap(); processing_instruction.Target() } CommentNodeTypeId => "#comment".to_string(), DoctypeNodeTypeId => { - let doctype: &JSRef<DocumentType> = DocumentTypeCast::to_ref(self).unwrap(); + let doctype: JSRef<DocumentType> = DocumentTypeCast::to_ref(*self).unwrap(); doctype.deref().name.clone() }, DocumentFragmentNodeTypeId => "#document-fragment".to_string(), @@ -1549,7 +1549,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { self.parent_node.get() .and_then(|parent| { let parent = parent.root(); - ElementCast::to_ref(&*parent).map(|elem| { + ElementCast::to_ref(*parent).map(|elem| { Temporary::from_rooted(elem) }) }) @@ -1569,7 +1569,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { let doc = self.owner_doc().root(); let window = doc.deref().window.root(); - let child_list = NodeList::new_child_list(&*window, self); + let child_list = NodeList::new_child_list(*window, *self); self.child_list.assign(Some(child_list)); Temporary::new(self.child_list.get().get_ref().clone()) } @@ -1600,7 +1600,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { CommentNodeTypeId | TextNodeTypeId | ProcessingInstructionNodeTypeId => { - let chardata: &JSRef<CharacterData> = CharacterDataCast::to_ref(self).unwrap(); + let chardata: JSRef<CharacterData> = CharacterDataCast::to_ref(*self).unwrap(); Some(chardata.Data()) } _ => { @@ -1632,7 +1632,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { CommentNodeTypeId | TextNodeTypeId | ProcessingInstructionNodeTypeId => { - let characterdata: &JSRef<CharacterData> = CharacterDataCast::to_ref(self).unwrap(); + let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(*self).unwrap(); Some(characterdata.Data()) } DoctypeNodeTypeId | @@ -1657,14 +1657,14 @@ impl<'a> NodeMethods for JSRef<'a, Node> { }.root(); // Step 3. - Node::replace_all(node.root_ref(), self); + Node::replace_all(node.root_ref(), *self); } CommentNodeTypeId | TextNodeTypeId | ProcessingInstructionNodeTypeId => { self.wait_until_safe_to_modify_dom(); - let characterdata: &JSRef<CharacterData> = CharacterDataCast::to_ref(self).unwrap(); + let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(*self).unwrap(); *characterdata.data.deref().borrow_mut() = value; // Notify the document that the content of this node is different @@ -1677,17 +1677,17 @@ impl<'a> NodeMethods for JSRef<'a, Node> { } // http://dom.spec.whatwg.org/#dom-node-insertbefore - fn InsertBefore(&self, node: &JSRef<Node>, child: Option<JSRef<Node>>) -> Fallible<Temporary<Node>> { - Node::pre_insert(node, self, child) + fn InsertBefore(&self, node: JSRef<Node>, child: Option<JSRef<Node>>) -> Fallible<Temporary<Node>> { + Node::pre_insert(node, *self, child) } // http://dom.spec.whatwg.org/#dom-node-appendchild - fn AppendChild(&self, node: &JSRef<Node>) -> Fallible<Temporary<Node>> { - Node::pre_insert(node, self, None) + fn AppendChild(&self, node: JSRef<Node>) -> Fallible<Temporary<Node>> { + Node::pre_insert(node, *self, None) } // http://dom.spec.whatwg.org/#concept-node-replace - fn ReplaceChild(&self, node: &JSRef<Node>, child: &JSRef<Node>) -> Fallible<Temporary<Node>> { + fn ReplaceChild(&self, node: JSRef<Node>, child: JSRef<Node>) -> Fallible<Temporary<Node>> { // Step 1. match self.type_id { @@ -1698,7 +1698,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { } // Step 2. - if node.is_inclusive_ancestor_of(self) { + if node.is_inclusive_ancestor_of(*self) { return Err(HierarchyRequest); } @@ -1734,7 +1734,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { 0 => (), // Step 6.1.2 1 => { - if self.child_elements().any(|c| NodeCast::from_ref(&c) != child) { + if self.child_elements().any(|c| NodeCast::from_ref(c) != child) { return Err(HierarchyRequest); } if child.following_siblings() @@ -1748,7 +1748,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { }, // Step 6.2 ElementNodeTypeId(..) => { - if self.child_elements().any(|c| NodeCast::from_ref(&c) != child) { + if self.child_elements().any(|c| NodeCast::from_ref(c) != child) { return Err(HierarchyRequest); } if child.following_siblings() @@ -1758,11 +1758,11 @@ impl<'a> NodeMethods for JSRef<'a, Node> { }, // Step 6.3 DoctypeNodeTypeId => { - if self.children().any(|c| c.is_doctype() && &c != child) { + if self.children().any(|c| c.is_doctype() && c != child) { return Err(HierarchyRequest); } if self.children() - .take_while(|c| c != child) + .take_while(|c| *c != child) .any(|c| c.is_element()) { return Err(HierarchyRequest); } @@ -1777,27 +1777,27 @@ impl<'a> NodeMethods for JSRef<'a, Node> { } // Ok if not caught by previous error checks. - if *node == *child { + if node == child { return Ok(Temporary::from_rooted(child)); } // Step 7-8. let next_sibling = child.next_sibling().map(|node| (*node.root()).clone()); let reference_child = match next_sibling { - Some(ref sibling) if sibling == node => node.next_sibling().map(|node| (*node.root()).clone()), + Some(sibling) if sibling == node => node.next_sibling().map(|node| (*node.root()).clone()), _ => next_sibling }; // Step 9. - let document = document_from_node(self).root(); - Node::adopt(node, &*document); + let document = document_from_node(*self).root(); + Node::adopt(node, *document); { // Step 10. - Node::remove(child, self, Suppressed); + Node::remove(child, *self, Suppressed); // Step 11. - Node::insert(node, self, reference_child, Suppressed); + Node::insert(node, *self, reference_child, Suppressed); } // Step 12-14. @@ -1816,9 +1816,9 @@ impl<'a> NodeMethods for JSRef<'a, Node> { } // http://dom.spec.whatwg.org/#dom-node-removechild - fn RemoveChild(&self, node: &JSRef<Node>) + fn RemoveChild(&self, node: JSRef<Node>) -> Fallible<Temporary<Node>> { - Node::pre_remove(node, self) + Node::pre_remove(node, *self) } // http://dom.spec.whatwg.org/#dom-node-normalize @@ -1826,15 +1826,15 @@ impl<'a> NodeMethods for JSRef<'a, Node> { let mut prev_text = None; for child in self.children() { if child.is_text() { - let characterdata: &JSRef<CharacterData> = CharacterDataCast::to_ref(&child).unwrap(); + let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(child).unwrap(); if characterdata.Length() == 0 { - self.remove_child(&child); + self.remove_child(child); } else { match prev_text { - Some(ref mut text_node) => { - let prev_characterdata: &JSRef<CharacterData> = CharacterDataCast::to_ref(text_node).unwrap(); + Some(text_node) => { + let prev_characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(text_node).unwrap(); let _ = prev_characterdata.AppendData(characterdata.Data()); - self.remove_child(&child); + self.remove_child(child); }, None => prev_text = Some(child) } @@ -1850,23 +1850,23 @@ impl<'a> NodeMethods for JSRef<'a, Node> { // http://dom.spec.whatwg.org/#dom-node-clonenode fn CloneNode(&self, deep: bool) -> Temporary<Node> { match deep { - true => Node::clone(self, None, CloneChildren), - false => Node::clone(self, None, DoNotCloneChildren) + true => Node::clone(*self, None, CloneChildren), + false => Node::clone(*self, None, DoNotCloneChildren) } } // http://dom.spec.whatwg.org/#dom-node-isequalnode fn IsEqualNode(&self, maybe_node: Option<JSRef<Node>>) -> bool { - fn is_equal_doctype(node: &JSRef<Node>, other: &JSRef<Node>) -> bool { - let doctype: &JSRef<DocumentType> = DocumentTypeCast::to_ref(node).unwrap(); - let other_doctype: &JSRef<DocumentType> = DocumentTypeCast::to_ref(other).unwrap(); + fn is_equal_doctype(node: JSRef<Node>, other: JSRef<Node>) -> bool { + let doctype: JSRef<DocumentType> = DocumentTypeCast::to_ref(node).unwrap(); + let other_doctype: JSRef<DocumentType> = DocumentTypeCast::to_ref(other).unwrap(); (doctype.deref().name == other_doctype.deref().name) && (doctype.deref().public_id == other_doctype.deref().public_id) && (doctype.deref().system_id == other_doctype.deref().system_id) } - fn is_equal_element(node: &JSRef<Node>, other: &JSRef<Node>) -> bool { - let element: &JSRef<Element> = ElementCast::to_ref(node).unwrap(); - let other_element: &JSRef<Element> = ElementCast::to_ref(other).unwrap(); + fn is_equal_element(node: JSRef<Node>, other: JSRef<Node>) -> bool { + let element: JSRef<Element> = ElementCast::to_ref(node).unwrap(); + let other_element: JSRef<Element> = ElementCast::to_ref(other).unwrap(); // FIXME: namespace prefix let element = element.deref(); let other_element = other_element.deref(); @@ -1874,20 +1874,20 @@ impl<'a> NodeMethods for JSRef<'a, Node> { (element.local_name == other_element.local_name) && (element.attrs.borrow().len() == other_element.attrs.borrow().len()) } - fn is_equal_processinginstruction(node: &JSRef<Node>, other: &JSRef<Node>) -> bool { - let pi: &JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(node).unwrap(); - let other_pi: &JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(other).unwrap(); + fn is_equal_processinginstruction(node: JSRef<Node>, other: JSRef<Node>) -> bool { + let pi: JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(node).unwrap(); + let other_pi: JSRef<ProcessingInstruction> = ProcessingInstructionCast::to_ref(other).unwrap(); (pi.deref().target == other_pi.deref().target) && (*pi.deref().characterdata.data.deref().borrow() == *other_pi.deref().characterdata.data.deref().borrow()) } - fn is_equal_characterdata(node: &JSRef<Node>, other: &JSRef<Node>) -> bool { - let characterdata: &JSRef<CharacterData> = CharacterDataCast::to_ref(node).unwrap(); - let other_characterdata: &JSRef<CharacterData> = CharacterDataCast::to_ref(other).unwrap(); + fn is_equal_characterdata(node: JSRef<Node>, other: JSRef<Node>) -> bool { + let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(node).unwrap(); + let other_characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(other).unwrap(); *characterdata.deref().data.deref().borrow() == *other_characterdata.deref().data.deref().borrow() } - fn is_equal_element_attrs(node: &JSRef<Node>, other: &JSRef<Node>) -> bool { - let element: &JSRef<Element> = ElementCast::to_ref(node).unwrap(); - let other_element: &JSRef<Element> = ElementCast::to_ref(other).unwrap(); + fn is_equal_element_attrs(node: JSRef<Node>, other: JSRef<Node>) -> bool { + let element: JSRef<Element> = ElementCast::to_ref(node).unwrap(); + let other_element: JSRef<Element> = ElementCast::to_ref(other).unwrap(); let element = element.deref(); let other_element = other_element.deref(); assert!(element.attrs.borrow().len() == other_element.attrs.borrow().len()); @@ -1899,7 +1899,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { }) }) } - fn is_equal_node(this: &JSRef<Node>, node: &JSRef<Node>) -> bool { + fn is_equal_node(this: JSRef<Node>, node: JSRef<Node>) -> bool { // Step 2. if this.type_id() != node.type_id() { return false; @@ -1924,27 +1924,27 @@ impl<'a> NodeMethods for JSRef<'a, Node> { // Step 6. this.children().zip(node.children()).all(|(ref child, ref other_child)| { - is_equal_node(child, other_child) + is_equal_node(*child, *other_child) }) } match maybe_node { // Step 1. None => false, // Step 2-6. - Some(ref node) => is_equal_node(self, node) + Some(node) => is_equal_node(*self, node) } } // http://dom.spec.whatwg.org/#dom-node-comparedocumentposition - fn CompareDocumentPosition(&self, other: &JSRef<Node>) -> u16 { - if self == other { + fn CompareDocumentPosition(&self, other: JSRef<Node>) -> u16 { + if *self == other { // step 2. 0 } else { let mut lastself = self.clone(); let mut lastother = other.clone(); for ancestor in self.ancestors() { - if &ancestor == other { + if ancestor == other { // step 4. return NodeConstants::DOCUMENT_POSITION_CONTAINS + NodeConstants::DOCUMENT_POSITION_PRECEDING; @@ -1952,7 +1952,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { lastself = ancestor.clone(); } for ancestor in other.ancestors() { - if &ancestor == self { + if ancestor == *self { // step 5. return NodeConstants::DOCUMENT_POSITION_CONTAINED_BY + NodeConstants::DOCUMENT_POSITION_FOLLOWING; @@ -1976,11 +1976,11 @@ impl<'a> NodeMethods for JSRef<'a, Node> { } for child in lastself.traverse_preorder() { - if &child == other { + if child == other { // step 6. return NodeConstants::DOCUMENT_POSITION_PRECEDING; } - if &child == self { + if child == *self { // step 7. return NodeConstants::DOCUMENT_POSITION_FOLLOWING; } @@ -1993,7 +1993,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { fn Contains(&self, maybe_other: Option<JSRef<Node>>) -> bool { match maybe_other { None => false, - Some(ref other) => self.is_inclusive_ancestor_of(other) + Some(other) => self.is_inclusive_ancestor_of(other) } } @@ -2023,19 +2023,19 @@ impl Reflectable for Node { } } -pub fn document_from_node<T: NodeBase>(derived: &JSRef<T>) -> Temporary<Document> { - let node: &JSRef<Node> = NodeCast::from_ref(derived); +pub fn document_from_node<T: NodeBase>(derived: JSRef<T>) -> Temporary<Document> { + let node: JSRef<Node> = NodeCast::from_ref(derived); node.owner_doc() } -pub fn window_from_node<T: NodeBase>(derived: &JSRef<T>) -> Temporary<Window> { +pub fn window_from_node<T: NodeBase>(derived: JSRef<T>) -> Temporary<Window> { let document = document_from_node(derived).root(); Temporary::new(document.deref().window.clone()) } impl<'a> VirtualMethods for JSRef<'a, Node> { fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_borrowed_ref(self); Some(eventtarget as &VirtualMethods) } } @@ -2066,9 +2066,9 @@ impl<'a> style::TNode<JSRef<'a, Element>> for JSRef<'a, Node> { } fn as_element(&self) -> JSRef<'a, Element> { - let elem: Option<&JSRef<'a, Element>> = ElementCast::to_ref(self); + let elem: Option<JSRef<'a, Element>> = ElementCast::to_ref(*self); assert!(elem.is_some()); - *elem.unwrap() + elem.unwrap() } fn match_attr(&self, attr: &style::AttrSelector, test: |&str| -> bool) -> bool { @@ -2090,9 +2090,9 @@ impl<'a> style::TNode<JSRef<'a, Element>> for JSRef<'a, Node> { } fn is_html_element_in_html_document(&self) -> bool { - let elem: Option<&JSRef<'a, Element>> = ElementCast::to_ref(self); + let elem: Option<JSRef<'a, Element>> = ElementCast::to_ref(*self); assert!(elem.is_some()); - let elem: &ElementHelpers = elem.unwrap() as &ElementHelpers; + let elem: &ElementHelpers = &elem.unwrap() as &ElementHelpers; elem.html_element_in_html_document() } } @@ -2108,15 +2108,15 @@ impl<'a> DisabledStateHelpers for JSRef<'a, Node> { if self.get_disabled_state() { return; } for ancestor in self.ancestors().filter(|ancestor| ancestor.is_htmlfieldsetelement()) { if !ancestor.get_disabled_state() { continue; } - if ancestor.is_parent_of(self) { + if ancestor.is_parent_of(*self) { self.set_disabled_state(true); self.set_enabled_state(false); return; } match ancestor.children().find(|child| child.is_htmllegendelement()) { - Some(ref legend) => { + Some(legend) => { // XXXabinader: should we save previous ancestor to avoid this iteration? - if self.ancestors().any(|ancestor| ancestor == *legend) { continue; } + if self.ancestors().any(|ancestor| ancestor == legend) { continue; } }, None => () } @@ -2138,7 +2138,7 @@ impl<'a> DisabledStateHelpers for JSRef<'a, Node> { } fn check_disabled_attribute(&self) { - let elem: &JSRef<'a, Element> = ElementCast::to_ref(self).unwrap(); + let elem: JSRef<'a, Element> = ElementCast::to_ref(*self).unwrap(); let has_disabled_attrib = elem.has_attribute("disabled"); self.set_disabled_state(has_disabled_attrib); self.set_enabled_state(!has_disabled_attrib); diff --git a/components/script/dom/nodelist.rs b/components/script/dom/nodelist.rs index 322c70c3135..0fbc6d47b79 100644 --- a/components/script/dom/nodelist.rs +++ b/components/script/dom/nodelist.rs @@ -32,17 +32,17 @@ impl NodeList { } } - pub fn new(window: &JSRef<Window>, + pub fn new(window: JSRef<Window>, list_type: NodeListType) -> Temporary<NodeList> { reflect_dom_object(box NodeList::new_inherited(list_type), - &Window(*window), NodeListBinding::Wrap) + &Window(window), NodeListBinding::Wrap) } - pub fn new_simple_list(window: &JSRef<Window>, elements: Vec<JSRef<Node>>) -> Temporary<NodeList> { - NodeList::new(window, Simple(elements.iter().map(|element| JS::from_rooted(element)).collect())) + pub fn new_simple_list(window: JSRef<Window>, elements: Vec<JSRef<Node>>) -> Temporary<NodeList> { + NodeList::new(window, Simple(elements.iter().map(|element| JS::from_rooted(*element)).collect())) } - pub fn new_child_list(window: &JSRef<Window>, node: &JSRef<Node>) -> Temporary<NodeList> { + pub fn new_child_list(window: JSRef<Window>, node: JSRef<Node>) -> Temporary<NodeList> { NodeList::new(window, Children(JS::from_rooted(node))) } } @@ -65,7 +65,7 @@ impl<'a> NodeListMethods for JSRef<'a, NodeList> { Children(ref node) => { let node = node.root(); node.deref().children().nth(index as uint) - .map(|child| Temporary::from_rooted(&child)) + .map(|child| Temporary::from_rooted(child)) } } } diff --git a/components/script/dom/performance.rs b/components/script/dom/performance.rs index da112ff27fe..7aafb604a9a 100644 --- a/components/script/dom/performance.rs +++ b/components/script/dom/performance.rs @@ -21,16 +21,16 @@ pub struct Performance { } impl Performance { - fn new_inherited(window: &JSRef<Window>) -> Performance { + fn new_inherited(window: JSRef<Window>) -> Performance { Performance { reflector_: Reflector::new(), - timing: JS::from_rooted(&PerformanceTiming::new(window)), + timing: JS::from_rooted(PerformanceTiming::new(window)), } } - pub fn new(window: &JSRef<Window>) -> Temporary<Performance> { + pub fn new(window: JSRef<Window>) -> Temporary<Performance> { reflect_dom_object(box Performance::new_inherited(window), - &Window(*window), + &Window(window), PerformanceBinding::Wrap) } } diff --git a/components/script/dom/performancetiming.rs b/components/script/dom/performancetiming.rs index 4e12942010b..99ed766073c 100644 --- a/components/script/dom/performancetiming.rs +++ b/components/script/dom/performancetiming.rs @@ -28,10 +28,10 @@ impl PerformanceTiming { } #[allow(unrooted_must_root)] - pub fn new(window: &JSRef<Window>) -> Temporary<PerformanceTiming> { + pub fn new(window: JSRef<Window>) -> Temporary<PerformanceTiming> { let timing = PerformanceTiming::new_inherited(window.navigationStart, window.navigationStartPrecise); - reflect_dom_object(box timing, &Window(*window), + reflect_dom_object(box timing, &Window(window), PerformanceTimingBinding::Wrap) } } diff --git a/components/script/dom/processinginstruction.rs b/components/script/dom/processinginstruction.rs index 14e6c8b4f2e..a22261dbca1 100644 --- a/components/script/dom/processinginstruction.rs +++ b/components/script/dom/processinginstruction.rs @@ -28,14 +28,14 @@ impl ProcessingInstructionDerived for EventTarget { } impl ProcessingInstruction { - pub fn new_inherited(target: DOMString, data: DOMString, document: &JSRef<Document>) -> ProcessingInstruction { + pub fn new_inherited(target: DOMString, data: DOMString, document: JSRef<Document>) -> ProcessingInstruction { ProcessingInstruction { characterdata: CharacterData::new_inherited(ProcessingInstructionNodeTypeId, data, document), target: target } } - pub fn new(target: DOMString, data: DOMString, document: &JSRef<Document>) -> Temporary<ProcessingInstruction> { + pub fn new(target: DOMString, data: DOMString, document: JSRef<Document>) -> Temporary<ProcessingInstruction> { Node::reflect_node(box ProcessingInstruction::new_inherited(target, data, document), document, ProcessingInstructionBinding::Wrap) } diff --git a/components/script/dom/progressevent.rs b/components/script/dom/progressevent.rs index 03230615d3d..3a775bc6f04 100644 --- a/components/script/dom/progressevent.rs +++ b/components/script/dom/progressevent.rs @@ -43,9 +43,9 @@ impl ProgressEvent { let ev = reflect_dom_object(box ProgressEvent::new_inherited(length_computable, loaded, total), global, ProgressEventBinding::Wrap).root(); - let event: &JSRef<Event> = EventCast::from_ref(&*ev); + let event: JSRef<Event> = EventCast::from_ref(*ev); event.InitEvent(type_, can_bubble, cancelable); - Temporary::from_rooted(&*ev) + Temporary::from_rooted(*ev) } pub fn Constructor(global: &GlobalRef, type_: DOMString, diff --git a/components/script/dom/range.rs b/components/script/dom/range.rs index b1f1ba7bf9c..9c3bfc1cadc 100644 --- a/components/script/dom/range.rs +++ b/components/script/dom/range.rs @@ -24,7 +24,7 @@ impl Range { } } - pub fn new(document: &JSRef<Document>) -> Temporary<Range> { + pub fn new(document: JSRef<Document>) -> Temporary<Range> { let window = document.window.root(); reflect_dom_object(box Range::new_inherited(), &Window(*window), @@ -33,7 +33,7 @@ impl Range { pub fn Constructor(global: &GlobalRef) -> Fallible<Temporary<Range>> { let document = global.as_window().Document().root(); - Ok(Range::new(&*document)) + Ok(Range::new(*document)) } } diff --git a/components/script/dom/screen.rs b/components/script/dom/screen.rs index 9b2155baadc..464ee905b14 100644 --- a/components/script/dom/screen.rs +++ b/components/script/dom/screen.rs @@ -22,9 +22,9 @@ impl Screen { } } - pub fn new(window: &JSRef<Window>) -> Temporary<Screen> { + pub fn new(window: JSRef<Window>) -> Temporary<Screen> { reflect_dom_object(box Screen::new_inherited(), - &Window(*window), + &Window(window), ScreenBinding::Wrap) } } diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs index 222223d7f44..9f3e9de384c 100644 --- a/components/script/dom/testbinding.rs +++ b/components/script/dom/testbinding.rs @@ -58,7 +58,7 @@ impl<'a> TestBindingMethods for JSRef<'a, TestBinding> { let global = self.global.root(); Blob::new(&global.root_ref()) } - fn SetInterfaceAttribute(&self, _: &JSRef<Blob>) {} + fn SetInterfaceAttribute(&self, _: JSRef<Blob>) {} fn UnionAttribute(&self) -> HTMLElementOrLong { eLong(0) } fn SetUnionAttribute(&self, _: HTMLElementOrLong) {} fn Union2Attribute(&self) -> EventOrString { eString("".to_string()) } @@ -160,7 +160,7 @@ impl<'a> TestBindingMethods for JSRef<'a, TestBinding> { fn PassString(&self, _: DOMString) {} fn PassByteString(&self, _: ByteString) {} fn PassEnum(&self, _: TestEnum) {} - fn PassInterface(&self, _: &JSRef<Blob>) {} + fn PassInterface(&self, _: JSRef<Blob>) {} fn PassUnion(&self, _: HTMLElementOrLong) {} fn PassUnion2(&self, _: EventOrString) {} fn PassUnion3(&self, _: BlobOrString) {} diff --git a/components/script/dom/text.rs b/components/script/dom/text.rs index 6f5e97dec74..24403014dd4 100644 --- a/components/script/dom/text.rs +++ b/components/script/dom/text.rs @@ -29,20 +29,20 @@ impl TextDerived for EventTarget { } impl Text { - pub fn new_inherited(text: DOMString, document: &JSRef<Document>) -> Text { + pub fn new_inherited(text: DOMString, document: JSRef<Document>) -> Text { Text { characterdata: CharacterData::new_inherited(TextNodeTypeId, text, document) } } - pub fn new(text: DOMString, document: &JSRef<Document>) -> Temporary<Text> { + pub fn new(text: DOMString, document: JSRef<Document>) -> Temporary<Text> { Node::reflect_node(box Text::new_inherited(text, document), document, TextBinding::Wrap) } pub fn Constructor(global: &GlobalRef, text: DOMString) -> Fallible<Temporary<Text>> { let document = global.as_window().Document().root(); - Ok(Text::new(text, &*document)) + Ok(Text::new(text, *document)) } } diff --git a/components/script/dom/treewalker.rs b/components/script/dom/treewalker.rs index b20dd3ac568..aa09af45c7c 100644 --- a/components/script/dom/treewalker.rs +++ b/components/script/dom/treewalker.rs @@ -34,7 +34,7 @@ pub struct TreeWalker { } impl TreeWalker { - pub fn new_inherited(root_node: &JSRef<Node>, + pub fn new_inherited(root_node: JSRef<Node>, what_to_show: u32, filter: Filter) -> TreeWalker { TreeWalker { @@ -46,8 +46,8 @@ impl TreeWalker { } } - pub fn new_with_filter(document: &JSRef<Document>, - root_node: &JSRef<Node>, + pub fn new_with_filter(document: JSRef<Document>, + root_node: JSRef<Node>, what_to_show: u32, filter: Filter) -> Temporary<TreeWalker> { let window = document.window.root(); @@ -56,8 +56,8 @@ impl TreeWalker { TreeWalkerBinding::Wrap) } - pub fn new(document: &JSRef<Document>, - root_node: &JSRef<Node>, + pub fn new(document: JSRef<Document>, + root_node: JSRef<Node>, what_to_show: u32, node_filter: Option<NodeFilter>) -> Temporary<TreeWalker> { let filter = match node_filter { @@ -89,7 +89,7 @@ impl<'a> TreeWalkerMethods for JSRef<'a, TreeWalker> { Temporary::new(self.current_node.get()) } - fn SetCurrentNode(&self, node: &JSRef<Node>) -> ErrorResult { + fn SetCurrentNode(&self, node: JSRef<Node>) -> ErrorResult { // XXX Future: check_same_origin(root_node, node) (throws) self.current_node.set(JS::from_rooted(node)); Ok(()) @@ -130,7 +130,7 @@ impl Reflectable for TreeWalker { } } -type NodeAdvancer<'a, 'b> = |node: &JSRef<'a, Node>|: 'b -> Option<Temporary<Node>>; +type NodeAdvancer<'a, 'b> = |node: JSRef<'a, Node>|: 'b -> Option<Temporary<Node>>; trait PrivateTreeWalkerHelpers<'a, 'b> { fn traverse_children(&self, @@ -141,11 +141,11 @@ trait PrivateTreeWalkerHelpers<'a, 'b> { next_child: NodeAdvancer<'a, 'b>, next_sibling: NodeAdvancer<'a, 'b>) -> Fallible<Option<Temporary<Node>>>; - fn is_root_node(&self, node: &JSRef<'a, Node>) -> bool; - fn is_current_node(&self, node: &JSRef<'a, Node>) -> bool; - fn first_following_node_not_following_root(&self, node: &JSRef<'a, Node>) + fn is_root_node(&self, node: JSRef<'a, Node>) -> bool; + fn is_current_node(&self, node: JSRef<'a, Node>) -> bool; + fn first_following_node_not_following_root(&self, node: JSRef<'a, Node>) -> Option<Temporary<Node>>; - fn accept_node(&self, node: &JSRef<'a, Node>) -> Fallible<u16>; + fn accept_node(&self, node: JSRef<'a, Node>) -> Fallible<u16>; } impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { @@ -158,7 +158,7 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { // "1. Let node be the value of the currentNode attribute." // "2. Set node to node's first child if type is first, and node's last child if type is last." let cur = self.current_node.get().root(); - let mut node_op: Option<JSRef<Node>> = next_child(&*cur).map(|node| node.root().clone()); + let mut node_op: Option<JSRef<Node>> = next_child(*cur).map(|node| node.root().clone()); // 3. Main: While node is not null, run these substeps: 'main: loop { @@ -166,19 +166,19 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { None => break, Some(node) => { // "1. Filter node and let result be the return value." - match self.accept_node(&node) { + match self.accept_node(node) { Err(e) => return Err(e), // "2. If result is FILTER_ACCEPT, then set the currentNode // attribute to node and return node." Ok(NodeFilterConstants::FILTER_ACCEPT) => { - self.current_node.set(JS::from_rooted(&node)); - return Ok(Some(Temporary::from_rooted(&node))) + self.current_node.set(JS::from_rooted(node)); + return Ok(Some(Temporary::from_rooted(node))) }, // "3. If result is FILTER_SKIP, run these subsubsteps:" Ok(NodeFilterConstants::FILTER_SKIP) => { // "1. Let child be node's first child if type is first, // and node's last child if type is last." - match next_child(&node) { + match next_child(node) { // "2. If child is not null, set node to child and goto Main." Some(child) => { node_op = Some(child.root().clone()); @@ -196,7 +196,7 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { Some(node) => { // "1. Let sibling be node's next sibling if type is next, // and node's previous sibling if type is previous." - match next_sibling(&node) { + match next_sibling(node) { // "2. If sibling is not null, // set node to sibling and goto Main." Some(sibling) => { @@ -210,8 +210,8 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { // or parent is currentNode attribute's value, // return null." None => return Ok(None), - Some(parent) if self.is_root_node(&parent) - || self.is_current_node(&parent) => + Some(parent) if self.is_root_node(parent) + || self.is_current_node(parent) => return Ok(None), // "5. Otherwise, set node to parent." Some(parent) => node_op = Some(parent) @@ -237,39 +237,39 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { // "1. Let node be the value of the currentNode attribute." let mut node = self.current_node.get().root().clone(); // "2. If node is root, return null." - if self.is_root_node(&node) { + if self.is_root_node(node) { return Ok(None) } // "3. Run these substeps:" loop { // "1. Let sibling be node's next sibling if type is next, // and node's previous sibling if type is previous." - let mut sibling_op = next_sibling(&node); + let mut sibling_op = next_sibling(node); // "2. While sibling is not null, run these subsubsteps:" while sibling_op.is_some() { // "1. Set node to sibling." node = sibling_op.unwrap().root().clone(); // "2. Filter node and let result be the return value." - let result = self.accept_node(&node); + let result = self.accept_node(node); // "3. If result is FILTER_ACCEPT, then set the currentNode // attribute to node and return node." match result { Err(e) => return Err(e), Ok(NodeFilterConstants::FILTER_ACCEPT) => { - self.current_node.set(JS::from_rooted(&node)); - return Ok(Some(Temporary::from_rooted(&node))) + self.current_node.set(JS::from_rooted(node)); + return Ok(Some(Temporary::from_rooted(node))) }, _ => {} } // "4. Set sibling to node's first child if type is next, // and node's last child if type is previous." - sibling_op = next_child(&node); + sibling_op = next_child(node); // "5. If result is FILTER_REJECT or sibling is null, // then set sibling to node's next sibling if type is next, // and node's previous sibling if type is previous." match (result, sibling_op) { (Ok(NodeFilterConstants::FILTER_REJECT), _) - | (_, None) => sibling_op = next_sibling(&node), + | (_, None) => sibling_op = next_sibling(node), _ => {} } } @@ -277,11 +277,11 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { match node.parent_node().map(|p| p.root().clone()) { // "4. If node is null or is root, return null." None => return Ok(None), - Some(n) if self.is_root_node(&n) => return Ok(None), + Some(n) if self.is_root_node(n) => return Ok(None), // "5. Filter node and if the return value is FILTER_ACCEPT, then return null." Some(n) => { node = n; - match self.accept_node(&node) { + match self.accept_node(node) { Err(e) => return Err(e), Ok(NodeFilterConstants::FILTER_ACCEPT) => return Ok(None), _ => {} @@ -293,14 +293,14 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { } // http://dom.spec.whatwg.org/#concept-tree-following - fn first_following_node_not_following_root(&self, node: &JSRef<'a, Node>) + fn first_following_node_not_following_root(&self, node: JSRef<'a, Node>) -> Option<Temporary<Node>> { // "An object A is following an object B if A and B are in the same tree // and A comes after B in tree order." match node.next_sibling() { None => { - let mut candidate = *node; - while !self.is_root_node(&candidate) && candidate.next_sibling().is_none() { + let mut candidate = node; + while !self.is_root_node(candidate) && candidate.next_sibling().is_none() { match candidate.parent_node() { None => // This can happen if the user set the current node to somewhere @@ -309,7 +309,7 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { Some(n) => candidate = n.root().clone() } } - if self.is_root_node(&candidate) { + if self.is_root_node(candidate) { None } else { candidate.next_sibling() @@ -320,7 +320,7 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { } // http://dom.spec.whatwg.org/#concept-node-filter - fn accept_node(&self, node: &JSRef<'a, Node>) -> Fallible<u16> { + fn accept_node(&self, node: JSRef<'a, Node>) -> Fallible<u16> { // "To filter node run these steps:" // "1. Let n be node's nodeType attribute value minus 1." let n: uint = node.NodeType() as uint - 1; @@ -336,15 +336,15 @@ impl<'a, 'b> PrivateTreeWalkerHelpers<'a, 'b> for JSRef<'a, TreeWalker> { match self.filter { FilterNone => Ok(NodeFilterConstants::FILTER_ACCEPT), FilterNative(f) => Ok((*f)(node)), - FilterJS(callback) => callback.AcceptNode_(self, node, RethrowExceptions) + FilterJS(callback) => callback.AcceptNode_(*self, node, RethrowExceptions) } } - fn is_root_node(&self, node: &JSRef<'a, Node>) -> bool { + fn is_root_node(&self, node: JSRef<'a, Node>) -> bool { JS::from_rooted(node) == self.root_node } - fn is_current_node(&self, node: &JSRef<'a, Node>) -> bool { + fn is_current_node(&self, node: JSRef<'a, Node>) -> bool { JS::from_rooted(node) == self.current_node.get() } } @@ -365,18 +365,18 @@ impl<'a> TreeWalkerHelpers<'a> for JSRef<'a, TreeWalker> { // "1. Let node be the value of the currentNode attribute." let mut node = self.current_node.get().root().clone(); // "2. While node is not null and is not root, run these substeps:" - while !self.is_root_node(&node) { + while !self.is_root_node(node) { // "1. Let node be node's parent." match node.parent_node() { Some(n) => { node = n.root().clone(); // "2. If node is not null and filtering node returns FILTER_ACCEPT, // then set the currentNode attribute to node, return node." - match self.accept_node(&node) { + match self.accept_node(node) { Err(e) => return Err(e), Ok(NodeFilterConstants::FILTER_ACCEPT) => { - self.current_node.set(JS::from_rooted(&node)); - return Ok(Some(Temporary::from_rooted(&node))) + self.current_node.set(JS::from_rooted(node)); + return Ok(Some(Temporary::from_rooted(node))) }, _ => {} } @@ -421,7 +421,7 @@ impl<'a> TreeWalkerHelpers<'a> for JSRef<'a, TreeWalker> { // "1. Let node be the value of the currentNode attribute." let mut node = self.current_node.get().root().clone(); // "2. While node is not root, run these substeps:" - while !self.is_root_node(&node) { + while !self.is_root_node(node) { // "1. Let sibling be the previous sibling of node." let mut sibling_op = node.prev_sibling(); // "2. While sibling is not null, run these subsubsteps:" @@ -435,14 +435,14 @@ impl<'a> TreeWalkerHelpers<'a> for JSRef<'a, TreeWalker> { // "4. If result is FILTER_ACCEPT, then // set the currentNode attribute to node and return node." loop { - match self.accept_node(&node) { + match self.accept_node(node) { Err(e) => return Err(e), Ok(NodeFilterConstants::FILTER_REJECT) => break, _ if node.first_child().is_some() => node = node.last_child().unwrap().root().clone(), Ok(NodeFilterConstants::FILTER_ACCEPT) => { - self.current_node.set(JS::from_rooted(&node)); - return Ok(Some(Temporary::from_rooted(&node))) + self.current_node.set(JS::from_rooted(node)); + return Ok(Some(Temporary::from_rooted(node))) }, _ => break } @@ -451,7 +451,7 @@ impl<'a> TreeWalkerHelpers<'a> for JSRef<'a, TreeWalker> { sibling_op = node.prev_sibling() } // "3. If node is root or node's parent is null, return null." - if self.is_root_node(&node) || node.parent_node() == None { + if self.is_root_node(node) || node.parent_node() == None { return Ok(None) } // "4. Set node to its parent." @@ -464,11 +464,11 @@ impl<'a> TreeWalkerHelpers<'a> for JSRef<'a, TreeWalker> { } // "5. Filter node and if the return value is FILTER_ACCEPT, then // set the currentNode attribute to node and return node." - match self.accept_node(&node) { + match self.accept_node(node) { Err(e) => return Err(e), Ok(NodeFilterConstants::FILTER_ACCEPT) => { - self.current_node.set(JS::from_rooted(&node)); - return Ok(Some(Temporary::from_rooted(&node))) + self.current_node.set(JS::from_rooted(node)); + return Ok(Some(Temporary::from_rooted(node))) }, _ => {} } @@ -497,14 +497,14 @@ impl<'a> TreeWalkerHelpers<'a> for JSRef<'a, TreeWalker> { // "1. Set node to its first child." node = child.root().clone(); // "2. Filter node and set result to the return value." - result = self.accept_node(&node); + result = self.accept_node(node); // "3. If result is FILTER_ACCEPT, then // set the currentNode attribute to node and return node." match result { Err(e) => return Err(e), Ok(NodeFilterConstants::FILTER_ACCEPT) => { - self.current_node.set(JS::from_rooted(&node)); - return Ok(Some(Temporary::from_rooted(&node))) + self.current_node.set(JS::from_rooted(node)); + return Ok(Some(Temporary::from_rooted(node))) }, _ => {} } @@ -514,19 +514,19 @@ impl<'a> TreeWalkerHelpers<'a> for JSRef<'a, TreeWalker> { // "2. If a node is following node and is not following root, // set node to the first such node." // "Otherwise, return null." - match self.first_following_node_not_following_root(&node) { + match self.first_following_node_not_following_root(node) { None => return Ok(None), Some(n) => { node = n.root().clone(); // "3. Filter node and set result to the return value." - result = self.accept_node(&node); + result = self.accept_node(node); // "4. If result is FILTER_ACCEPT, then // set the currentNode attribute to node and return node." match result { Err(e) => return Err(e), Ok(NodeFilterConstants::FILTER_ACCEPT) => { - self.current_node.set(JS::from_rooted(&node)); - return Ok(Some(Temporary::from_rooted(&node))) + self.current_node.set(JS::from_rooted(node)); + return Ok(Some(Temporary::from_rooted(node))) }, _ => {} } @@ -555,7 +555,7 @@ impl<'a> Iterator<JSRef<'a, Node>> for JSRef<'a, TreeWalker> { #[deriving(Encodable)] pub enum Filter { FilterNone, - FilterNative(Untraceable<fn (node: &JSRef<Node>) -> u16>), + FilterNative(Untraceable<fn (node: JSRef<Node>) -> u16>), FilterJS(NodeFilter) } diff --git a/components/script/dom/uievent.rs b/components/script/dom/uievent.rs index e8e381425bc..f8f7b59094d 100644 --- a/components/script/dom/uievent.rs +++ b/components/script/dom/uievent.rs @@ -40,13 +40,13 @@ impl UIEvent { } } - pub fn new_uninitialized(window: &JSRef<Window>) -> Temporary<UIEvent> { + pub fn new_uninitialized(window: JSRef<Window>) -> Temporary<UIEvent> { reflect_dom_object(box UIEvent::new_inherited(UIEventTypeId), - &Window(*window), + &Window(window), UIEventBinding::Wrap) } - pub fn new(window: &JSRef<Window>, + pub fn new(window: JSRef<Window>, type_: DOMString, can_bubble: bool, cancelable: bool, @@ -54,7 +54,7 @@ impl UIEvent { detail: i32) -> Temporary<UIEvent> { let ev = UIEvent::new_uninitialized(window).root(); ev.deref().InitUIEvent(type_, can_bubble, cancelable, view, detail); - Temporary::from_rooted(&*ev) + Temporary::from_rooted(*ev) } pub fn Constructor(global: &GlobalRef, @@ -82,7 +82,7 @@ impl<'a> UIEventMethods for JSRef<'a, UIEvent> { cancelable: bool, view: Option<JSRef<Window>>, detail: i32) { - let event: &JSRef<Event> = EventCast::from_ref(self); + let event: JSRef<Event> = EventCast::from_ref(*self); event.InitEvent(type_, can_bubble, cancelable); self.view.assign(view); self.detail.deref().set(detail); diff --git a/components/script/dom/urlsearchparams.rs b/components/script/dom/urlsearchparams.rs index e1d3d3e9902..7ac6067862e 100644 --- a/components/script/dom/urlsearchparams.rs +++ b/components/script/dom/urlsearchparams.rs @@ -56,7 +56,7 @@ impl URLSearchParams { }, None => {} } - Ok(Temporary::from_rooted(&*usp)) + Ok(Temporary::from_rooted(*usp)) } } diff --git a/components/script/dom/validitystate.rs b/components/script/dom/validitystate.rs index 382a55fa8c6..ac37eadd93e 100644 --- a/components/script/dom/validitystate.rs +++ b/components/script/dom/validitystate.rs @@ -23,9 +23,9 @@ impl ValidityState { } } - pub fn new(window: &JSRef<Window>) -> Temporary<ValidityState> { + pub fn new(window: JSRef<Window>) -> Temporary<ValidityState> { reflect_dom_object(box ValidityState::new_inherited(), - &Window(*window), + &Window(window), ValidityStateBinding::Wrap) } } diff --git a/components/script/dom/virtualmethods.rs b/components/script/dom/virtualmethods.rs index 9ce38c4908b..43c2d7184bd 100644 --- a/components/script/dom/virtualmethods.rs +++ b/components/script/dom/virtualmethods.rs @@ -116,7 +116,7 @@ pub trait VirtualMethods { } /// Called on the parent when a node is added to its child list. - fn child_inserted(&self, child: &JSRef<Node>) { + fn child_inserted(&self, child: JSRef<Node>) { match self.super_type() { Some(ref s) => s.child_inserted(child), _ => (), @@ -124,7 +124,7 @@ pub trait VirtualMethods { } /// Called during event dispatch after the bubbling phase completes. - fn handle_event(&self, event: &JSRef<Event>) { + fn handle_event(&self, event: JSRef<Event>) { match self.super_type() { Some(s) => { s.handle_event(event); @@ -141,75 +141,75 @@ pub trait VirtualMethods { pub fn vtable_for<'a>(node: &'a JSRef<Node>) -> &'a VirtualMethods { match node.type_id() { ElementNodeTypeId(HTMLAnchorElementTypeId) => { - let element: &JSRef<HTMLAnchorElement> = HTMLAnchorElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLAnchorElement> = HTMLAnchorElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLAreaElementTypeId) => { - let element: &JSRef<HTMLAreaElement> = HTMLAreaElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLAreaElement> = HTMLAreaElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLBodyElementTypeId) => { - let element: &JSRef<HTMLBodyElement> = HTMLBodyElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLBodyElement> = HTMLBodyElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLButtonElementTypeId) => { - let element: &JSRef<HTMLButtonElement> = HTMLButtonElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLButtonElement> = HTMLButtonElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLCanvasElementTypeId) => { - let element: &JSRef<HTMLCanvasElement> = HTMLCanvasElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLCanvasElement> = HTMLCanvasElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLFieldSetElementTypeId) => { - let element: &JSRef<HTMLFieldSetElement> = HTMLFieldSetElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLFieldSetElement> = HTMLFieldSetElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLImageElementTypeId) => { - let element: &JSRef<HTMLImageElement> = HTMLImageElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLImageElement> = HTMLImageElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLIFrameElementTypeId) => { - let element: &JSRef<HTMLIFrameElement> = HTMLIFrameElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLIFrameElement> = HTMLIFrameElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLInputElementTypeId) => { - let element: &JSRef<HTMLInputElement> = HTMLInputElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLInputElement> = HTMLInputElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLLinkElementTypeId) => { - let element: &JSRef<HTMLLinkElement> = HTMLLinkElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLLinkElement> = HTMLLinkElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLObjectElementTypeId) => { - let element: &JSRef<HTMLObjectElement> = HTMLObjectElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLObjectElement> = HTMLObjectElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLOptGroupElementTypeId) => { - let element: &JSRef<HTMLOptGroupElement> = HTMLOptGroupElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLOptGroupElement> = HTMLOptGroupElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLOptionElementTypeId) => { - let element: &JSRef<HTMLOptionElement> = HTMLOptionElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLOptionElement> = HTMLOptionElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLSelectElementTypeId) => { - let element: &JSRef<HTMLSelectElement> = HTMLSelectElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLSelectElement> = HTMLSelectElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLStyleElementTypeId) => { - let element: &JSRef<HTMLStyleElement> = HTMLStyleElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLStyleElement> = HTMLStyleElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(HTMLTextAreaElementTypeId) => { - let element: &JSRef<HTMLTextAreaElement> = HTMLTextAreaElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLTextAreaElement> = HTMLTextAreaElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(ElementTypeId) => { - let element: &JSRef<Element> = ElementCast::to_ref(node).unwrap(); + let element: &JSRef<Element> = ElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } ElementNodeTypeId(_) => { - let element: &JSRef<HTMLElement> = HTMLElementCast::to_ref(node).unwrap(); + let element: &JSRef<HTMLElement> = HTMLElementCast::to_borrowed_ref(node).unwrap(); element as &VirtualMethods } _ => { diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 8e89f462f8f..3c3f79d3da3 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -220,7 +220,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> { fn Location(&self) -> Temporary<Location> { if self.location.get().is_none() { let page = self.deref().page.clone(); - let location = Location::new(self, page); + let location = Location::new(*self, page); self.location.assign(Some(location)); } Temporary::new(self.location.get().get_ref().clone()) @@ -236,7 +236,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> { fn Navigator(&self) -> Temporary<Navigator> { if self.navigator.get().is_none() { - let navigator = Navigator::new(self); + let navigator = Navigator::new(*self); self.navigator.assign(Some(navigator)); } Temporary::new(self.navigator.get().get_ref().clone()) @@ -265,7 +265,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> { } fn Window(&self) -> Temporary<Window> { - Temporary::from_rooted(self) + Temporary::from_rooted(*self) } fn Self(&self) -> Temporary<Window> { @@ -284,55 +284,55 @@ impl<'a> WindowMethods for JSRef<'a, Window> { fn Performance(&self) -> Temporary<Performance> { if self.performance.get().is_none() { - let performance = Performance::new(self); + let performance = Performance::new(*self); self.performance.assign(Some(performance)); } Temporary::new(self.performance.get().get_ref().clone()) } fn GetOnclick(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("click") } fn SetOnclick(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("click", listener) } fn GetOnload(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("load") } fn SetOnload(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("load", listener) } fn GetOnunload(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("unload") } fn SetOnunload(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("unload", listener) } fn GetOnerror(&self) -> Option<OnErrorEventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("error") } fn SetOnerror(&self, listener: Option<OnErrorEventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("error", listener) } fn Screen(&self) -> Temporary<Screen> { if self.screen.get().is_none() { - let screen = Screen::new(self); + let screen = Screen::new(*self); self.screen.assign(Some(screen)); } Temporary::new(self.screen.get().get_ref().clone()) @@ -367,7 +367,7 @@ pub trait WindowHelpers { fn damage_and_reflow(&self, damage: DocumentDamageLevel); fn flush_layout(&self, goal: ReflowGoal); fn wait_until_safe_to_modify_dom(&self); - fn init_browser_context(&self, doc: &JSRef<Document>); + fn init_browser_context(&self, doc: JSRef<Document>); fn load_url(&self, href: DOMString); fn handle_fire_timer(&self, timer_id: TimerId, cx: *mut JSContext); fn evaluate_js_with_result(&self, code: &str) -> JSVal; @@ -412,7 +412,7 @@ impl<'a> WindowHelpers for JSRef<'a, Window> { self.page().join_layout(); } - fn init_browser_context(&self, doc: &JSRef<Document>) { + fn init_browser_context(&self, doc: JSRef<Document>) { *self.browser_context.deref().borrow_mut() = Some(BrowserContext::new(doc)); } diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index a34d47cef9b..be7a8ffb34d 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -75,7 +75,7 @@ impl Worker { worker_url, worker_ref, resource_task, global.script_chan().clone(), sender, receiver); - Ok(Temporary::from_rooted(&*worker)) + Ok(Temporary::from_rooted(*worker)) } pub fn handle_message(address: TrustedWorkerAddress, @@ -92,7 +92,7 @@ impl Worker { ptr::null(), ptr::mut_null()) != 0); } - let target: &JSRef<EventTarget> = EventTargetCast::from_ref(&*worker); + let target: JSRef<EventTarget> = EventTargetCast::from_ref(*worker); MessageEvent::dispatch_jsval(target, &global.root_ref(), message); } } @@ -144,12 +144,12 @@ impl<'a> WorkerMethods for JSRef<'a, Worker> { } fn GetOnmessage(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("message") } fn SetOnmessage(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("message", listener) } } diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs index 9c08bbce43f..897fe2fbc64 100644 --- a/components/script/dom/workerglobalscope.rs +++ b/components/script/dom/workerglobalscope.rs @@ -80,12 +80,12 @@ impl WorkerGlobalScope { impl<'a> WorkerGlobalScopeMethods for JSRef<'a, WorkerGlobalScope> { fn Self(&self) -> Temporary<WorkerGlobalScope> { - Temporary::from_rooted(self) + Temporary::from_rooted(*self) } fn Location(&self) -> Temporary<WorkerLocation> { if self.location.get().is_none() { - let location = WorkerLocation::new(self, self.worker_url.clone()); + let location = WorkerLocation::new(*self, self.worker_url.clone()); self.location.assign(Some(location)); } Temporary::new(self.location.get().get_ref().clone()) @@ -125,7 +125,7 @@ impl<'a> WorkerGlobalScopeMethods for JSRef<'a, WorkerGlobalScope> { fn Navigator(&self) -> Temporary<WorkerNavigator> { if self.navigator.get().is_none() { - let navigator = WorkerNavigator::new(self); + let navigator = WorkerNavigator::new(*self); self.navigator.assign(Some(navigator)); } Temporary::new(self.navigator.get().get_ref().clone()) diff --git a/components/script/dom/workerlocation.rs b/components/script/dom/workerlocation.rs index 8154d4d01b7..7092b2979ec 100644 --- a/components/script/dom/workerlocation.rs +++ b/components/script/dom/workerlocation.rs @@ -29,9 +29,9 @@ impl WorkerLocation { } } - pub fn new(global: &JSRef<WorkerGlobalScope>, url: Url) -> Temporary<WorkerLocation> { + pub fn new(global: JSRef<WorkerGlobalScope>, url: Url) -> Temporary<WorkerLocation> { reflect_dom_object(box WorkerLocation::new_inherited(url), - &Worker(*global), + &Worker(global), WorkerLocationBinding::Wrap) } } diff --git a/components/script/dom/workernavigator.rs b/components/script/dom/workernavigator.rs index 4acdaa67ff3..d17cccb13f3 100644 --- a/components/script/dom/workernavigator.rs +++ b/components/script/dom/workernavigator.rs @@ -23,9 +23,9 @@ impl WorkerNavigator { } } - pub fn new(global: &JSRef<WorkerGlobalScope>) -> Temporary<WorkerNavigator> { + pub fn new(global: JSRef<WorkerGlobalScope>) -> Temporary<WorkerNavigator> { reflect_dom_object(box WorkerNavigator::new_inherited(), - &Worker(*global), + &Worker(global), WorkerNavigatorBinding::Wrap) } } diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index 025403e1698..3f3be18a4ed 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -138,7 +138,7 @@ impl XMLHttpRequest { ready_state: Traceable::new(Cell::new(Unsent)), timeout: Traceable::new(Cell::new(0u32)), with_credentials: Traceable::new(Cell::new(false)), - upload: JS::from_rooted(&XMLHttpRequestUpload::new(global)), + upload: JS::from_rooted(XMLHttpRequestUpload::new(global)), response_url: "".to_string(), status: Traceable::new(Cell::new(0)), status_text: Traceable::new(RefCell::new(ByteString::new(vec!()))), @@ -260,12 +260,12 @@ impl XMLHttpRequest { impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { fn GetOnreadystatechange(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("readystatechange") } fn SetOnreadystatechange(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("readystatechange", listener) } @@ -467,8 +467,8 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { } // Step 8 - let upload_target = &*self.upload.root(); - let event_target: &JSRef<EventTarget> = EventTargetCast::from_ref(upload_target); + let upload_target = *self.upload.root(); + let event_target: JSRef<EventTarget> = EventTargetCast::from_ref(upload_target); if event_target.has_handlers() { self.upload_events.deref().set(true); } @@ -741,8 +741,8 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { let event = Event::new(&global.root_ref(), "readystatechange".to_string(), false, true).root(); - let target: &JSRef<EventTarget> = EventTargetCast::from_ref(self); - target.dispatch_event_with_target(None, &*event).ok(); + let target: JSRef<EventTarget> = EventTargetCast::from_ref(*self); + target.dispatch_event_with_target(None, *event).ok(); } fn process_partial_response(&self, progress: XHRProgress) { @@ -859,17 +859,17 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { fn dispatch_progress_event(&self, upload: bool, type_: DOMString, loaded: u64, total: Option<u64>) { let global = self.global.root(); - let upload_target = &*self.upload.root(); + let upload_target = *self.upload.root(); let progressevent = ProgressEvent::new(&global.root_ref(), type_, false, false, total.is_some(), loaded, total.unwrap_or(0)).root(); - let target: &JSRef<EventTarget> = if upload { + let target: JSRef<EventTarget> = if upload { EventTargetCast::from_ref(upload_target) } else { - EventTargetCast::from_ref(self) + EventTargetCast::from_ref(*self) }; - let event: &JSRef<Event> = EventCast::from_ref(&*progressevent); + let event: JSRef<Event> = EventCast::from_ref(*progressevent); target.dispatch_event_with_target(None, event).ok(); } diff --git a/components/script/dom/xmlhttprequesteventtarget.rs b/components/script/dom/xmlhttprequesteventtarget.rs index 5b3489edce0..805cceebc96 100644 --- a/components/script/dom/xmlhttprequesteventtarget.rs +++ b/components/script/dom/xmlhttprequesteventtarget.rs @@ -42,72 +42,72 @@ impl Reflectable for XMLHttpRequestEventTarget { impl<'a> XMLHttpRequestEventTargetMethods for JSRef<'a, XMLHttpRequestEventTarget> { fn GetOnloadstart(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("loadstart") } fn SetOnloadstart(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("loadstart", listener) } fn GetOnprogress(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("progress") } fn SetOnprogress(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("progress", listener) } fn GetOnabort(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("abort") } fn SetOnabort(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("abort", listener) } fn GetOnerror(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("error") } fn SetOnerror(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("error", listener) } fn GetOnload(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("load") } fn SetOnload(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("load", listener) } fn GetOntimeout(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("timeout") } fn SetOntimeout(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("timeout", listener) } fn GetOnloadend(&self) -> Option<EventHandlerNonNull> { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.get_event_handler_common("loadend") } fn SetOnloadend(&self, listener: Option<EventHandlerNonNull>) { - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(self); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(*self); eventtarget.set_event_handler_common("loadend", listener) } } diff --git a/components/script/html/hubbub_html_parser.rs b/components/script/html/hubbub_html_parser.rs index 74dd6ca933b..96f23174a61 100644 --- a/components/script/html/hubbub_html_parser.rs +++ b/components/script/html/hubbub_html_parser.rs @@ -152,7 +152,7 @@ fn parse_last_modified(timestamp: &str) -> String { // Silly macros to handle constructing DOM nodes. This produces bad code and should be optimized // via atomization (issue #85). -pub fn build_element_from_tag(tag: DOMString, ns: Namespace, document: &JSRef<Document>) -> Temporary<Element> { +pub fn build_element_from_tag(tag: DOMString, ns: Namespace, document: JSRef<Document>) -> Temporary<Element> { if ns != namespace::HTML { return Element::new(tag, ns, None, document); } @@ -285,7 +285,7 @@ pub fn build_element_from_tag(tag: DOMString, ns: Namespace, document: &JSRef<Do } pub fn parse_html(page: &Page, - document: &JSRef<Document>, + document: JSRef<Document>, input: HTMLInput, resource_task: ResourceTask) -> HtmlParserResult { @@ -354,7 +354,7 @@ pub fn parse_html(page: &Page, let tmp_borrow = doc_cell.borrow(); let tmp = &*tmp_borrow; let comment = Comment::new(data, *tmp).root(); - let comment: &JSRef<Node> = NodeCast::from_ref(&*comment); + let comment: JSRef<Node> = NodeCast::from_ref(*comment); unsafe { comment.to_hubbub_node() } }, create_doctype: |box hubbub::Doctype { name: name, public_id: public_id, system_id: system_id, ..}: Box<hubbub::Doctype>| { @@ -412,7 +412,7 @@ pub fn parse_html(page: &Page, debug!("append child {:x} {:x}", parent, child); let child: Root<Node> = from_hubbub_node(child).root(); let parent: Root<Node> = from_hubbub_node(parent).root(); - assert!(parent.deref().AppendChild(&*child).is_ok()); + assert!(parent.deref().AppendChild(*child).is_ok()); } child }, @@ -464,14 +464,14 @@ pub fn parse_html(page: &Page, complete_script: |script| { unsafe { let script = from_hubbub_node::<Node>(script).root(); - let script: Option<&JSRef<HTMLScriptElement>> = - HTMLScriptElementCast::to_ref(&*script); + let script: Option<JSRef<HTMLScriptElement>> = + HTMLScriptElementCast::to_ref(*script); let script = match script { Some(script) if script.is_javascript() => script, _ => return, }; - let script_element: &JSRef<Element> = ElementCast::from_ref(script); + let script_element: JSRef<Element> = ElementCast::from_ref(script); match script_element.get_attribute(Null, "src").root() { Some(src) => { debug!("found script: {:s}", src.deref().Value()); @@ -489,11 +489,11 @@ pub fn parse_html(page: &Page, } None => { let mut data = String::new(); - let scriptnode: &JSRef<Node> = NodeCast::from_ref(script); + let scriptnode: JSRef<Node> = NodeCast::from_ref(script); debug!("iterating over children {:?}", scriptnode.first_child()); for child in scriptnode.children() { debug!("child = {:?}", child); - let text: &JSRef<Text> = TextCast::to_ref(&child).unwrap(); + let text: JSRef<Text> = TextCast::to_ref(child).unwrap(); data.push_str(text.deref().characterdata.data.deref().borrow().as_slice()); } diff --git a/components/script/page.rs b/components/script/page.rs index 9bea4751c53..c4a2a217fec 100644 --- a/components/script/page.rs +++ b/components/script/page.rs @@ -271,7 +271,7 @@ impl Page { match root.root() { None => {}, Some(root) => { - let root: &JSRef<Node> = NodeCast::from_ref(&*root); + let root: JSRef<Node> = NodeCast::from_ref(*root); let mut damage = *self.damage.deref().borrow_mut(); match damage { None => {} @@ -366,7 +366,7 @@ impl Page { let last_reflow_id = self.last_reflow_id.deref(); last_reflow_id.set(last_reflow_id.get() + 1); - let root: &JSRef<Node> = NodeCast::from_ref(&*root); + let root: JSRef<Node> = NodeCast::from_ref(*root); let mut damage = self.damage.deref().borrow_mut(); let window_size = self.window_size.deref().get(); @@ -397,15 +397,15 @@ impl Page { match document.deref().GetElementById(fragid.to_string()) { Some(node) => Some(node), None => { - let doc_node: &JSRef<Node> = NodeCast::from_ref(&*document); + let doc_node: JSRef<Node> = NodeCast::from_ref(*document); let mut anchors = doc_node.traverse_preorder() .filter(|node| node.is_anchor_element()); anchors.find(|node| { - let elem: &JSRef<Element> = ElementCast::to_ref(node).unwrap(); + let elem: JSRef<Element> = ElementCast::to_ref(*node).unwrap(); elem.get_attribute(Null, "name").root().map_or(false, |attr| { attr.deref().value().as_slice() == fragid.as_slice() }) - }).map(|node| Temporary::from_rooted(ElementCast::to_ref(&node).unwrap())) + }).map(|node| Temporary::from_rooted(ElementCast::to_ref(node).unwrap())) } } } @@ -418,7 +418,7 @@ impl Page { return None; } let root = root.unwrap(); - let root: &JSRef<Node> = NodeCast::from_ref(&*root); + let root: JSRef<Node> = NodeCast::from_ref(*root); let address = match self.layout().hit_test(root.to_trusted_node_address(), *point) { Ok(HitTestResponse(node_address)) => { Some(node_address) @@ -439,7 +439,7 @@ impl Page { return None; } let root = root.unwrap(); - let root: &JSRef<Node> = NodeCast::from_ref(&*root); + let root: JSRef<Node> = NodeCast::from_ref(*root); let address = match self.layout().mouse_over(root.to_trusted_node_address(), *point) { Ok(MouseOverResponse(node_address)) => { Some(node_address) diff --git a/components/script/script_task.rs b/components/script/script_task.rs index 1dd63abeadd..c7404920690 100644 --- a/components/script/script_task.rs +++ b/components/script/script_task.rs @@ -543,7 +543,7 @@ impl ScriptTask { let frame = page.frame(); let document = frame.get_ref().document.root(); - let node: &JSRef<Node> = NodeCast::from_ref(&*document); + let node: JSRef<Node> = NodeCast::from_ref(*document); reply.send(node.summarize()); } @@ -553,7 +553,7 @@ impl ScriptTask { let document = frame.get_ref().document.root(); let document_element = document.GetDocumentElement().root().unwrap(); - let node: &JSRef<Node> = NodeCast::from_ref(&*document_element); + let node: JSRef<Node> = NodeCast::from_ref(*document_element); reply.send(node.summarize()); } @@ -561,11 +561,11 @@ impl ScriptTask { let page = get_page(&*self.page.borrow(), pipeline); let frame = page.frame(); let document = frame.get_ref().document.root(); - let node: &JSRef<Node> = NodeCast::from_ref(&*document); + let node: JSRef<Node> = NodeCast::from_ref(*document); for candidate in node.traverse_preorder() { if candidate.get_unique_id().as_slice() == node_id.as_slice() { - return Temporary::from_rooted(&candidate); + return Temporary::from_rooted(candidate); } } @@ -580,7 +580,7 @@ impl ScriptTask { fn handle_get_layout(&self, pipeline: PipelineId, node_id: String, reply: Sender<(f32, f32)>) { let node = self.find_node_by_unique_id(pipeline, node_id).root(); - let elem: &JSRef<Element> = ElementCast::to_ref(&*node).expect("should be getting layout of element"); + let elem: JSRef<Element> = ElementCast::to_ref(*node).expect("should be getting layout of element"); let rect = elem.GetBoundingClientRect().root(); reply.send((rect.Width(), rect.Height())); } @@ -747,9 +747,9 @@ impl ScriptTask { } else { Some(url.clone()) }; - let document = Document::new(&*window, doc_url, HTMLDocument, None).root(); + let document = Document::new(*window, doc_url, HTMLDocument, None).root(); - window.deref().init_browser_context(&*document); + window.deref().init_browser_context(*document); self.compositor.set_ready_state(pipeline_id, Loading); @@ -767,7 +767,7 @@ impl ScriptTask { // Note: We can parse the next document in parallel with any previous documents. let html_parsing_result = hubbub_html_parser::parse_html(&*page, - &*document, + *document, parser_input, self.resource_task.clone()); @@ -779,8 +779,8 @@ impl ScriptTask { // Create the root frame. let mut frame = page.mut_frame(); *frame = Some(Frame { - document: JS::from_rooted(document.deref()), - window: JS::from_rooted(window.deref()), + document: JS::from_rooted(*document), + window: JS::from_rooted(*window), }); } @@ -842,10 +842,9 @@ impl ScriptTask { // "load" event as soon as we've finished executing all scripts parsed during // the initial load. let event = Event::new(&Window(*window), "load".to_string(), false, false).root(); - let doctarget: &JSRef<EventTarget> = EventTargetCast::from_ref(&*document); - let wintarget: &JSRef<EventTarget> = EventTargetCast::from_ref(&*window); - let _ = wintarget.dispatch_event_with_target(Some((*doctarget).clone()), - &*event); + let doctarget: JSRef<EventTarget> = EventTargetCast::from_ref(*document); + let wintarget: JSRef<EventTarget> = EventTargetCast::from_ref(*window); + let _ = wintarget.dispatch_event_with_target(Some(doctarget), *event); page.fragment_node.assign(fragment.map_or(None, |fragid| page.find_fragment_node(fragid))); @@ -853,8 +852,8 @@ impl ScriptTask { chan.send(LoadCompleteMsg(page.id, url)); } - fn scroll_fragment_point(&self, pipeline_id: PipelineId, node: &JSRef<Element>) { - let node: &JSRef<Node> = NodeCast::from_ref(node); + fn scroll_fragment_point(&self, pipeline_id: PipelineId, node: JSRef<Element>) { + let node: JSRef<Node> = NodeCast::from_ref(node); let rect = node.get_bounding_content_box(); let point = Point2D(to_frac_px(rect.origin.x).to_f32().unwrap(), to_frac_px(rect.origin.y).to_f32().unwrap()); @@ -885,7 +884,7 @@ impl ScriptTask { let mut fragment_node = page.fragment_node.get(); match fragment_node.take().map(|node| node.root()) { - Some(node) => self.scroll_fragment_point(pipeline_id, &*node), + Some(node) => self.scroll_fragment_point(pipeline_id, *node), None => {} } @@ -896,13 +895,13 @@ impl ScriptTask { Some(window) => { // http://dev.w3.org/csswg/cssom-view/#resizing-viewports // https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#event-type-resize - let uievent = UIEvent::new(&window.clone(), + let uievent = UIEvent::new(window.clone(), "resize".to_string(), false, false, Some(window.clone()), 0i32).root(); - let event: &JSRef<Event> = EventCast::from_ref(&*uievent); + let event: JSRef<Event> = EventCast::from_ref(*uievent); - let wintarget: &JSRef<EventTarget> = EventTargetCast::from_ref(&*window); + let wintarget: JSRef<EventTarget> = EventTargetCast::from_ref(*window); let _ = wintarget.dispatch_event_with_target(None, event); } None => () @@ -949,8 +948,8 @@ impl ScriptTask { Event::new(&Window(*window), "click".to_string(), true, true).root(); - let eventtarget: &JSRef<EventTarget> = EventTargetCast::from_ref(&node); - let _ = eventtarget.dispatch_event_with_target(None, &*event); + let eventtarget: JSRef<EventTarget> = EventTargetCast::from_ref(node); + let _ = eventtarget.dispatch_event_with_target(None, *event); } None => {} } @@ -997,12 +996,12 @@ impl ScriptTask { match *mouse_over_targets { Some(ref mouse_over_targets) => { if !target_compare { - target_compare = !mouse_over_targets.contains(&JS::from_rooted(&node)); + target_compare = !mouse_over_targets.contains(&JS::from_rooted(node)); } } None => {} } - target_list.push(JS::from_rooted(&node)); + target_list.push(JS::from_rooted(node)); } None => {} } @@ -1044,7 +1043,7 @@ impl ScriptTask { let page = get_page(&*self.page.borrow(), pipeline_id); match page.find_fragment_node(url.fragment.unwrap()).root() { Some(node) => { - self.scroll_fragment_point(pipeline_id, &*node); + self.scroll_fragment_point(pipeline_id, *node); } None => {} } |