From ffdc3f5b32a345b88eed774848924e862d47c093 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Fri, 28 Mar 2014 10:17:56 -0400 Subject: Turn on GC all the time. Fix rooting errors during parsing and storing timers. Fix borrow errors during tracing. --- src/components/script/dom/htmlsourceelement.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/components/script/dom/htmlsourceelement.rs') diff --git a/src/components/script/dom/htmlsourceelement.rs b/src/components/script/dom/htmlsourceelement.rs index 86f45c131ee..8db513bfbd2 100644 --- a/src/components/script/dom/htmlsourceelement.rs +++ b/src/components/script/dom/htmlsourceelement.rs @@ -4,7 +4,7 @@ use dom::bindings::codegen::BindingDeclarations::HTMLSourceElementBinding; use dom::bindings::codegen::InheritTypes::HTMLSourceElementDerived; -use dom::bindings::js::JS; +use dom::bindings::js::{JS, JSRef}; use dom::bindings::error::ErrorResult; use dom::document::Document; use dom::element::HTMLSourceElementTypeId; @@ -34,8 +34,8 @@ impl HTMLSourceElement { } } - pub fn new(localName: DOMString, document: &JS) -> JS { - let element = HTMLSourceElement::new_inherited(localName, document.clone()); + pub fn new(localName: DOMString, document: &JSRef) -> JS { + let element = HTMLSourceElement::new_inherited(localName, document.unrooted()); Node::reflect_node(~element, document, HTMLSourceElementBinding::Wrap) } } -- cgit v1.2.3 From d7b96db33ca8f2b8a162df38e0f00e95f5ea6fa1 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 31 Mar 2014 18:41:28 -0400 Subject: Implement safe rooting strategy via Unrooted, Root, JSRef, and JS. --- src/components/script/dom/htmlsourceelement.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/components/script/dom/htmlsourceelement.rs') diff --git a/src/components/script/dom/htmlsourceelement.rs b/src/components/script/dom/htmlsourceelement.rs index 8db513bfbd2..ef7ec5c9108 100644 --- a/src/components/script/dom/htmlsourceelement.rs +++ b/src/components/script/dom/htmlsourceelement.rs @@ -4,7 +4,7 @@ use dom::bindings::codegen::BindingDeclarations::HTMLSourceElementBinding; use dom::bindings::codegen::InheritTypes::HTMLSourceElementDerived; -use dom::bindings::js::{JS, JSRef}; +use dom::bindings::js::{JS, JSRef, Unrooted}; use dom::bindings::error::ErrorResult; use dom::document::Document; use dom::element::HTMLSourceElementTypeId; @@ -34,7 +34,7 @@ impl HTMLSourceElement { } } - pub fn new(localName: DOMString, document: &JSRef) -> JS { + pub fn new(localName: DOMString, document: &JSRef) -> Unrooted { let element = HTMLSourceElement::new_inherited(localName, document.unrooted()); Node::reflect_node(~element, document, HTMLSourceElementBinding::Wrap) } -- cgit v1.2.3 From 76783b029e5e10da7fd61ab356a8f80a1eaf32e0 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 10 Apr 2014 21:29:54 -0400 Subject: Move WebIDL methods to traits implemented by JSRef types. --- src/components/script/dom/htmlsourceelement.rs | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'src/components/script/dom/htmlsourceelement.rs') diff --git a/src/components/script/dom/htmlsourceelement.rs b/src/components/script/dom/htmlsourceelement.rs index ef7ec5c9108..76d7cb28bab 100644 --- a/src/components/script/dom/htmlsourceelement.rs +++ b/src/components/script/dom/htmlsourceelement.rs @@ -40,28 +40,38 @@ impl HTMLSourceElement { } } -impl HTMLSourceElement { - pub fn Src(&self) -> DOMString { +pub trait HTMLSourceElementMethods { + fn Src(&self) -> DOMString; + fn SetSrc(&mut self, _src: DOMString) -> ErrorResult; + fn Type(&self) -> DOMString; + fn SetType(&mut self, _type: DOMString) -> ErrorResult; + fn Media(&self) -> DOMString; + fn SetMedia(&mut self, _media: DOMString) -> ErrorResult; +} + +impl<'a> HTMLSourceElementMethods for JSRef<'a, HTMLSourceElement> { + fn Src(&self) -> DOMString { ~"" } - pub fn SetSrc(&mut self, _src: DOMString) -> ErrorResult { + fn SetSrc(&mut self, _src: DOMString) -> ErrorResult { Ok(()) } - pub fn Type(&self) -> DOMString { + fn Type(&self) -> DOMString { ~"" } - pub fn SetType(&mut self, _type: DOMString) -> ErrorResult { + fn SetType(&mut self, _type: DOMString) -> ErrorResult { Ok(()) } - pub fn Media(&self) -> DOMString { + fn Media(&self) -> DOMString { ~"" } - pub fn SetMedia(&mut self, _media: DOMString) -> ErrorResult { + fn SetMedia(&mut self, _media: DOMString) -> ErrorResult { Ok(()) } } + -- cgit v1.2.3 From 522d3f167b12fa79401eea5525c7b6133cae0f06 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 17 Apr 2014 17:08:00 -0400 Subject: s/Unrooted/Temporary/g --- src/components/script/dom/htmlsourceelement.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/components/script/dom/htmlsourceelement.rs') diff --git a/src/components/script/dom/htmlsourceelement.rs b/src/components/script/dom/htmlsourceelement.rs index 76d7cb28bab..41586e55401 100644 --- a/src/components/script/dom/htmlsourceelement.rs +++ b/src/components/script/dom/htmlsourceelement.rs @@ -4,7 +4,7 @@ use dom::bindings::codegen::BindingDeclarations::HTMLSourceElementBinding; use dom::bindings::codegen::InheritTypes::HTMLSourceElementDerived; -use dom::bindings::js::{JS, JSRef, Unrooted}; +use dom::bindings::js::{JS, JSRef, Temporary}; use dom::bindings::error::ErrorResult; use dom::document::Document; use dom::element::HTMLSourceElementTypeId; @@ -34,7 +34,7 @@ impl HTMLSourceElement { } } - pub fn new(localName: DOMString, document: &JSRef) -> Unrooted { + pub fn new(localName: DOMString, document: &JSRef) -> Temporary { let element = HTMLSourceElement::new_inherited(localName, document.unrooted()); Node::reflect_node(~element, document, HTMLSourceElementBinding::Wrap) } -- cgit v1.2.3 From 0f2d0b1dc3d98ef109627dda061c5a54ff06a91d Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Fri, 18 Apr 2014 00:12:52 -0400 Subject: Address review comments. --- src/components/script/dom/htmlsourceelement.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/components/script/dom/htmlsourceelement.rs') diff --git a/src/components/script/dom/htmlsourceelement.rs b/src/components/script/dom/htmlsourceelement.rs index 41586e55401..bc5c70a7ce6 100644 --- a/src/components/script/dom/htmlsourceelement.rs +++ b/src/components/script/dom/htmlsourceelement.rs @@ -4,7 +4,7 @@ use dom::bindings::codegen::BindingDeclarations::HTMLSourceElementBinding; use dom::bindings::codegen::InheritTypes::HTMLSourceElementDerived; -use dom::bindings::js::{JS, JSRef, Temporary}; +use dom::bindings::js::{JSRef, Temporary}; use dom::bindings::error::ErrorResult; use dom::document::Document; use dom::element::HTMLSourceElementTypeId; @@ -28,14 +28,14 @@ impl HTMLSourceElementDerived for EventTarget { } impl HTMLSourceElement { - pub fn new_inherited(localName: DOMString, document: JS) -> HTMLSourceElement { + pub fn new_inherited(localName: DOMString, document: &JSRef) -> HTMLSourceElement { HTMLSourceElement { htmlelement: HTMLElement::new_inherited(HTMLSourceElementTypeId, localName, document) } } pub fn new(localName: DOMString, document: &JSRef) -> Temporary { - let element = HTMLSourceElement::new_inherited(localName, document.unrooted()); + let element = HTMLSourceElement::new_inherited(localName, document); Node::reflect_node(~element, document, HTMLSourceElementBinding::Wrap) } } -- cgit v1.2.3 From 91278da9dd55582401154e07f9eea34425a332c2 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 24 Apr 2014 13:03:19 -0400 Subject: Address review comments. --- src/components/script/dom/htmlsourceelement.rs | 1 - 1 file changed, 1 deletion(-) (limited to 'src/components/script/dom/htmlsourceelement.rs') diff --git a/src/components/script/dom/htmlsourceelement.rs b/src/components/script/dom/htmlsourceelement.rs index bc5c70a7ce6..5ea79b01b45 100644 --- a/src/components/script/dom/htmlsourceelement.rs +++ b/src/components/script/dom/htmlsourceelement.rs @@ -74,4 +74,3 @@ impl<'a> HTMLSourceElementMethods for JSRef<'a, HTMLSourceElement> { Ok(()) } } - -- cgit v1.2.3