aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2014-04-18 00:12:52 -0400
committerJosh Matthews <josh@joshmatthews.net>2014-05-03 14:18:31 -0400
commit0f2d0b1dc3d98ef109627dda061c5a54ff06a91d (patch)
treea698b4eb0829079f09ad862c43a4eb1101c78e40 /src
parent7b3e6d1f2125faf598919722b72cc56197d0102c (diff)
downloadservo-0f2d0b1dc3d98ef109627dda061c5a54ff06a91d.tar.gz
servo-0f2d0b1dc3d98ef109627dda061c5a54ff06a91d.zip
Address review comments.
Diffstat (limited to 'src')
-rw-r--r--src/components/script/dom/attrlist.rs10
-rw-r--r--src/components/script/dom/bindings/codegen/CodegenRust.py22
-rw-r--r--src/components/script/dom/bindings/codegen/Configuration.py1
-rw-r--r--src/components/script/dom/bindings/js.rs97
-rw-r--r--src/components/script/dom/bindings/utils.rs3
-rw-r--r--src/components/script/dom/blob.rs6
-rw-r--r--src/components/script/dom/characterdata.rs4
-rw-r--r--src/components/script/dom/clientrect.rs6
-rw-r--r--src/components/script/dom/clientrectlist.rs6
-rw-r--r--src/components/script/dom/comment.rs6
-rw-r--r--src/components/script/dom/document.rs34
-rw-r--r--src/components/script/dom/documentfragment.rs6
-rw-r--r--src/components/script/dom/documenttype.rs6
-rw-r--r--src/components/script/dom/domimplementation.rs10
-rw-r--r--src/components/script/dom/domparser.rs6
-rw-r--r--src/components/script/dom/element.rs12
-rw-r--r--src/components/script/dom/event.rs2
-rw-r--r--src/components/script/dom/eventdispatcher.rs2
-rw-r--r--src/components/script/dom/formdata.rs6
-rw-r--r--src/components/script/dom/htmlanchorelement.rs6
-rw-r--r--src/components/script/dom/htmlappletelement.rs6
-rw-r--r--src/components/script/dom/htmlareaelement.rs6
-rw-r--r--src/components/script/dom/htmlaudioelement.rs6
-rw-r--r--src/components/script/dom/htmlbaseelement.rs6
-rw-r--r--src/components/script/dom/htmlbodyelement.rs6
-rw-r--r--src/components/script/dom/htmlbrelement.rs6
-rw-r--r--src/components/script/dom/htmlbuttonelement.rs10
-rw-r--r--src/components/script/dom/htmlcanvaselement.rs6
-rw-r--r--src/components/script/dom/htmlcollection.rs12
-rw-r--r--src/components/script/dom/htmldataelement.rs6
-rw-r--r--src/components/script/dom/htmldatalistelement.rs6
-rw-r--r--src/components/script/dom/htmldirectoryelement.rs6
-rw-r--r--src/components/script/dom/htmldivelement.rs6
-rw-r--r--src/components/script/dom/htmldlistelement.rs6
-rw-r--r--src/components/script/dom/htmlelement.rs6
-rw-r--r--src/components/script/dom/htmlembedelement.rs6
-rw-r--r--src/components/script/dom/htmlfieldsetelement.rs6
-rw-r--r--src/components/script/dom/htmlfontelement.rs6
-rw-r--r--src/components/script/dom/htmlformelement.rs6
-rw-r--r--src/components/script/dom/htmlframeelement.rs6
-rw-r--r--src/components/script/dom/htmlframesetelement.rs6
-rw-r--r--src/components/script/dom/htmlheadelement.rs6
-rw-r--r--src/components/script/dom/htmlheadingelement.rs6
-rw-r--r--src/components/script/dom/htmlhrelement.rs6
-rw-r--r--src/components/script/dom/htmlhtmlelement.rs6
-rw-r--r--src/components/script/dom/htmliframeelement.rs6
-rw-r--r--src/components/script/dom/htmlimageelement.rs4
-rw-r--r--src/components/script/dom/htmlinputelement.rs6
-rw-r--r--src/components/script/dom/htmllabelelement.rs6
-rw-r--r--src/components/script/dom/htmllegendelement.rs6
-rw-r--r--src/components/script/dom/htmllielement.rs6
-rw-r--r--src/components/script/dom/htmllinkelement.rs6
-rw-r--r--src/components/script/dom/htmlmainelement.rs6
-rw-r--r--src/components/script/dom/htmlmapelement.rs6
-rw-r--r--src/components/script/dom/htmlmediaelement.rs4
-rw-r--r--src/components/script/dom/htmlmetaelement.rs6
-rw-r--r--src/components/script/dom/htmlmeterelement.rs6
-rw-r--r--src/components/script/dom/htmlmodelement.rs6
-rw-r--r--src/components/script/dom/htmlobjectelement.rs6
-rw-r--r--src/components/script/dom/htmlolistelement.rs6
-rw-r--r--src/components/script/dom/htmloptgroupelement.rs6
-rw-r--r--src/components/script/dom/htmloptionelement.rs6
-rw-r--r--src/components/script/dom/htmloutputelement.rs10
-rw-r--r--src/components/script/dom/htmlparagraphelement.rs6
-rw-r--r--src/components/script/dom/htmlparamelement.rs6
-rw-r--r--src/components/script/dom/htmlpreelement.rs6
-rw-r--r--src/components/script/dom/htmlprogresselement.rs6
-rw-r--r--src/components/script/dom/htmlquoteelement.rs6
-rw-r--r--src/components/script/dom/htmlscriptelement.rs6
-rw-r--r--src/components/script/dom/htmlselectelement.rs10
-rw-r--r--src/components/script/dom/htmlsourceelement.rs6
-rw-r--r--src/components/script/dom/htmlspanelement.rs6
-rw-r--r--src/components/script/dom/htmlstyleelement.rs6
-rw-r--r--src/components/script/dom/htmltablecaptionelement.rs6
-rw-r--r--src/components/script/dom/htmltablecellelement.rs4
-rw-r--r--src/components/script/dom/htmltablecolelement.rs6
-rw-r--r--src/components/script/dom/htmltabledatacellelement.rs6
-rw-r--r--src/components/script/dom/htmltableelement.rs6
-rw-r--r--src/components/script/dom/htmltableheadercellelement.rs6
-rw-r--r--src/components/script/dom/htmltablerowelement.rs6
-rw-r--r--src/components/script/dom/htmltablesectionelement.rs6
-rw-r--r--src/components/script/dom/htmltemplateelement.rs6
-rw-r--r--src/components/script/dom/htmltextareaelement.rs6
-rw-r--r--src/components/script/dom/htmltimeelement.rs6
-rw-r--r--src/components/script/dom/htmltitleelement.rs6
-rw-r--r--src/components/script/dom/htmltrackelement.rs6
-rw-r--r--src/components/script/dom/htmlulistelement.rs6
-rw-r--r--src/components/script/dom/htmlunknownelement.rs6
-rw-r--r--src/components/script/dom/htmlvideoelement.rs6
-rw-r--r--src/components/script/dom/mouseevent.rs6
-rw-r--r--src/components/script/dom/node.rs41
-rw-r--r--src/components/script/dom/nodelist.rs8
-rw-r--r--src/components/script/dom/processinginstruction.rs6
-rw-r--r--src/components/script/dom/text.rs6
-rw-r--r--src/components/script/dom/uievent.rs6
-rw-r--r--src/components/script/dom/validitystate.rs6
-rw-r--r--src/components/script/dom/window.rs4
-rw-r--r--src/components/script/dom/xmlhttprequest.rs2
-rw-r--r--src/components/script/script_task.rs6
99 files changed, 388 insertions, 380 deletions
diff --git a/src/components/script/dom/attrlist.rs b/src/components/script/dom/attrlist.rs
index 70db8f59971..e707a42b13f 100644
--- a/src/components/script/dom/attrlist.rs
+++ b/src/components/script/dom/attrlist.rs
@@ -17,16 +17,16 @@ pub struct AttrList {
}
impl AttrList {
- pub fn new_inherited(window: JS<Window>, elem: JS<Element>) -> AttrList {
+ pub fn new_inherited(window: &JSRef<Window>, elem: &JSRef<Element>) -> AttrList {
AttrList {
reflector_: Reflector::new(),
- window: window,
- owner: elem
+ window: window.unrooted(),
+ owner: elem.unrooted(),
}
}
pub fn new(window: &JSRef<Window>, elem: &JSRef<Element>) -> Temporary<AttrList> {
- reflect_dom_object(~AttrList::new_inherited(window.unrooted(), elem.unrooted()),
+ reflect_dom_object(~AttrList::new_inherited(window, elem),
window, AttrListBinding::Wrap)
}
}
@@ -37,7 +37,7 @@ pub trait AttrListMethods {
fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Temporary<Attr>>;
}
-impl<'a> AttrListMethods for JSRef<'a, AttrList> {
+impl<'a> AttrListMethods for JSRef<'a, AttrList> {
fn Length(&self) -> u32 {
self.owner.root().attrs.len() as u32
}
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py
index 8472686e536..1aa46c6a44a 100644
--- a/src/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/src/components/script/dom/bindings/codegen/CodegenRust.py
@@ -558,15 +558,6 @@ def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None,
else:
assert(defaultValue is None)
- #if type.isGeckoInterface() and not type.unroll().inner.isCallback():
- # if type.nullable() or isOptional:
- #
- # else:
- #
- # templateBody = CGList([CGGeneric(templateBody),
- # CGGeneric("\n"),
- # CGGeneric(rootBody)]).define()
-
return templateBody
assert not (isEnforceRange and isClamp) # These are mutually exclusive
@@ -901,12 +892,7 @@ def instantiateJSToNativeConversionTemplate(templateTuple, replacements,
type = declType.define() if declType else None
if type and 'JS<' in type:
- if dealWithOptional or 'Option<' in type:
- rootBody = """let ${simpleDeclName} = ${declName}.as_ref().map(|inner| {
- inner.root() //second root code
-});"""
- else:
- rootBody = "let ${simpleDeclName} = ${declName}.root(); //third root code"
+ rootBody = "let ${simpleDeclName} = ${declName}.root();"
result.append(CGGeneric(string.Template(rootBody).substitute(replacements)))
result.append(CGGeneric(""))
@@ -1725,8 +1711,6 @@ class Argument():
A class for outputting the type and name of an argument
"""
def __init__(self, argType, name, default=None, mutable=False):
- if argType and 'JS<' in argType:
- argType = argType.replace('JS<', 'JSRef<')
self.argType = argType
self.name = name
self.default = default
@@ -4321,7 +4305,7 @@ class CGBindingRoot(CGThing):
'js::glue::{RUST_JS_NumberValue, RUST_JSID_IS_STRING}',
'dom::types::*',
'dom::bindings',
- 'dom::bindings::js::{JS, JSRef, RootedReference, Temporary, OptionalRootable}',
+ 'dom::bindings::js::{JS, JSRef, RootedReference, Temporary, OptionalRootable, OptionalRootedRootable}',
'dom::bindings::utils::{CreateDOMGlobal, CreateInterfaceObjects2}',
'dom::bindings::utils::{ConstantSpec, cx_for_dom_object, Default}',
'dom::bindings::utils::{dom_object_slot, DOM_OBJECT_SLOT, DOMClass}',
@@ -4603,7 +4587,7 @@ class CGNativeMember(ClassMethod):
else:
typeDecl = "%s"
descriptor = self.descriptorProvider.getDescriptor(iface.identifier.name)
- return (typeDecl % descriptor.nativeType,
+ return (typeDecl % descriptor.argumentType,
False, False)
if type.isSpiderMonkeyInterface():
diff --git a/src/components/script/dom/bindings/codegen/Configuration.py b/src/components/script/dom/bindings/codegen/Configuration.py
index 0ff1754a562..c5b9ebb1044 100644
--- a/src/components/script/dom/bindings/codegen/Configuration.py
+++ b/src/components/script/dom/bindings/codegen/Configuration.py
@@ -134,6 +134,7 @@ class Descriptor(DescriptorProvider):
nativeTypeDefault = 'JS<%s>' % ifaceName
self.returnType = "Temporary<%s>" % ifaceName
+ self.argumentType = "JSRef<%s>" % ifaceName
self.nativeType = desc.get('nativeType', nativeTypeDefault)
self.concreteType = desc.get('concreteType', ifaceName)
self.createGlobal = desc.get('createGlobal', False)
diff --git a/src/components/script/dom/bindings/js.rs b/src/components/script/dom/bindings/js.rs
index 1ee1b8da51d..37694e3beb1 100644
--- a/src/components/script/dom/bindings/js.rs
+++ b/src/components/script/dom/bindings/js.rs
@@ -2,6 +2,43 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+/// The DOM is made up of Rust types whose lifetime is entirely controlled by the whims of
+/// the SpiderMonkey garbage collector. The types in this module are designed to ensure
+/// that any interactions with said Rust types only occur on values that will remain alive
+/// the entire time.
+///
+/// Here is a brief overview of the important types:
+/// - JSRef<T>: a freely-copyable reference to a rooted value.
+/// - JS<T>: a pointer to JS-owned memory that can automatically be traced by the GC when
+/// encountered as a field of a Rust structure.
+/// - Temporary<T>: a value that will remain rooted for the duration of its lifetime.
+///
+/// The rule of thumb is as follows:
+/// - 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
+/// 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.
+/// - All methods for type T are implemented for JSRef<T>, to ensure that the self value
+/// will not be collected for the duration of the method call.
+///
+/// Both Temporary<T> and JS<T> do not allow access to their inner value without explicitly
+/// creating a stack-based root via the `root` method. This returns a Root<T>, which causes
+/// the JS-owned value to be uncollectable for the duration of the Root type's lifetime.
+/// A JSRef<T> can be obtained from a Root<T> either by dereferencing the Root<T> (`*rooted`)
+/// or explicitly calling the `root_ref` method. These JSRef<T> values are not allowed to
+/// outlive their originating Root<T>, to ensure that all interactions with the enclosed value
+/// only occur when said value is uncollectable, and will cause static lifetime errors if
+/// misused.
+///
+/// Other miscellaneous helper traits:
+/// - OptionalRootable and OptionalRootedRootable: make rooting Option values easy via a `root` method
+/// - ResultRootable: make rooting successful Result values easy
+/// - TemporaryPushable: allows mutating vectors of JS<T> with new elements of JSRef/Temporary
+/// - OptionalSettable: allows assigning Option values of JSRef/Temporary to fields of Option<JS<T>>
+/// - RootedReference: makes obtaining an Option<JSRef<T>> from an Option<Root<T>> easy
+
use dom::bindings::utils::{Reflector, Reflectable, cx_for_dom_object};
use dom::window::Window;
use js::jsapi::{JSObject, JSContext, JS_AddObjectRoot, JS_RemoveObjectRoot};
@@ -15,7 +52,7 @@ use std::local_data;
/// A type that represents a JS-owned value that is rooted for the lifetime of this value.
/// Importantly, it requires explicit rooting in order to interact with the inner value.
/// Can be assigned into JS-owned member fields (ie. JS<T> types) safely via the
-/// `JS<T>::assign` method or `OptionalAssignable::assign` (for Option<JS<T>> fields).
+/// `JS<T>::assign` method or `OptionalSettable::assign` (for Option<JS<T>> fields).
pub struct Temporary<T> {
inner: JS<T>,
}
@@ -49,7 +86,7 @@ impl<T: Reflectable> Temporary<T> {
}
/// Create a new Temporary value from a rooted value.
- pub fn new_rooted<'a>(root: &JSRef<'a, T>) -> Temporary<T> {
+ pub fn from_rooted<'a>(root: &JSRef<'a, T>) -> Temporary<T> {
Temporary::new(root.unrooted())
}
@@ -182,39 +219,38 @@ impl<'a, 'b, T: Reflectable> RootedReference<T> for Option<Root<'a, 'b, T>> {
}
}
-// This trait should never be public; it allows access to unrooted values, and is thus
-// easy to misuse.
+/// Trait that allows extracting a JS<T> value from a variety of rooting-related containers,
+/// which in general is an unsafe operation since they can outlive the rooted lifetime of the
+/// original value.
/*definitely not public*/ trait Assignable<T> {
- fn get_js(&self) -> JS<T>;
+ unsafe fn get_js(&self) -> JS<T>;
}
impl<T> Assignable<T> for JS<T> {
- fn get_js(&self) -> JS<T> {
+ unsafe fn get_js(&self) -> JS<T> {
self.clone()
}
}
impl<'a, T> Assignable<T> for JSRef<'a, T> {
- fn get_js(&self) -> JS<T> {
+ unsafe fn get_js(&self) -> JS<T> {
self.unrooted()
}
}
-// Assignable should not be exposed publically, since it's used to
-// extract unrooted values in a safe way WHEN USED CORRECTLY.
impl<T: Reflectable> Assignable<T> for Temporary<T> {
- fn get_js(&self) -> JS<T> {
- unsafe { self.inner() }
+ unsafe fn get_js(&self) -> JS<T> {
+ self.inner()
}
}
-pub trait OptionalAssignable<T> {
+pub trait OptionalSettable<T> {
fn assign(&mut self, val: Option<T>);
}
-impl<T: Assignable<U>, U: Reflectable> OptionalAssignable<T> for Option<JS<U>> {
+impl<T: Assignable<U>, U: Reflectable> OptionalSettable<T> for Option<JS<U>> {
fn assign(&mut self, val: Option<T>) {
- *self = val.map(|val| val.get_js());
+ *self = val.map(|val| unsafe { val.get_js() });
}
}
@@ -252,12 +288,17 @@ impl<T: Reflectable, U> ResultRootable<T, U> for Result<Temporary<T>, U> {
/// under the assumption that said lists are reachable via the GC graph, and therefore the
/// new values are transitively rooted for the lifetime of their new owner.
pub trait TemporaryPushable<T> {
- fn push_unrooted(&mut self, val: Temporary<T>);
+ fn push_unrooted(&mut self, val: &T);
+ fn insert_unrooted(&mut self, index: uint, val: &T);
}
-impl<T: Reflectable> TemporaryPushable<T> for Vec<JS<T>> {
- fn push_unrooted(&mut self, val: Temporary<T>) {
- unsafe { self.push(val.inner()) };
+impl<T: Assignable<U>, U: Reflectable> TemporaryPushable<T> for Vec<JS<U>> {
+ fn push_unrooted(&mut self, val: &T) {
+ self.push(unsafe { val.get_js() });
+ }
+
+ fn insert_unrooted(&mut self, index: uint, val: &T) {
+ self.insert(index, unsafe { val.get_js() });
}
}
@@ -277,26 +318,16 @@ impl RootCollection {
Root::new(self, unrooted)
}
- fn root<'a, 'b, T: Reflectable>(&self, unrooted: &Root<'a, 'b, T>) {
- self.root_raw(unrooted.js_ptr);
- }
-
- /// Root a raw JS pointer.
- pub fn root_raw(&self, unrooted: *JSObject) {
+ fn root<'a, 'b, T: Reflectable>(&self, untracked: &Root<'a, 'b, T>) {
let mut roots = self.roots.borrow_mut();
- roots.push(unrooted);
- debug!(" rooting {:?}", unrooted);
+ roots.push(untracked.js_ptr);
+ debug!(" rooting {:?}", untracked.js_ptr);
}
fn unroot<'a, 'b, T: Reflectable>(&self, rooted: &Root<'a, 'b, T>) {
- self.unroot_raw(rooted.js_ptr);
- }
-
- /// Unroot a raw JS pointer. Must occur in reverse order to its rooting.
- pub fn unroot_raw(&self, rooted: *JSObject) {
let mut roots = self.roots.borrow_mut();
- debug!("unrooting {:?} (expecting {:?}", roots.last().unwrap(), rooted);
- assert!(*roots.last().unwrap() == rooted);
+ debug!("unrooting {:?} (expecting {:?}", roots.last().unwrap(), rooted.js_ptr);
+ assert!(*roots.last().unwrap() == rooted.js_ptr);
roots.pop().unwrap();
}
}
diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs
index 7c74a8b8085..28f75073da2 100644
--- a/src/components/script/dom/bindings/utils.rs
+++ b/src/components/script/dom/bindings/utils.rs
@@ -412,6 +412,9 @@ impl Reflector {
self.object = object;
}
+ /// Return a pointer to the memory location at which the JS reflector object is stored.
+ /// Used by Temporary values to root the reflector, as required by the JSAPI rooting
+ /// APIs.
pub fn rootable(&self) -> **JSObject {
&self.object as **JSObject
}
diff --git a/src/components/script/dom/blob.rs b/src/components/script/dom/blob.rs
index 9df9287bc9f..ff5958478b6 100644
--- a/src/components/script/dom/blob.rs
+++ b/src/components/script/dom/blob.rs
@@ -16,15 +16,15 @@ pub struct Blob {
}
impl Blob {
- pub fn new_inherited(window: JS<Window>) -> Blob {
+ pub fn new_inherited(window: &JSRef<Window>) -> Blob {
Blob {
reflector_: Reflector::new(),
- window: window
+ window: window.unrooted()
}
}
pub fn new(window: &JSRef<Window>) -> Temporary<Blob> {
- reflect_dom_object(~Blob::new_inherited(window.unrooted()),
+ reflect_dom_object(~Blob::new_inherited(window),
window,
BlobBinding::Wrap)
}
diff --git a/src/components/script/dom/characterdata.rs b/src/components/script/dom/characterdata.rs
index 44962eea8a9..2a41e1fee3b 100644
--- a/src/components/script/dom/characterdata.rs
+++ b/src/components/script/dom/characterdata.rs
@@ -5,7 +5,7 @@
//! DOM bindings for `CharacterData`.
use dom::bindings::codegen::InheritTypes::CharacterDataDerived;
-use dom::bindings::js::{JS, JSRef};
+use dom::bindings::js::JSRef;
use dom::bindings::error::{Fallible, ErrorResult, IndexSize};
use dom::bindings::utils::{Reflectable, Reflector};
use dom::document::Document;
@@ -31,7 +31,7 @@ impl CharacterDataDerived for EventTarget {
}
impl CharacterData {
- pub fn new_inherited(id: NodeTypeId, data: DOMString, document: JS<Document>) -> CharacterData {
+ pub fn new_inherited(id: NodeTypeId, data: DOMString, document: &JSRef<Document>) -> CharacterData {
CharacterData {
node: Node::new_inherited(id, document),
data: data
diff --git a/src/components/script/dom/clientrect.rs b/src/components/script/dom/clientrect.rs
index ad48fe15d86..316269bfc56 100644
--- a/src/components/script/dom/clientrect.rs
+++ b/src/components/script/dom/clientrect.rs
@@ -19,7 +19,7 @@ pub struct ClientRect {
}
impl ClientRect {
- pub fn new_inherited(window: JS<Window>,
+ pub fn new_inherited(window: &JSRef<Window>,
top: Au, bottom: Au,
left: Au, right: Au) -> ClientRect {
ClientRect {
@@ -28,14 +28,14 @@ impl ClientRect {
left: left.to_nearest_px() as f32,
right: right.to_nearest_px() as f32,
reflector_: Reflector::new(),
- window: window,
+ window: window.unrooted(),
}
}
pub fn new(window: &JSRef<Window>,
top: Au, bottom: Au,
left: Au, right: Au) -> Temporary<ClientRect> {
- let rect = ClientRect::new_inherited(window.unrooted(), top, bottom, left, right);
+ let rect = ClientRect::new_inherited(window, top, bottom, left, right);
reflect_dom_object(~rect, window, ClientRectBinding::Wrap)
}
}
diff --git a/src/components/script/dom/clientrectlist.rs b/src/components/script/dom/clientrectlist.rs
index 2a7c609c958..d48cfadf2d7 100644
--- a/src/components/script/dom/clientrectlist.rs
+++ b/src/components/script/dom/clientrectlist.rs
@@ -16,18 +16,18 @@ pub struct ClientRectList {
}
impl ClientRectList {
- pub fn new_inherited(window: JS<Window>,
+ pub fn new_inherited(window: &JSRef<Window>,
rects: Vec<JSRef<ClientRect>>) -> ClientRectList {
ClientRectList {
reflector_: Reflector::new(),
rects: rects.iter().map(|rect| rect.unrooted()).collect(),
- window: window,
+ window: window.unrooted(),
}
}
pub fn new(window: &JSRef<Window>,
rects: Vec<JSRef<ClientRect>>) -> Temporary<ClientRectList> {
- reflect_dom_object(~ClientRectList::new_inherited(window.unrooted(), rects),
+ reflect_dom_object(~ClientRectList::new_inherited(window, rects),
window, ClientRectListBinding::Wrap)
}
}
diff --git a/src/components/script/dom/comment.rs b/src/components/script/dom/comment.rs
index 5d2fce2d212..0e314324e57 100644
--- a/src/components/script/dom/comment.rs
+++ b/src/components/script/dom/comment.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::InheritTypes::CommentDerived;
use dom::bindings::codegen::BindingDeclarations::CommentBinding;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::error::Fallible;
use dom::characterdata::CharacterData;
use dom::document::Document;
@@ -29,14 +29,14 @@ impl CommentDerived for EventTarget {
}
impl Comment {
- pub fn new_inherited(text: DOMString, document: JS<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> {
- let node = Comment::new_inherited(text, document.unrooted());
+ let node = Comment::new_inherited(text, document);
Node::reflect_node(~node, document, CommentBinding::Wrap)
}
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs
index 6ba18526127..d858f470fee 100644
--- a/src/components/script/dom/document.rs
+++ b/src/components/script/dom/document.rs
@@ -6,7 +6,7 @@ use dom::bindings::codegen::InheritTypes::{DocumentDerived, EventCast, HTMLEleme
use dom::bindings::codegen::InheritTypes::{HTMLHeadElementCast, TextCast, ElementCast};
use dom::bindings::codegen::InheritTypes::{DocumentTypeCast, HTMLHtmlElementCast, NodeCast};
use dom::bindings::codegen::BindingDeclarations::DocumentBinding;
-use dom::bindings::js::{JS, JSRef, Temporary, OptionalAssignable};
+use dom::bindings::js::{JS, JSRef, Temporary, OptionalSettable, TemporaryPushable};
use dom::bindings::js::OptionalRootable;
use dom::bindings::trace::Untraceable;
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
@@ -160,7 +160,7 @@ impl<'a> DocumentHelpers for JSRef<'a, Document> {
let elem: Option<&JSRef<Element>> = ElementCast::to_ref(&node);
match elem {
Some(elem) => {
- if elements.get(head) == &elem.unrooted() {
+ if &*elements.get(head).root() == elem {
head = head + 1;
}
if new_node == &node || head == elements.len() {
@@ -170,19 +170,21 @@ impl<'a> DocumentHelpers for JSRef<'a, Document> {
None => {}
}
}
- elements.insert(head, element.unrooted());
+ elements.insert_unrooted(head, element);
return;
},
None => (),
}
- self.idmap.insert(id, vec!(element.unrooted()));
+ let mut elements = vec!();
+ elements.push_unrooted(element);
+ self.idmap.insert(id, elements);
}
}
impl Document {
pub fn reflect_document(document: ~Document,
- window: &JSRef<Window>,
- wrap_fn: extern "Rust" fn(*JSContext, &JSRef<Window>, ~Document) -> JS<Document>)
+ window: &JSRef<Window>,
+ wrap_fn: extern "Rust" fn(*JSContext, &JSRef<Window>, ~Document) -> JS<Document>)
-> Temporary<Document> {
assert!(document.reflector().get_jsobject().is_null());
let mut raw_doc = reflect_dom_object(document, window, wrap_fn).root();
@@ -191,10 +193,10 @@ impl Document {
let mut doc_alias = raw_doc.clone();
let node: &mut JSRef<Node> = NodeCast::from_mut_ref(&mut doc_alias);
node.set_owner_doc(&*raw_doc);
- Temporary::new_rooted(&*raw_doc)
+ Temporary::from_rooted(&*raw_doc)
}
- pub fn new_inherited(window: JS<Window>,
+ pub fn new_inherited(window: &JSRef<Window>,
url: Option<Url>,
is_html_document: IsHTMLDocument,
content_type: Option<DOMString>) -> Document {
@@ -203,7 +205,7 @@ impl Document {
Document {
node: Node::new_without_doc(DocumentNodeTypeId),
reflector_: Reflector::new(),
- window: window,
+ window: window.unrooted(),
idmap: HashMap::new(),
implementation: None,
content_type: match content_type {
@@ -230,7 +232,7 @@ impl Document {
}
pub fn new(window: &JSRef<Window>, url: Option<Url>, doctype: IsHTMLDocument, content_type: Option<DOMString>) -> Temporary<Document> {
- let document = Document::new_inherited(window.unrooted(), url, doctype, content_type);
+ let document = Document::new_inherited(window, url, doctype, content_type);
Document::reflect_document(~document, window, DocumentBinding::Wrap)
}
}
@@ -274,7 +276,7 @@ impl<'a> PrivateDocumentHelpers for JSRef<'a, Document> {
self.GetDocumentElement().root().filtered(|root| {
root.node.type_id == ElementNodeTypeId(HTMLHtmlElementTypeId)
}).map(|elem| {
- Temporary::new_rooted(HTMLHtmlElementCast::to_ref(&*elem).unwrap())
+ Temporary::from_rooted(HTMLHtmlElementCast::to_ref(&*elem).unwrap())
})
}
}
@@ -364,14 +366,14 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
child.is_doctype()
}).map(|node| {
let doctype: &JSRef<DocumentType> = DocumentTypeCast::to_ref(&node).unwrap();
- Temporary::new(doctype.unrooted())
+ 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::new_rooted(&elem))
+ node.child_elements().next().map(|elem| Temporary::from_rooted(&elem))
}
// http://dom.spec.whatwg.org/#dom-document-getelementsbytagname
@@ -522,7 +524,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
Node::adopt(node, self);
// Step 3.
- Ok(Temporary::new_rooted(node))
+ Ok(Temporary::from_rooted(node))
}
// http://dom.spec.whatwg.org/#dom-document-createevent
@@ -604,7 +606,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
node.children().find(|child| {
child.type_id() == ElementNodeTypeId(HTMLHeadElementTypeId)
}).map(|node| {
- Temporary::new_rooted(HTMLHeadElementCast::to_ref(&node).unwrap())
+ Temporary::from_rooted(HTMLHeadElementCast::to_ref(&node).unwrap())
})
})
}
@@ -621,7 +623,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
_ => false
}
}).map(|node| {
- Temporary::new_rooted(HTMLElementCast::to_ref(&node).unwrap())
+ Temporary::from_rooted(HTMLElementCast::to_ref(&node).unwrap())
})
})
}
diff --git a/src/components/script/dom/documentfragment.rs b/src/components/script/dom/documentfragment.rs
index b6287696300..25f2c3c1d69 100644
--- a/src/components/script/dom/documentfragment.rs
+++ b/src/components/script/dom/documentfragment.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::InheritTypes::{DocumentFragmentDerived, NodeCast};
use dom::bindings::codegen::BindingDeclarations::DocumentFragmentBinding;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::error::Fallible;
use dom::document::Document;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -28,14 +28,14 @@ impl DocumentFragmentDerived for EventTarget {
impl DocumentFragment {
/// Creates a new DocumentFragment.
- pub fn new_inherited(document: JS<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> {
- let node = DocumentFragment::new_inherited(document.unrooted());
+ let node = DocumentFragment::new_inherited(document);
Node::reflect_node(~node, document, DocumentFragmentBinding::Wrap)
}
diff --git a/src/components/script/dom/documenttype.rs b/src/components/script/dom/documenttype.rs
index 9e0c61e3723..a5118e791da 100644
--- a/src/components/script/dom/documenttype.rs
+++ b/src/components/script/dom/documenttype.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::InheritTypes::DocumentTypeDerived;
use dom::bindings::codegen::BindingDeclarations::DocumentTypeBinding;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
use dom::node::{Node, DoctypeNodeTypeId};
@@ -32,7 +32,7 @@ impl DocumentType {
pub fn new_inherited(name: DOMString,
public_id: Option<DOMString>,
system_id: Option<DOMString>,
- document: JS<Document>)
+ document: &JSRef<Document>)
-> DocumentType {
DocumentType {
node: Node::new_inherited(DoctypeNodeTypeId, document),
@@ -50,7 +50,7 @@ impl DocumentType {
let documenttype = DocumentType::new_inherited(name,
public_id,
system_id,
- document.unrooted());
+ document);
Node::reflect_node(~documenttype, document, DocumentTypeBinding::Wrap)
}
}
diff --git a/src/components/script/dom/domimplementation.rs b/src/components/script/dom/domimplementation.rs
index 231c1e4ac99..53cb09fba16 100644
--- a/src/components/script/dom/domimplementation.rs
+++ b/src/components/script/dom/domimplementation.rs
@@ -26,15 +26,15 @@ pub struct DOMImplementation {
}
impl DOMImplementation {
- pub fn new_inherited(owner: JS<Window>) -> DOMImplementation {
+ pub fn new_inherited(owner: &JSRef<Window>) -> DOMImplementation {
DOMImplementation {
- owner: owner,
+ owner: owner.unrooted(),
reflector_: Reflector::new(),
}
}
pub fn new(owner: &JSRef<Window>) -> Temporary<DOMImplementation> {
- reflect_dom_object(~DOMImplementation::new_inherited(owner.unrooted()), owner,
+ reflect_dom_object(~DOMImplementation::new_inherited(owner), owner,
DOMImplementationBinding::Wrap)
}
}
@@ -115,7 +115,7 @@ impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> {
// FIXME: https://github.com/mozilla/servo/issues/1522
// Step 7.
- Ok(Temporary::new_rooted(&*doc))
+ Ok(Temporary::from_rooted(&*doc))
}
// http://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument
@@ -167,6 +167,6 @@ impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> {
// FIXME: https://github.com/mozilla/servo/issues/1522
// Step 9.
- Temporary::new_rooted(&*doc)
+ Temporary::from_rooted(&*doc)
}
}
diff --git a/src/components/script/dom/domparser.rs b/src/components/script/dom/domparser.rs
index 41424d24c0d..035d29cf17d 100644
--- a/src/components/script/dom/domparser.rs
+++ b/src/components/script/dom/domparser.rs
@@ -18,15 +18,15 @@ pub struct DOMParser {
}
impl DOMParser {
- pub fn new_inherited(owner: JS<Window>) -> DOMParser {
+ pub fn new_inherited(owner: &JSRef<Window>) -> DOMParser {
DOMParser {
- owner: owner,
+ owner: owner.unrooted(),
reflector_: Reflector::new()
}
}
pub fn new(owner: &JSRef<Window>) -> Temporary<DOMParser> {
- reflect_dom_object(~DOMParser::new_inherited(owner.unrooted()), owner,
+ reflect_dom_object(~DOMParser::new_inherited(owner), owner,
DOMParserBinding::Wrap)
}
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs
index f316b1765f6..0e5795a69a0 100644
--- a/src/components/script/dom/element.rs
+++ b/src/components/script/dom/element.rs
@@ -9,7 +9,7 @@ use dom::attrlist::AttrList;
use dom::bindings::codegen::BindingDeclarations::ElementBinding;
use dom::bindings::codegen::InheritTypes::{ElementDerived, NodeCast};
use dom::bindings::js::{JS, JSRef, Temporary, TemporaryPushable};
-use dom::bindings::js::{OptionalAssignable, OptionalRootable, Root};
+use dom::bindings::js::{OptionalSettable, OptionalRootable, Root};
use dom::bindings::utils::{Reflectable, Reflector};
use dom::bindings::error::{ErrorResult, Fallible, NamespaceError, InvalidCharacter};
use dom::bindings::utils::{QName, Name, InvalidXMLName, xml_name_type};
@@ -141,7 +141,7 @@ pub enum ElementTypeId {
//
impl Element {
- pub fn new_inherited(type_id: ElementTypeId, local_name: DOMString, namespace: Namespace, prefix: Option<DOMString>, document: JS<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: local_name,
@@ -154,7 +154,7 @@ impl Element {
}
pub fn new(local_name: DOMString, namespace: Namespace, prefix: Option<DOMString>, document: &JSRef<Document>) -> Temporary<Element> {
- let element = Element::new_inherited(ElementTypeId, local_name, namespace, prefix, document.unrooted());
+ let element = Element::new_inherited(ElementTypeId, local_name, namespace, prefix, document);
Node::reflect_node(~element, document, ElementBinding::Wrap)
}
}
@@ -230,11 +230,11 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
if self.html_element_in_html_document() {
self.get().attrs.iter().map(|attr| attr.root()).find(|attr| {
name.to_ascii_lower() == attr.local_name && attr.namespace == namespace
- }).map(|x| Temporary::new_rooted(&*x))
+ }).map(|x| Temporary::from_rooted(&*x))
} else {
self.get().attrs.iter().map(|attr| attr.root()).find(|attr| {
name == attr.local_name && attr.namespace == namespace
- }).map(|x| Temporary::new_rooted(&*x))
+ }).map(|x| Temporary::from_rooted(&*x))
}
}
@@ -282,7 +282,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
let window = window_from_node(self).root();
let attr = Attr::new(&*window, local_name.clone(), value.clone(),
name, namespace.clone(), prefix, self);
- self.get_mut().attrs.push_unrooted(attr);
+ self.get_mut().attrs.push_unrooted(&attr);
(self.get().attrs.len() - 1, FirstSetAttr)
}
};
diff --git a/src/components/script/dom/event.rs b/src/components/script/dom/event.rs
index 9ce0cd4f981..3d6055a1408 100644
--- a/src/components/script/dom/event.rs
+++ b/src/components/script/dom/event.rs
@@ -91,7 +91,7 @@ impl Event {
init: &EventBinding::EventInit) -> Fallible<Temporary<Event>> {
let mut ev = Event::new(global).root();
ev.InitEvent(type_, init.bubbles, init.cancelable);
- Ok(Temporary::new_rooted(&*ev))
+ Ok(Temporary::from_rooted(&*ev))
}
}
diff --git a/src/components/script/dom/eventdispatcher.rs b/src/components/script/dom/eventdispatcher.rs
index b4e6b4644cf..d15a26d6cc1 100644
--- a/src/components/script/dom/eventdispatcher.rs
+++ b/src/components/script/dom/eventdispatcher.rs
@@ -4,7 +4,7 @@
use dom::bindings::callback::ReportExceptions;
use dom::bindings::codegen::InheritTypes::{EventTargetCast, NodeCast, NodeDerived};
-use dom::bindings::js::{JSRef, OptionalAssignable, Root};
+use dom::bindings::js::{JSRef, OptionalSettable, Root};
use dom::eventtarget::{Capturing, Bubbling, EventTarget};
use dom::event::{Event, PhaseAtTarget, PhaseNone, PhaseBubbling, PhaseCapturing, EventMethods};
use dom::node::{Node, NodeHelpers};
diff --git a/src/components/script/dom/formdata.rs b/src/components/script/dom/formdata.rs
index 8cd1eebb028..33dae4b97c2 100644
--- a/src/components/script/dom/formdata.rs
+++ b/src/components/script/dom/formdata.rs
@@ -28,17 +28,17 @@ pub struct FormData {
}
impl FormData {
- pub fn new_inherited(form: Option<JSRef<HTMLFormElement>>, window: JS<Window>) -> FormData {
+ pub fn new_inherited(form: Option<JSRef<HTMLFormElement>>, window: &JSRef<Window>) -> FormData {
FormData {
data: HashMap::new(),
reflector_: Reflector::new(),
- window: window,
+ window: window.unrooted(),
form: form.map(|form| form.unrooted())
}
}
pub fn new(form: Option<JSRef<HTMLFormElement>>, window: &JSRef<Window>) -> Temporary<FormData> {
- reflect_dom_object(~FormData::new_inherited(form, window.unrooted()), window, FormDataBinding::Wrap)
+ reflect_dom_object(~FormData::new_inherited(form, window), window, FormDataBinding::Wrap)
}
pub fn Constructor(window: &JSRef<Window>, form: Option<JSRef<HTMLFormElement>>) -> Fallible<Temporary<FormData>> {
diff --git a/src/components/script/dom/htmlanchorelement.rs b/src/components/script/dom/htmlanchorelement.rs
index 1757de35ecf..6b90e96053a 100644
--- a/src/components/script/dom/htmlanchorelement.rs
+++ b/src/components/script/dom/htmlanchorelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLAnchorElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLAnchorElementDerived;
-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::HTMLAnchorElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLAnchorElementDerived for EventTarget {
}
impl HTMLAnchorElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLAnchorElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLAnchorElement {
HTMLAnchorElement {
htmlelement: HTMLElement::new_inherited(HTMLAnchorElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLAnchorElement> {
- let element = HTMLAnchorElement::new_inherited(localName, document.unrooted());
+ let element = HTMLAnchorElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLAnchorElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlappletelement.rs b/src/components/script/dom/htmlappletelement.rs
index 5500f6568aa..385750d0a16 100644
--- a/src/components/script/dom/htmlappletelement.rs
+++ b/src/components/script/dom/htmlappletelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLAppletElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLAppletElementDerived;
-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::HTMLAppletElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLAppletElementDerived for EventTarget {
}
impl HTMLAppletElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLAppletElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLAppletElement {
HTMLAppletElement {
htmlelement: HTMLElement::new_inherited(HTMLAppletElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLAppletElement> {
- let element = HTMLAppletElement::new_inherited(localName, document.unrooted());
+ let element = HTMLAppletElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLAppletElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlareaelement.rs b/src/components/script/dom/htmlareaelement.rs
index e6678299abf..e09549b7a5e 100644
--- a/src/components/script/dom/htmlareaelement.rs
+++ b/src/components/script/dom/htmlareaelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLAreaElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLAreaElementDerived;
-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::HTMLAreaElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLAreaElementDerived for EventTarget {
}
impl HTMLAreaElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLAreaElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLAreaElement {
HTMLAreaElement {
htmlelement: HTMLElement::new_inherited(HTMLAreaElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLAreaElement> {
- let element = HTMLAreaElement::new_inherited(localName, document.unrooted());
+ let element = HTMLAreaElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLAreaElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlaudioelement.rs b/src/components/script/dom/htmlaudioelement.rs
index 3b1a7cb3a98..9cc697454d1 100644
--- a/src/components/script/dom/htmlaudioelement.rs
+++ b/src/components/script/dom/htmlaudioelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLAudioElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLAudioElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLAudioElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLAudioElementDerived for EventTarget {
}
impl HTMLAudioElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLAudioElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLAudioElement {
HTMLAudioElement {
htmlmediaelement: HTMLMediaElement::new_inherited(HTMLAudioElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLAudioElement> {
- let element = HTMLAudioElement::new_inherited(localName, document.unrooted());
+ let element = HTMLAudioElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLAudioElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlbaseelement.rs b/src/components/script/dom/htmlbaseelement.rs
index 1105f862881..69a15849fef 100644
--- a/src/components/script/dom/htmlbaseelement.rs
+++ b/src/components/script/dom/htmlbaseelement.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLBaseElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLBaseElementDerived;
use dom::bindings::error::ErrorResult;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLBaseElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -28,14 +28,14 @@ impl HTMLBaseElementDerived for EventTarget {
}
impl HTMLBaseElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLBaseElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLBaseElement {
HTMLBaseElement {
htmlelement: HTMLElement::new_inherited(HTMLBaseElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLBaseElement> {
- let element = HTMLBaseElement::new_inherited(localName, document.unrooted());
+ let element = HTMLBaseElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLBaseElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlbodyelement.rs b/src/components/script/dom/htmlbodyelement.rs
index d070c7b5a12..d1ba59c847c 100644
--- a/src/components/script/dom/htmlbodyelement.rs
+++ b/src/components/script/dom/htmlbodyelement.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLBodyElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLBodyElementDerived;
use dom::bindings::error::ErrorResult;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLBodyElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -28,14 +28,14 @@ impl HTMLBodyElementDerived for EventTarget {
}
impl HTMLBodyElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLBodyElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLBodyElement {
HTMLBodyElement {
htmlelement: HTMLElement::new_inherited(HTMLBodyElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLBodyElement> {
- let element = HTMLBodyElement::new_inherited(localName, document.unrooted());
+ let element = HTMLBodyElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLBodyElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlbrelement.rs b/src/components/script/dom/htmlbrelement.rs
index 2bf59a4f966..eee904135e1 100644
--- a/src/components/script/dom/htmlbrelement.rs
+++ b/src/components/script/dom/htmlbrelement.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLBRElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLBRElementDerived;
use dom::bindings::error::ErrorResult;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLBRElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -28,14 +28,14 @@ impl HTMLBRElementDerived for EventTarget {
}
impl HTMLBRElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLBRElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLBRElement {
HTMLBRElement {
htmlelement: HTMLElement::new_inherited(HTMLBRElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLBRElement> {
- let element = HTMLBRElement::new_inherited(localName, document.unrooted());
+ let element = HTMLBRElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLBRElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlbuttonelement.rs b/src/components/script/dom/htmlbuttonelement.rs
index 1474c9cb563..c920f999cf1 100644
--- a/src/components/script/dom/htmlbuttonelement.rs
+++ b/src/components/script/dom/htmlbuttonelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLButtonElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLButtonElementDerived;
-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::HTMLButtonElementTypeId;
@@ -30,14 +30,14 @@ impl HTMLButtonElementDerived for EventTarget {
}
impl HTMLButtonElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLButtonElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLButtonElement {
HTMLButtonElement {
htmlelement: HTMLElement::new_inherited(HTMLButtonElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLButtonElement> {
- let element = HTMLButtonElement::new_inherited(localName, document.unrooted());
+ let element = HTMLButtonElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLButtonElementBinding::Wrap)
}
}
@@ -67,7 +67,6 @@ pub trait HTMLButtonElementMethods {
fn WillValidate(&self) -> bool;
fn SetWillValidate(&mut self, _will_validate: bool);
fn Validity(&self) -> Temporary<ValidityState>;
- fn SetValidity(&mut self, _validity: JS<ValidityState>);
fn ValidationMessage(&self) -> DOMString;
fn SetValidationMessage(&mut self, _message: DOMString) -> ErrorResult;
fn CheckValidity(&self) -> bool;
@@ -171,9 +170,6 @@ impl<'a> HTMLButtonElementMethods for JSRef<'a, HTMLButtonElement> {
ValidityState::new(&*window)
}
- fn SetValidity(&mut self, _validity: JS<ValidityState>) {
- }
-
fn ValidationMessage(&self) -> DOMString {
~""
}
diff --git a/src/components/script/dom/htmlcanvaselement.rs b/src/components/script/dom/htmlcanvaselement.rs
index 068cee1bbd8..1aba464556a 100644
--- a/src/components/script/dom/htmlcanvaselement.rs
+++ b/src/components/script/dom/htmlcanvaselement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLCanvasElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLCanvasElementDerived;
-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::HTMLCanvasElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLCanvasElementDerived for EventTarget {
}
impl HTMLCanvasElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLCanvasElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLCanvasElement {
HTMLCanvasElement {
htmlelement: HTMLElement::new_inherited(HTMLCanvasElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLCanvasElement> {
- let element = HTMLCanvasElement::new_inherited(localName, document.unrooted());
+ let element = HTMLCanvasElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLCanvasElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlcollection.rs b/src/components/script/dom/htmlcollection.rs
index 0047247ffad..6d0a0c78edf 100644
--- a/src/components/script/dom/htmlcollection.rs
+++ b/src/components/script/dom/htmlcollection.rs
@@ -38,16 +38,16 @@ pub struct HTMLCollection {
}
impl HTMLCollection {
- pub fn new_inherited(window: JS<Window>, collection: CollectionTypeId) -> HTMLCollection {
+ pub fn new_inherited(window: &JSRef<Window>, collection: CollectionTypeId) -> HTMLCollection {
HTMLCollection {
collection: collection,
reflector_: Reflector::new(),
- window: window,
+ window: window.unrooted(),
}
}
pub fn new(window: &JSRef<Window>, collection: CollectionTypeId) -> Temporary<HTMLCollection> {
- reflect_dom_object(~HTMLCollection::new_inherited(window.unrooted(), collection),
+ reflect_dom_object(~HTMLCollection::new_inherited(window, collection),
window, HTMLCollectionBinding::Wrap)
}
}
@@ -159,7 +159,7 @@ impl<'a> HTMLCollectionMethods for JSRef<'a, HTMLCollection> {
})
.nth(index as uint)
.clone()
- .map(|elem| Temporary::new_rooted(&elem))
+ .map(|elem| Temporary::from_rooted(&elem))
}
}
}
@@ -179,7 +179,7 @@ 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::new_rooted(&*maybe_elem)),
+ .map(|maybe_elem| Temporary::from_rooted(&*maybe_elem)),
Live(ref root, ref filter) => {
let root = root.root();
root.deref().traverse_preorder()
@@ -191,7 +191,7 @@ 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::new_rooted(&maybe_elem))
+ .map(|maybe_elem| Temporary::from_rooted(&maybe_elem))
}
}
}
diff --git a/src/components/script/dom/htmldataelement.rs b/src/components/script/dom/htmldataelement.rs
index dcac09e2f5b..b2812ef92ad 100644
--- a/src/components/script/dom/htmldataelement.rs
+++ b/src/components/script/dom/htmldataelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLDataElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLDataElementDerived;
-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::HTMLDataElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLDataElementDerived for EventTarget {
}
impl HTMLDataElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLDataElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDataElement {
HTMLDataElement {
htmlelement: HTMLElement::new_inherited(HTMLDataElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDataElement> {
- let element = HTMLDataElement::new_inherited(localName, document.unrooted());
+ let element = HTMLDataElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLDataElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmldatalistelement.rs b/src/components/script/dom/htmldatalistelement.rs
index caaad975c0e..756e497cdea 100644
--- a/src/components/script/dom/htmldatalistelement.rs
+++ b/src/components/script/dom/htmldatalistelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLDataListElementBinding;
use dom::bindings::codegen::InheritTypes::{HTMLDataListElementDerived, NodeCast};
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::{Element, HTMLDataListElementTypeId};
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -28,14 +28,14 @@ impl HTMLDataListElementDerived for EventTarget {
}
impl HTMLDataListElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLDataListElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDataListElement {
HTMLDataListElement {
htmlelement: HTMLElement::new_inherited(HTMLDataListElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDataListElement> {
- let element = HTMLDataListElement::new_inherited(localName, document.unrooted());
+ let element = HTMLDataListElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLDataListElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmldirectoryelement.rs b/src/components/script/dom/htmldirectoryelement.rs
index 8cde736766f..7c275b29529 100644
--- a/src/components/script/dom/htmldirectoryelement.rs
+++ b/src/components/script/dom/htmldirectoryelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLDirectoryElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLDirectoryElementDerived;
-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::HTMLDirectoryElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLDirectoryElementDerived for EventTarget {
}
impl HTMLDirectoryElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLDirectoryElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDirectoryElement {
HTMLDirectoryElement {
htmlelement: HTMLElement::new_inherited(HTMLDirectoryElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDirectoryElement> {
- let element = HTMLDirectoryElement::new_inherited(localName, document.unrooted());
+ let element = HTMLDirectoryElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLDirectoryElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmldivelement.rs b/src/components/script/dom/htmldivelement.rs
index 2047530985b..f4b3ead4323 100644
--- a/src/components/script/dom/htmldivelement.rs
+++ b/src/components/script/dom/htmldivelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLDivElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLDivElementDerived;
-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::HTMLDivElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLDivElementDerived for EventTarget {
}
impl HTMLDivElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLDivElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDivElement {
HTMLDivElement {
htmlelement: HTMLElement::new_inherited(HTMLDivElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDivElement> {
- let element = HTMLDivElement::new_inherited(localName, document.unrooted());
+ let element = HTMLDivElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLDivElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmldlistelement.rs b/src/components/script/dom/htmldlistelement.rs
index dc7ae6066fe..db57d180049 100644
--- a/src/components/script/dom/htmldlistelement.rs
+++ b/src/components/script/dom/htmldlistelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLDListElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLDListElementDerived;
-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::HTMLDListElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLDListElementDerived for EventTarget {
}
impl HTMLDListElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLDListElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLDListElement {
HTMLDListElement {
htmlelement: HTMLElement::new_inherited(HTMLDListElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLDListElement> {
- let element = HTMLDListElement::new_inherited(localName, document.unrooted());
+ let element = HTMLDListElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLDListElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlelement.rs b/src/components/script/dom/htmlelement.rs
index 87b00f2eb90..d5de75d3c09 100644
--- a/src/components/script/dom/htmlelement.rs
+++ b/src/components/script/dom/htmlelement.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLElementBinding;
use dom::bindings::codegen::InheritTypes::ElementCast;
use dom::bindings::codegen::InheritTypes::HTMLElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::error::{ErrorResult, Fallible};
use dom::document::Document;
use dom::element::{Element, ElementTypeId, HTMLElementTypeId};
@@ -33,14 +33,14 @@ impl HTMLElementDerived for EventTarget {
}
impl HTMLElement {
- pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: JS<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)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLElement> {
- let element = HTMLElement::new_inherited(HTMLElementTypeId, localName, document.unrooted());
+ let element = HTMLElement::new_inherited(HTMLElementTypeId, localName, document);
Node::reflect_node(~element, document, HTMLElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlembedelement.rs b/src/components/script/dom/htmlembedelement.rs
index 334c7320295..8582bb86164 100644
--- a/src/components/script/dom/htmlembedelement.rs
+++ b/src/components/script/dom/htmlembedelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLEmbedElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLEmbedElementDerived;
-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::HTMLEmbedElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLEmbedElementDerived for EventTarget {
}
impl HTMLEmbedElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLEmbedElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLEmbedElement {
HTMLEmbedElement {
htmlelement: HTMLElement::new_inherited(HTMLEmbedElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLEmbedElement> {
- let element = HTMLEmbedElement::new_inherited(localName, document.unrooted());
+ let element = HTMLEmbedElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLEmbedElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlfieldsetelement.rs b/src/components/script/dom/htmlfieldsetelement.rs
index 0b32c0b916a..7cb91d98ba1 100644
--- a/src/components/script/dom/htmlfieldsetelement.rs
+++ b/src/components/script/dom/htmlfieldsetelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLFieldSetElementBinding;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLFieldSetElementDerived, NodeCast};
-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::{Element, HTMLFieldSetElementTypeId};
@@ -31,14 +31,14 @@ impl HTMLFieldSetElementDerived for EventTarget {
}
impl HTMLFieldSetElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLFieldSetElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFieldSetElement {
HTMLFieldSetElement {
htmlelement: HTMLElement::new_inherited(HTMLFieldSetElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFieldSetElement> {
- let element = HTMLFieldSetElement::new_inherited(localName, document.unrooted());
+ let element = HTMLFieldSetElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLFieldSetElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlfontelement.rs b/src/components/script/dom/htmlfontelement.rs
index 5d6ececb57d..c006124bfba 100644
--- a/src/components/script/dom/htmlfontelement.rs
+++ b/src/components/script/dom/htmlfontelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLFontElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLFontElementDerived;
-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::HTMLFontElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLFontElementDerived for EventTarget {
}
impl HTMLFontElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLFontElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFontElement {
HTMLFontElement {
htmlelement: HTMLElement::new_inherited(HTMLFontElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFontElement> {
- let element = HTMLFontElement::new_inherited(localName, document.unrooted());
+ let element = HTMLFontElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLFontElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlformelement.rs b/src/components/script/dom/htmlformelement.rs
index 9cba31363ab..8c3fd60d3c1 100644
--- a/src/components/script/dom/htmlformelement.rs
+++ b/src/components/script/dom/htmlformelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLFormElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLFormElementDerived;
-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::{Element, HTMLFormElementTypeId};
@@ -29,14 +29,14 @@ impl HTMLFormElementDerived for EventTarget {
}
impl HTMLFormElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLFormElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFormElement {
HTMLFormElement {
htmlelement: HTMLElement::new_inherited(HTMLFormElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFormElement> {
- let element = HTMLFormElement::new_inherited(localName, document.unrooted());
+ let element = HTMLFormElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLFormElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlframeelement.rs b/src/components/script/dom/htmlframeelement.rs
index 2f3aa886bcf..985f02114bc 100644
--- a/src/components/script/dom/htmlframeelement.rs
+++ b/src/components/script/dom/htmlframeelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLFrameElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLFrameElementDerived;
-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::HTMLFrameElementTypeId;
@@ -29,14 +29,14 @@ impl HTMLFrameElementDerived for EventTarget {
}
impl HTMLFrameElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLFrameElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFrameElement {
HTMLFrameElement {
htmlelement: HTMLElement::new_inherited(HTMLFrameElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFrameElement> {
- let element = HTMLFrameElement::new_inherited(localName, document.unrooted());
+ let element = HTMLFrameElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLFrameElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlframesetelement.rs b/src/components/script/dom/htmlframesetelement.rs
index 32860c79562..cbb3f868b98 100644
--- a/src/components/script/dom/htmlframesetelement.rs
+++ b/src/components/script/dom/htmlframesetelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLFrameSetElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLFrameSetElementDerived;
-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::HTMLFrameSetElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLFrameSetElementDerived for EventTarget {
}
impl HTMLFrameSetElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLFrameSetElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLFrameSetElement {
HTMLFrameSetElement {
htmlelement: HTMLElement::new_inherited(HTMLFrameSetElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLFrameSetElement> {
- let element = HTMLFrameSetElement::new_inherited(localName, document.unrooted());
+ let element = HTMLFrameSetElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLFrameSetElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlheadelement.rs b/src/components/script/dom/htmlheadelement.rs
index 1cfb2d4ea6e..542312c9dfe 100644
--- a/src/components/script/dom/htmlheadelement.rs
+++ b/src/components/script/dom/htmlheadelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLHeadElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLHeadElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLHeadElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLHeadElementDerived for EventTarget {
}
impl HTMLHeadElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLHeadElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLHeadElement {
HTMLHeadElement {
htmlelement: HTMLElement::new_inherited(HTMLHeadElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLHeadElement> {
- let element = HTMLHeadElement::new_inherited(localName, document.unrooted());
+ let element = HTMLHeadElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLHeadElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlheadingelement.rs b/src/components/script/dom/htmlheadingelement.rs
index 98142aaaa6a..e1a2c8051ce 100644
--- a/src/components/script/dom/htmlheadingelement.rs
+++ b/src/components/script/dom/htmlheadingelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLHeadingElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLHeadingElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLHeadingElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -38,7 +38,7 @@ impl HTMLHeadingElementDerived for EventTarget {
}
impl HTMLHeadingElement {
- pub fn new_inherited(localName: DOMString, document: JS<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,
@@ -46,7 +46,7 @@ impl HTMLHeadingElement {
}
pub fn new(localName: DOMString, document: &JSRef<Document>, level: HeadingLevel) -> Temporary<HTMLHeadingElement> {
- let element = HTMLHeadingElement::new_inherited(localName, document.unrooted(), level);
+ let element = HTMLHeadingElement::new_inherited(localName, document, level);
Node::reflect_node(~element, document, HTMLHeadingElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlhrelement.rs b/src/components/script/dom/htmlhrelement.rs
index 9031566d4d8..4ee1d645da6 100644
--- a/src/components/script/dom/htmlhrelement.rs
+++ b/src/components/script/dom/htmlhrelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLHRElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLHRElementDerived;
-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::HTMLHRElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLHRElementDerived for EventTarget {
}
impl HTMLHRElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLHRElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLHRElement {
HTMLHRElement {
htmlelement: HTMLElement::new_inherited(HTMLHRElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLHRElement> {
- let element = HTMLHRElement::new_inherited(localName, document.unrooted());
+ let element = HTMLHRElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLHRElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlhtmlelement.rs b/src/components/script/dom/htmlhtmlelement.rs
index 5a11183e80c..de57df51216 100644
--- a/src/components/script/dom/htmlhtmlelement.rs
+++ b/src/components/script/dom/htmlhtmlelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLHtmlElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLHtmlElementDerived;
-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::HTMLHtmlElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLHtmlElementDerived for EventTarget {
}
impl HTMLHtmlElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLHtmlElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLHtmlElement {
HTMLHtmlElement {
htmlelement: HTMLElement::new_inherited(HTMLHtmlElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLHtmlElement> {
- let element = HTMLHtmlElement::new_inherited(localName, document.unrooted());
+ let element = HTMLHtmlElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLHtmlElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmliframeelement.rs b/src/components/script/dom/htmliframeelement.rs
index 18a47de9ee7..acb1a5c1da6 100644
--- a/src/components/script/dom/htmliframeelement.rs
+++ b/src/components/script/dom/htmliframeelement.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLIFrameElementBinding;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLIFrameElementDerived, HTMLElementCast};
use dom::bindings::error::ErrorResult;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::trace::Untraceable;
use dom::document::Document;
use dom::element::{HTMLIFrameElementTypeId, Element};
@@ -70,7 +70,7 @@ impl<'a> HTMLIFrameElementHelpers for JSRef<'a, HTMLIFrameElement> {
}
impl HTMLIFrameElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLIFrameElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLIFrameElement {
HTMLIFrameElement {
htmlelement: HTMLElement::new_inherited(HTMLIFrameElementTypeId, localName, document),
frame: Untraceable::new(None),
@@ -80,7 +80,7 @@ impl HTMLIFrameElement {
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLIFrameElement> {
- let element = HTMLIFrameElement::new_inherited(localName, document.unrooted());
+ let element = HTMLIFrameElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLIFrameElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlimageelement.rs b/src/components/script/dom/htmlimageelement.rs
index af31c043d11..6013e74334f 100644
--- a/src/components/script/dom/htmlimageelement.rs
+++ b/src/components/script/dom/htmlimageelement.rs
@@ -68,7 +68,7 @@ impl<'a> PrivateHTMLImageElementHelpers for JSRef<'a, HTMLImageElement> {
}
impl HTMLImageElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLImageElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLImageElement {
HTMLImageElement {
htmlelement: HTMLElement::new_inherited(HTMLImageElementTypeId, localName, document),
image: Untraceable::new(None),
@@ -76,7 +76,7 @@ impl HTMLImageElement {
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLImageElement> {
- let element = HTMLImageElement::new_inherited(localName, document.unrooted());
+ let element = HTMLImageElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLImageElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlinputelement.rs b/src/components/script/dom/htmlinputelement.rs
index a50e73137ae..3b38421e1ce 100644
--- a/src/components/script/dom/htmlinputelement.rs
+++ b/src/components/script/dom/htmlinputelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLInputElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLInputElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::error::{ErrorResult, Fallible};
use dom::document::Document;
use dom::element::HTMLInputElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLInputElementDerived for EventTarget {
}
impl HTMLInputElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLInputElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLInputElement {
HTMLInputElement {
htmlelement: HTMLElement::new_inherited(HTMLInputElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLInputElement> {
- let element = HTMLInputElement::new_inherited(localName, document.unrooted());
+ let element = HTMLInputElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLInputElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmllabelelement.rs b/src/components/script/dom/htmllabelelement.rs
index f994d73331b..fb70e46c8b0 100644
--- a/src/components/script/dom/htmllabelelement.rs
+++ b/src/components/script/dom/htmllabelelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLLabelElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLLabelElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLLabelElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLLabelElementDerived for EventTarget {
}
impl HTMLLabelElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLLabelElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLLabelElement {
HTMLLabelElement {
htmlelement: HTMLElement::new_inherited(HTMLLabelElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLLabelElement> {
- let element = HTMLLabelElement::new_inherited(localName, document.unrooted());
+ let element = HTMLLabelElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLLabelElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmllegendelement.rs b/src/components/script/dom/htmllegendelement.rs
index 20af8e0bcf5..65896fae79c 100644
--- a/src/components/script/dom/htmllegendelement.rs
+++ b/src/components/script/dom/htmllegendelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLLegendElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLLegendElementDerived;
-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::HTMLLegendElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLLegendElementDerived for EventTarget {
}
impl HTMLLegendElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLLegendElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLLegendElement {
HTMLLegendElement {
htmlelement: HTMLElement::new_inherited(HTMLLegendElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLLegendElement> {
- let element = HTMLLegendElement::new_inherited(localName, document.unrooted());
+ let element = HTMLLegendElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLLegendElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmllielement.rs b/src/components/script/dom/htmllielement.rs
index 33f46ddebc2..7eba5d678ed 100644
--- a/src/components/script/dom/htmllielement.rs
+++ b/src/components/script/dom/htmllielement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLLIElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLLIElementDerived;
-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::HTMLLIElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLLIElementDerived for EventTarget {
}
impl HTMLLIElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLLIElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLLIElement {
HTMLLIElement {
htmlelement: HTMLElement::new_inherited(HTMLLIElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLLIElement> {
- let element = HTMLLIElement::new_inherited(localName, document.unrooted());
+ let element = HTMLLIElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLLIElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmllinkelement.rs b/src/components/script/dom/htmllinkelement.rs
index df96b58d19f..ff49f250778 100644
--- a/src/components/script/dom/htmllinkelement.rs
+++ b/src/components/script/dom/htmllinkelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLLinkElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLLinkElementDerived;
-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::HTMLLinkElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLLinkElementDerived for EventTarget {
}
impl HTMLLinkElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLLinkElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLLinkElement {
HTMLLinkElement {
htmlelement: HTMLElement::new_inherited(HTMLLinkElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLLinkElement> {
- let element = HTMLLinkElement::new_inherited(localName, document.unrooted());
+ let element = HTMLLinkElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLLinkElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlmainelement.rs b/src/components/script/dom/htmlmainelement.rs
index ffd5c6cb523..3efa0c68fb8 100644
--- a/src/components/script/dom/htmlmainelement.rs
+++ b/src/components/script/dom/htmlmainelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLMainElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLMainElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLMainElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLMainElementDerived for EventTarget {
}
impl HTMLMainElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLMainElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLMainElement {
HTMLMainElement {
htmlelement: HTMLElement::new_inherited(HTMLMainElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLMainElement> {
- let element = HTMLMainElement::new_inherited(localName, document.unrooted());
+ let element = HTMLMainElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLMainElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlmapelement.rs b/src/components/script/dom/htmlmapelement.rs
index a6bd9d39ed0..08a6e2c5c5d 100644
--- a/src/components/script/dom/htmlmapelement.rs
+++ b/src/components/script/dom/htmlmapelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLMapElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLMapElementDerived;
-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::HTMLMapElementTypeId;
@@ -29,14 +29,14 @@ impl HTMLMapElementDerived for EventTarget {
}
impl HTMLMapElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLMapElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLMapElement {
HTMLMapElement {
htmlelement: HTMLElement::new_inherited(HTMLMapElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLMapElement> {
- let element = HTMLMapElement::new_inherited(localName, document.unrooted());
+ let element = HTMLMapElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLMapElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlmediaelement.rs b/src/components/script/dom/htmlmediaelement.rs
index 4f68a11f9c0..e2d1c437aa8 100644
--- a/src/components/script/dom/htmlmediaelement.rs
+++ b/src/components/script/dom/htmlmediaelement.rs
@@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-use dom::bindings::js::{JS, JSRef};
+use dom::bindings::js::{JSRef};
use dom::bindings::codegen::InheritTypes::HTMLMediaElementDerived;
use dom::bindings::error::ErrorResult;
use dom::document::Document;
@@ -28,7 +28,7 @@ impl HTMLMediaElementDerived for EventTarget {
}
impl HTMLMediaElement {
- pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: JS<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/src/components/script/dom/htmlmetaelement.rs b/src/components/script/dom/htmlmetaelement.rs
index cb9e6d603c1..0399cd31210 100644
--- a/src/components/script/dom/htmlmetaelement.rs
+++ b/src/components/script/dom/htmlmetaelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLMetaElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLMetaElementDerived;
-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::HTMLMetaElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLMetaElementDerived for EventTarget {
}
impl HTMLMetaElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLMetaElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLMetaElement {
HTMLMetaElement {
htmlelement: HTMLElement::new_inherited(HTMLMetaElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLMetaElement> {
- let element = HTMLMetaElement::new_inherited(localName, document.unrooted());
+ let element = HTMLMetaElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLMetaElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlmeterelement.rs b/src/components/script/dom/htmlmeterelement.rs
index 7e4c7f42f9f..d16a82b79da 100644
--- a/src/components/script/dom/htmlmeterelement.rs
+++ b/src/components/script/dom/htmlmeterelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLMeterElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLMeterElementDerived;
-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::HTMLMeterElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLMeterElementDerived for EventTarget {
}
impl HTMLMeterElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLMeterElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLMeterElement {
HTMLMeterElement {
htmlelement: HTMLElement::new_inherited(HTMLMeterElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLMeterElement> {
- let element = HTMLMeterElement::new_inherited(localName, document.unrooted());
+ let element = HTMLMeterElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLMeterElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlmodelement.rs b/src/components/script/dom/htmlmodelement.rs
index 5e77c3c8636..ed05d72fe62 100644
--- a/src/components/script/dom/htmlmodelement.rs
+++ b/src/components/script/dom/htmlmodelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLModElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLModElementDerived;
-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::HTMLModElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLModElementDerived for EventTarget {
}
impl HTMLModElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLModElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLModElement {
HTMLModElement {
htmlelement: HTMLElement::new_inherited(HTMLModElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLModElement> {
- let element = HTMLModElement::new_inherited(localName, document.unrooted());
+ let element = HTMLModElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLModElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlobjectelement.rs b/src/components/script/dom/htmlobjectelement.rs
index c560486c565..473f12aefd7 100644
--- a/src/components/script/dom/htmlobjectelement.rs
+++ b/src/components/script/dom/htmlobjectelement.rs
@@ -6,7 +6,7 @@ use dom::attr::AttrMethods;
use dom::bindings::codegen::BindingDeclarations::HTMLObjectElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLObjectElementDerived;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast};
-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::{Element, HTMLObjectElementTypeId};
@@ -42,14 +42,14 @@ impl HTMLObjectElementDerived for EventTarget {
}
impl HTMLObjectElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLObjectElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLObjectElement {
HTMLObjectElement {
htmlelement: HTMLElement::new_inherited(HTMLObjectElementTypeId, localName, document),
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLObjectElement> {
- let element = HTMLObjectElement::new_inherited(localName, document.unrooted());
+ let element = HTMLObjectElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLObjectElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlolistelement.rs b/src/components/script/dom/htmlolistelement.rs
index 6b4133513b9..57beee67a5d 100644
--- a/src/components/script/dom/htmlolistelement.rs
+++ b/src/components/script/dom/htmlolistelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLOListElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLOListElementDerived;
-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::HTMLOListElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLOListElementDerived for EventTarget {
}
impl HTMLOListElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLOListElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLOListElement {
HTMLOListElement {
htmlelement: HTMLElement::new_inherited(HTMLOListElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLOListElement> {
- let element = HTMLOListElement::new_inherited(localName, document.unrooted());
+ let element = HTMLOListElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLOListElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmloptgroupelement.rs b/src/components/script/dom/htmloptgroupelement.rs
index 74c0bde0156..b4eb6e5c619 100644
--- a/src/components/script/dom/htmloptgroupelement.rs
+++ b/src/components/script/dom/htmloptgroupelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLOptGroupElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLOptGroupElementDerived;
-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::HTMLOptGroupElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLOptGroupElementDerived for EventTarget {
}
impl HTMLOptGroupElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLOptGroupElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLOptGroupElement {
HTMLOptGroupElement {
htmlelement: HTMLElement::new_inherited(HTMLOptGroupElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLOptGroupElement> {
- let element = HTMLOptGroupElement::new_inherited(localName, document.unrooted());
+ let element = HTMLOptGroupElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLOptGroupElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmloptionelement.rs b/src/components/script/dom/htmloptionelement.rs
index dc0c6c291d8..a3f64bb9620 100644
--- a/src/components/script/dom/htmloptionelement.rs
+++ b/src/components/script/dom/htmloptionelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLOptionElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLOptionElementDerived;
-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::HTMLOptionElementTypeId;
@@ -29,14 +29,14 @@ impl HTMLOptionElementDerived for EventTarget {
}
impl HTMLOptionElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLOptionElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLOptionElement {
HTMLOptionElement {
htmlelement: HTMLElement::new_inherited(HTMLOptionElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLOptionElement> {
- let element = HTMLOptionElement::new_inherited(localName, document.unrooted());
+ let element = HTMLOptionElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLOptionElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmloutputelement.rs b/src/components/script/dom/htmloutputelement.rs
index 91a77daa8e5..46f51abcbb4 100644
--- a/src/components/script/dom/htmloutputelement.rs
+++ b/src/components/script/dom/htmloutputelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLOutputElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLOutputElementDerived;
-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::HTMLOutputElementTypeId;
@@ -30,14 +30,14 @@ impl HTMLOutputElementDerived for EventTarget {
}
impl HTMLOutputElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLOutputElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLOutputElement {
HTMLOutputElement {
htmlelement: HTMLElement::new_inherited(HTMLOutputElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLOutputElement> {
- let element = HTMLOutputElement::new_inherited(localName, document.unrooted());
+ let element = HTMLOutputElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLOutputElementBinding::Wrap)
}
}
@@ -54,7 +54,6 @@ pub trait HTMLOutputElementMethods {
fn WillValidate(&self) -> bool;
fn SetWillValidate(&mut self, _will_validate: bool);
fn Validity(&self) -> Temporary<ValidityState>;
- fn SetValidity(&mut self, _validity: JS<ValidityState>);
fn ValidationMessage(&self) -> DOMString;
fn SetValidationMessage(&mut self, _message: DOMString) -> ErrorResult;
fn CheckValidity(&self) -> bool;
@@ -106,9 +105,6 @@ impl<'a> HTMLOutputElementMethods for JSRef<'a, HTMLOutputElement> {
ValidityState::new(&*window)
}
- fn SetValidity(&mut self, _validity: JS<ValidityState>) {
- }
-
fn ValidationMessage(&self) -> DOMString {
~""
}
diff --git a/src/components/script/dom/htmlparagraphelement.rs b/src/components/script/dom/htmlparagraphelement.rs
index 9bb6160d300..cf5e4aefc91 100644
--- a/src/components/script/dom/htmlparagraphelement.rs
+++ b/src/components/script/dom/htmlparagraphelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLParagraphElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLParagraphElementDerived;
-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::HTMLParagraphElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLParagraphElementDerived for EventTarget {
}
impl HTMLParagraphElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLParagraphElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLParagraphElement {
HTMLParagraphElement {
htmlelement: HTMLElement::new_inherited(HTMLParagraphElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLParagraphElement> {
- let element = HTMLParagraphElement::new_inherited(localName, document.unrooted());
+ let element = HTMLParagraphElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLParagraphElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlparamelement.rs b/src/components/script/dom/htmlparamelement.rs
index c5a727c12a5..4443dc0cd6b 100644
--- a/src/components/script/dom/htmlparamelement.rs
+++ b/src/components/script/dom/htmlparamelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLParamElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLParamElementDerived;
-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::HTMLParamElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLParamElementDerived for EventTarget {
}
impl HTMLParamElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLParamElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLParamElement {
HTMLParamElement {
htmlelement: HTMLElement::new_inherited(HTMLParamElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLParamElement> {
- let element = HTMLParamElement::new_inherited(localName, document.unrooted());
+ let element = HTMLParamElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLParamElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlpreelement.rs b/src/components/script/dom/htmlpreelement.rs
index b43b18c3028..2aa6f20c8a0 100644
--- a/src/components/script/dom/htmlpreelement.rs
+++ b/src/components/script/dom/htmlpreelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLPreElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLPreElementDerived;
-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::HTMLPreElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLPreElementDerived for EventTarget {
}
impl HTMLPreElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLPreElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLPreElement {
HTMLPreElement {
htmlelement: HTMLElement::new_inherited(HTMLPreElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLPreElement> {
- let element = HTMLPreElement::new_inherited(localName, document.unrooted());
+ let element = HTMLPreElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLPreElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlprogresselement.rs b/src/components/script/dom/htmlprogresselement.rs
index 800bd7df9ff..504887a84b6 100644
--- a/src/components/script/dom/htmlprogresselement.rs
+++ b/src/components/script/dom/htmlprogresselement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLProgressElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLProgressElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::error::{ErrorResult, Fallible};
use dom::document::Document;
use dom::element::HTMLProgressElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLProgressElementDerived for EventTarget {
}
impl HTMLProgressElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLProgressElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLProgressElement {
HTMLProgressElement {
htmlelement: HTMLElement::new_inherited(HTMLProgressElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLProgressElement> {
- let element = HTMLProgressElement::new_inherited(localName, document.unrooted());
+ let element = HTMLProgressElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLProgressElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlquoteelement.rs b/src/components/script/dom/htmlquoteelement.rs
index a2c50a8082d..910d5ce21e7 100644
--- a/src/components/script/dom/htmlquoteelement.rs
+++ b/src/components/script/dom/htmlquoteelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLQuoteElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLQuoteElementDerived;
-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::HTMLQuoteElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLQuoteElementDerived for EventTarget {
}
impl HTMLQuoteElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLQuoteElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLQuoteElement {
HTMLQuoteElement {
htmlelement: HTMLElement::new_inherited(HTMLQuoteElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLQuoteElement> {
- let element = HTMLQuoteElement::new_inherited(localName, document.unrooted());
+ let element = HTMLQuoteElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLQuoteElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlscriptelement.rs b/src/components/script/dom/htmlscriptelement.rs
index b392fbb95d2..522a9244fa6 100644
--- a/src/components/script/dom/htmlscriptelement.rs
+++ b/src/components/script/dom/htmlscriptelement.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLScriptElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLScriptElementDerived;
use dom::bindings::codegen::InheritTypes::ElementCast;
-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::{HTMLScriptElementTypeId, Element, AttributeHandlers};
@@ -29,14 +29,14 @@ impl HTMLScriptElementDerived for EventTarget {
}
impl HTMLScriptElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLScriptElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLScriptElement {
HTMLScriptElement {
htmlelement: HTMLElement::new_inherited(HTMLScriptElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLScriptElement> {
- let element = HTMLScriptElement::new_inherited(localName, document.unrooted());
+ let element = HTMLScriptElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLScriptElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlselectelement.rs b/src/components/script/dom/htmlselectelement.rs
index 54d3c7cf86f..676e2266880 100644
--- a/src/components/script/dom/htmlselectelement.rs
+++ b/src/components/script/dom/htmlselectelement.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLSelectElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLSelectElementDerived;
use dom::bindings::codegen::UnionTypes::{HTMLElementOrLong, HTMLOptionElementOrHTMLOptGroupElement};
-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::{Element, HTMLSelectElementTypeId};
@@ -32,14 +32,14 @@ impl HTMLSelectElementDerived for EventTarget {
}
impl HTMLSelectElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLSelectElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLSelectElement {
HTMLSelectElement {
htmlelement: HTMLElement::new_inherited(HTMLSelectElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLSelectElement> {
- let element = HTMLSelectElement::new_inherited(localName, document.unrooted());
+ let element = HTMLSelectElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLSelectElementBinding::Wrap)
}
}
@@ -74,7 +74,6 @@ pub trait HTMLSelectElementMethods {
fn WillValidate(&self) -> bool;
fn SetWillValidate(&mut self, _will_validate: bool);
fn Validity(&self) -> Temporary<ValidityState>;
- fn SetValidity(&mut self, _validity: JS<ValidityState>);
fn ValidationMessage(&self) -> DOMString;
fn SetValidationMessage(&mut self, _message: DOMString) -> ErrorResult;
fn CheckValidity(&self) -> bool;
@@ -196,9 +195,6 @@ impl<'a> HTMLSelectElementMethods for JSRef<'a, HTMLSelectElement> {
ValidityState::new(&*window)
}
- fn SetValidity(&mut self, _validity: JS<ValidityState>) {
- }
-
fn ValidationMessage(&self) -> DOMString {
~""
}
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<Document>) -> HTMLSourceElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLSourceElement {
HTMLSourceElement {
htmlelement: HTMLElement::new_inherited(HTMLSourceElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLSourceElement> {
- let element = HTMLSourceElement::new_inherited(localName, document.unrooted());
+ let element = HTMLSourceElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLSourceElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlspanelement.rs b/src/components/script/dom/htmlspanelement.rs
index 79beef28cab..c4ccddeda33 100644
--- a/src/components/script/dom/htmlspanelement.rs
+++ b/src/components/script/dom/htmlspanelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLSpanElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLSpanElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLSpanElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLSpanElementDerived for EventTarget {
}
impl HTMLSpanElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLSpanElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLSpanElement {
HTMLSpanElement {
htmlelement: HTMLElement::new_inherited(HTMLSpanElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLSpanElement> {
- let element = HTMLSpanElement::new_inherited(localName, document.unrooted());
+ let element = HTMLSpanElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLSpanElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlstyleelement.rs b/src/components/script/dom/htmlstyleelement.rs
index 025375efb73..d5fe24aafe3 100644
--- a/src/components/script/dom/htmlstyleelement.rs
+++ b/src/components/script/dom/htmlstyleelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLStyleElementBinding;
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLStyleElementDerived, NodeCast};
-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::HTMLStyleElementTypeId;
@@ -31,14 +31,14 @@ impl HTMLStyleElementDerived for EventTarget {
}
impl HTMLStyleElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLStyleElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLStyleElement {
HTMLStyleElement {
htmlelement: HTMLElement::new_inherited(HTMLStyleElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLStyleElement> {
- let element = HTMLStyleElement::new_inherited(localName, document.unrooted());
+ let element = HTMLStyleElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLStyleElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltablecaptionelement.rs b/src/components/script/dom/htmltablecaptionelement.rs
index cc99c839e80..6586e4d2703 100644
--- a/src/components/script/dom/htmltablecaptionelement.rs
+++ b/src/components/script/dom/htmltablecaptionelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTableCaptionElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableCaptionElementDerived;
-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::HTMLTableCaptionElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTableCaptionElementDerived for EventTarget {
}
impl HTMLTableCaptionElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTableCaptionElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableCaptionElement {
HTMLTableCaptionElement {
htmlelement: HTMLElement::new_inherited(HTMLTableCaptionElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableCaptionElement> {
- let element = HTMLTableCaptionElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTableCaptionElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTableCaptionElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltablecellelement.rs b/src/components/script/dom/htmltablecellelement.rs
index 47010ccbac7..9673551c23e 100644
--- a/src/components/script/dom/htmltablecellelement.rs
+++ b/src/components/script/dom/htmltablecellelement.rs
@@ -3,7 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::InheritTypes::HTMLTableCellElementDerived;
-use dom::bindings::js::{JS, JSRef};
+use dom::bindings::js::JSRef;
use dom::bindings::error::ErrorResult;
use dom::document::Document;
use dom::element::{ElementTypeId, HTMLTableDataCellElementTypeId, HTMLTableHeaderCellElementTypeId};
@@ -28,7 +28,7 @@ impl HTMLTableCellElementDerived for EventTarget {
}
impl HTMLTableCellElement {
- pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, document: JS<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/src/components/script/dom/htmltablecolelement.rs b/src/components/script/dom/htmltablecolelement.rs
index e387e5ad2cc..cc126ad81e0 100644
--- a/src/components/script/dom/htmltablecolelement.rs
+++ b/src/components/script/dom/htmltablecolelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTableColElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableColElementDerived;
-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::HTMLTableColElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTableColElementDerived for EventTarget {
}
impl HTMLTableColElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTableColElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableColElement {
HTMLTableColElement {
htmlelement: HTMLElement::new_inherited(HTMLTableColElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableColElement> {
- let element = HTMLTableColElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTableColElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTableColElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltabledatacellelement.rs b/src/components/script/dom/htmltabledatacellelement.rs
index d9c0f208bff..c62fc8fd191 100644
--- a/src/components/script/dom/htmltabledatacellelement.rs
+++ b/src/components/script/dom/htmltabledatacellelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTableDataCellElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableDataCellElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLTableDataCellElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLTableDataCellElementDerived for EventTarget {
}
impl HTMLTableDataCellElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTableDataCellElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableDataCellElement {
HTMLTableDataCellElement {
htmltablecellelement: HTMLTableCellElement::new_inherited(HTMLTableDataCellElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableDataCellElement> {
- let element = HTMLTableDataCellElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTableDataCellElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTableDataCellElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltableelement.rs b/src/components/script/dom/htmltableelement.rs
index bebf407b73a..f734f9a4ec4 100644
--- a/src/components/script/dom/htmltableelement.rs
+++ b/src/components/script/dom/htmltableelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTableElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableElementDerived;
-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::HTMLTableElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTableElementDerived for EventTarget {
}
impl HTMLTableElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTableElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableElement {
HTMLTableElement {
htmlelement: HTMLElement::new_inherited(HTMLTableElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableElement> {
- let element = HTMLTableElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTableElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTableElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltableheadercellelement.rs b/src/components/script/dom/htmltableheadercellelement.rs
index beb9c5e2f97..1d4245fef5a 100644
--- a/src/components/script/dom/htmltableheadercellelement.rs
+++ b/src/components/script/dom/htmltableheadercellelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTableHeaderCellElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableHeaderCellElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLTableHeaderCellElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLTableHeaderCellElementDerived for EventTarget {
}
impl HTMLTableHeaderCellElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTableHeaderCellElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableHeaderCellElement {
HTMLTableHeaderCellElement {
htmltablecellelement: HTMLTableCellElement::new_inherited(HTMLTableHeaderCellElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableHeaderCellElement> {
- let element = HTMLTableHeaderCellElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTableHeaderCellElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTableHeaderCellElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltablerowelement.rs b/src/components/script/dom/htmltablerowelement.rs
index 0d949741b4c..35956388968 100644
--- a/src/components/script/dom/htmltablerowelement.rs
+++ b/src/components/script/dom/htmltablerowelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTableRowElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableRowElementDerived;
-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::HTMLTableRowElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTableRowElementDerived for EventTarget {
}
impl HTMLTableRowElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTableRowElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableRowElement {
HTMLTableRowElement {
htmlelement: HTMLElement::new_inherited(HTMLTableRowElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableRowElement> {
- let element = HTMLTableRowElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTableRowElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTableRowElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltablesectionelement.rs b/src/components/script/dom/htmltablesectionelement.rs
index 5eefa98722a..b22a8ee694f 100644
--- a/src/components/script/dom/htmltablesectionelement.rs
+++ b/src/components/script/dom/htmltablesectionelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTableSectionElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTableSectionElementDerived;
-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::HTMLTableSectionElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTableSectionElementDerived for EventTarget {
}
impl HTMLTableSectionElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTableSectionElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTableSectionElement {
HTMLTableSectionElement {
htmlelement: HTMLElement::new_inherited(HTMLTableSectionElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTableSectionElement> {
- let element = HTMLTableSectionElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTableSectionElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTableSectionElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltemplateelement.rs b/src/components/script/dom/htmltemplateelement.rs
index 8e3b8d115ed..30bf8219d60 100644
--- a/src/components/script/dom/htmltemplateelement.rs
+++ b/src/components/script/dom/htmltemplateelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTemplateElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTemplateElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLTemplateElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLTemplateElementDerived for EventTarget {
}
impl HTMLTemplateElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTemplateElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTemplateElement {
HTMLTemplateElement {
htmlelement: HTMLElement::new_inherited(HTMLTemplateElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTemplateElement> {
- let element = HTMLTemplateElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTemplateElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTemplateElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltextareaelement.rs b/src/components/script/dom/htmltextareaelement.rs
index 7e221cbbd3e..25a3742bc33 100644
--- a/src/components/script/dom/htmltextareaelement.rs
+++ b/src/components/script/dom/htmltextareaelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTextAreaElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTextAreaElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::error::{ErrorResult, Fallible};
use dom::document::Document;
use dom::element::HTMLTextAreaElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTextAreaElementDerived for EventTarget {
}
impl HTMLTextAreaElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTextAreaElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTextAreaElement {
HTMLTextAreaElement {
htmlelement: HTMLElement::new_inherited(HTMLTextAreaElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTextAreaElement> {
- let element = HTMLTextAreaElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTextAreaElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTextAreaElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltimeelement.rs b/src/components/script/dom/htmltimeelement.rs
index 15e8101561f..63a73d2f63e 100644
--- a/src/components/script/dom/htmltimeelement.rs
+++ b/src/components/script/dom/htmltimeelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTimeElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTimeElementDerived;
-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::HTMLTimeElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTimeElementDerived for EventTarget {
}
impl HTMLTimeElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTimeElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTimeElement {
HTMLTimeElement {
htmlelement: HTMLElement::new_inherited(HTMLTimeElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTimeElement> {
- let element = HTMLTimeElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTimeElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTimeElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltitleelement.rs b/src/components/script/dom/htmltitleelement.rs
index 5f7016bc96c..55383c0e62a 100644
--- a/src/components/script/dom/htmltitleelement.rs
+++ b/src/components/script/dom/htmltitleelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTitleElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTitleElementDerived;
-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::HTMLTitleElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTitleElementDerived for EventTarget {
}
impl HTMLTitleElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTitleElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTitleElement {
HTMLTitleElement {
htmlelement: HTMLElement::new_inherited(HTMLTitleElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTitleElement> {
- let element = HTMLTitleElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTitleElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTitleElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmltrackelement.rs b/src/components/script/dom/htmltrackelement.rs
index b2b2b077c78..5f0f80708ad 100644
--- a/src/components/script/dom/htmltrackelement.rs
+++ b/src/components/script/dom/htmltrackelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLTrackElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLTrackElementDerived;
-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::HTMLTrackElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLTrackElementDerived for EventTarget {
}
impl HTMLTrackElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLTrackElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLTrackElement {
HTMLTrackElement {
htmlelement: HTMLElement::new_inherited(HTMLTrackElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLTrackElement> {
- let element = HTMLTrackElement::new_inherited(localName, document.unrooted());
+ let element = HTMLTrackElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLTrackElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlulistelement.rs b/src/components/script/dom/htmlulistelement.rs
index 5d5bd0b61da..f91f96a7b90 100644
--- a/src/components/script/dom/htmlulistelement.rs
+++ b/src/components/script/dom/htmlulistelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLUListElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLUListElementDerived;
-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::HTMLUListElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLUListElementDerived for EventTarget {
}
impl HTMLUListElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLUListElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLUListElement {
HTMLUListElement {
htmlelement: HTMLElement::new_inherited(HTMLUListElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLUListElement> {
- let element = HTMLUListElement::new_inherited(localName, document.unrooted());
+ let element = HTMLUListElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLUListElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlunknownelement.rs b/src/components/script/dom/htmlunknownelement.rs
index 2fbf2906c3d..855b17578e5 100644
--- a/src/components/script/dom/htmlunknownelement.rs
+++ b/src/components/script/dom/htmlunknownelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLUnknownElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLUnknownElementDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::HTMLUnknownElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -27,14 +27,14 @@ impl HTMLUnknownElementDerived for EventTarget {
}
impl HTMLUnknownElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLUnknownElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLUnknownElement {
HTMLUnknownElement {
htmlelement: HTMLElement::new_inherited(HTMLUnknownElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLUnknownElement> {
- let element = HTMLUnknownElement::new_inherited(localName, document.unrooted());
+ let element = HTMLUnknownElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLUnknownElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/htmlvideoelement.rs b/src/components/script/dom/htmlvideoelement.rs
index 68925daacee..22bdc154bba 100644
--- a/src/components/script/dom/htmlvideoelement.rs
+++ b/src/components/script/dom/htmlvideoelement.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::HTMLVideoElementBinding;
use dom::bindings::codegen::InheritTypes::HTMLVideoElementDerived;
-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::HTMLVideoElementTypeId;
@@ -28,14 +28,14 @@ impl HTMLVideoElementDerived for EventTarget {
}
impl HTMLVideoElement {
- pub fn new_inherited(localName: DOMString, document: JS<Document>) -> HTMLVideoElement {
+ pub fn new_inherited(localName: DOMString, document: &JSRef<Document>) -> HTMLVideoElement {
HTMLVideoElement {
htmlmediaelement: HTMLMediaElement::new_inherited(HTMLVideoElementTypeId, localName, document)
}
}
pub fn new(localName: DOMString, document: &JSRef<Document>) -> Temporary<HTMLVideoElement> {
- let element = HTMLVideoElement::new_inherited(localName, document.unrooted());
+ let element = HTMLVideoElement::new_inherited(localName, document);
Node::reflect_node(~element, document, HTMLVideoElementBinding::Wrap)
}
}
diff --git a/src/components/script/dom/mouseevent.rs b/src/components/script/dom/mouseevent.rs
index f35c088675c..f813b023961 100644
--- a/src/components/script/dom/mouseevent.rs
+++ b/src/components/script/dom/mouseevent.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::MouseEventBinding;
use dom::bindings::codegen::InheritTypes::{UIEventCast, MouseEventDerived};
-use dom::bindings::js::{JS, JSRef, RootedReference, Temporary};
+use dom::bindings::js::{JS, JSRef, RootedReference, Temporary, OptionalSettable};
use dom::bindings::error::Fallible;
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::event::{Event, MouseEventTypeId};
@@ -68,7 +68,7 @@ impl MouseEvent {
init.clientX, init.clientY, init.ctrlKey,
init.altKey, init.shiftKey, init.metaKey,
init.button, related_target.root_ref());
- Ok(Temporary::new_rooted(&*ev))
+ Ok(Temporary::from_rooted(&*ev))
}
}
@@ -183,7 +183,7 @@ impl<'a> MouseEventMethods for JSRef<'a, MouseEvent> {
self.shift_key = shiftKeyArg;
self.meta_key = metaKeyArg;
self.button = buttonArg;
- self.related_target = relatedTargetArg.map(|target| target.unrooted());
+ self.related_target.assign(relatedTargetArg);
}
}
diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs
index 772d1fbcc39..a102f916505 100644
--- a/src/components/script/dom/node.rs
+++ b/src/components/script/dom/node.rs
@@ -11,7 +11,7 @@ use dom::bindings::codegen::InheritTypes::{CharacterDataCast, NodeBase, NodeDeri
use dom::bindings::codegen::InheritTypes::{ProcessingInstructionCast, EventTargetCast};
use dom::bindings::codegen::BindingDeclarations::NodeBinding::NodeConstants;
use dom::bindings::js::{JS, JSRef, RootedReference, Temporary, Root};
-use dom::bindings::js::{OptionalAssignable, TemporaryPushable, OptionalRootedRootable};
+use dom::bindings::js::{OptionalSettable, TemporaryPushable, OptionalRootedRootable};
use dom::bindings::js::{ResultRootable, OptionalRootable};
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::bindings::error::{ErrorResult, Fallible, NotFound, HierarchyRequest};
@@ -566,7 +566,7 @@ impl<'a> NodeHelpers for JSRef<'a, Node> {
fn is_parent_of(&self, child: &JSRef<Node>) -> bool {
match child.parent_node() {
- Some(ref parent) if *parent == Temporary::new_rooted(self) => true,
+ Some(ref parent) if *parent == Temporary::from_rooted(self) => true,
_ => false
}
}
@@ -604,7 +604,7 @@ impl<'a> NodeHelpers for JSRef<'a, Node> {
}
fn set_owner_doc(&mut self, document: &JSRef<Document>) {
- self.owner_doc = Some(document.unrooted());
+ self.owner_doc.assign(Some(document.clone()));
}
fn children(&self) -> AbstractNodeChildrenIterator {
@@ -891,12 +891,11 @@ impl Node {
let window = document.get().window.root();
let node = reflect_dom_object(node, &window.root_ref(), wrap_fn).root();
assert!(node.reflector().get_jsobject().is_not_null());
- Temporary::new_rooted(&*node)
+ Temporary::from_rooted(&*node)
}
- pub fn new_inherited(type_id: NodeTypeId, doc: JS<Document>) -> Node {
- let doc = doc.root();
- Node::new_(type_id, Some(doc.root_ref()))
+ pub fn new_inherited(type_id: NodeTypeId, doc: &JSRef<Document>) -> Node {
+ Node::new_(type_id, Some(doc.clone()))
}
pub fn new_without_doc(type_id: NodeTypeId) -> Node {
@@ -1079,7 +1078,7 @@ impl Node {
Node::insert(node, parent, referenceChild, Unsuppressed);
// Step 11.
- return Ok(Temporary::new_rooted(node))
+ return Ok(Temporary::from_rooted(node))
}
// http://dom.spec.whatwg.org/#concept-node-insert
@@ -1174,7 +1173,7 @@ impl Node {
fn pre_remove(child: &mut JSRef<Node>, parent: &mut JSRef<Node>) -> Fallible<Temporary<Node>> {
// Step 1.
match child.parent_node() {
- Some(ref node) if *node != Temporary::new_rooted(parent) => return Err(NotFound),
+ Some(ref node) if *node != Temporary::from_rooted(parent) => return Err(NotFound),
_ => ()
}
@@ -1182,12 +1181,12 @@ impl Node {
Node::remove(child, parent, Unsuppressed);
// Step 3.
- Ok(Temporary::new_rooted(child))
+ Ok(Temporary::from_rooted(child))
}
// http://dom.spec.whatwg.org/#concept-node-remove
fn remove(node: &mut JSRef<Node>, parent: &mut JSRef<Node>, suppress_observers: SuppressObserver) {
- assert!(node.parent_node().map_or(false, |node_parent| node_parent == Temporary::new_rooted(parent)));
+ assert!(node.parent_node().map_or(false, |node_parent| node_parent == Temporary::from_rooted(parent)));
// Step 1-5: ranges.
// Step 6-7: mutation observers.
@@ -1296,10 +1295,10 @@ impl Node {
let window = document.get().window.root();
for attr in node_elem.attrs.iter().map(|attr| attr.root()) {
copy_elem.attrs.push_unrooted(
- Attr::new(&*window,
- attr.deref().local_name.clone(), attr.deref().value.clone(),
- attr.deref().name.clone(), attr.deref().namespace.clone(),
- attr.deref().prefix.clone(), &copy_elem_alias));
+ &Attr::new(&*window,
+ attr.deref().local_name.clone(), attr.deref().value.clone(),
+ attr.deref().name.clone(), attr.deref().namespace.clone(),
+ attr.deref().prefix.clone(), &copy_elem_alias));
}
},
_ => ()
@@ -1316,7 +1315,7 @@ impl Node {
}
// Step 7.
- Temporary::new_rooted(&*copy)
+ Temporary::from_rooted(&*copy)
}
/// Sends layout data, if any, back to the script task to be destroyed.
@@ -1433,7 +1432,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> {
.and_then(|parent| {
let parent = parent.root();
ElementCast::to_ref(&*parent).map(|elem| {
- Temporary::new_rooted(elem)
+ Temporary::from_rooted(elem)
})
})
}
@@ -1546,7 +1545,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> {
let document = self.owner_doc().root();
Some(NodeCast::from_unrooted(document.deref().CreateTextNode(value)))
}.root();
-
+
// Step 3.
Node::replace_all(node.root_ref(), self);
}
@@ -1671,8 +1670,8 @@ impl<'a> NodeMethods for JSRef<'a, Node> {
}
// Ok if not caught by previous error checks.
- if node.unrooted() == child.unrooted() {
- return Ok(Temporary::new_rooted(child));
+ if *node == *child {
+ return Ok(Temporary::from_rooted(child));
}
// Step 7-8.
@@ -1706,7 +1705,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> {
}
// Step 15.
- Ok(Temporary::new_rooted(child))
+ Ok(Temporary::from_rooted(child))
}
// http://dom.spec.whatwg.org/#dom-node-removechild
diff --git a/src/components/script/dom/nodelist.rs b/src/components/script/dom/nodelist.rs
index 5c02eca8d08..dc050b995ea 100644
--- a/src/components/script/dom/nodelist.rs
+++ b/src/components/script/dom/nodelist.rs
@@ -22,18 +22,18 @@ pub struct NodeList {
}
impl NodeList {
- pub fn new_inherited(window: JS<Window>,
+ pub fn new_inherited(window: &JSRef<Window>,
list_type: NodeListType) -> NodeList {
NodeList {
list_type: list_type,
reflector_: Reflector::new(),
- window: window
+ window: window.unrooted()
}
}
pub fn new(window: &JSRef<Window>,
list_type: NodeListType) -> Temporary<NodeList> {
- reflect_dom_object(~NodeList::new_inherited(window.unrooted(), list_type),
+ reflect_dom_object(~NodeList::new_inherited(window, list_type),
window, NodeListBinding::Wrap)
}
@@ -70,7 +70,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::new_rooted(&child))
+ .map(|child| Temporary::from_rooted(&child))
}
}
}
diff --git a/src/components/script/dom/processinginstruction.rs b/src/components/script/dom/processinginstruction.rs
index 9a00333fd93..1152a9c20b2 100644
--- a/src/components/script/dom/processinginstruction.rs
+++ b/src/components/script/dom/processinginstruction.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::ProcessingInstructionBinding;
use dom::bindings::codegen::InheritTypes::ProcessingInstructionDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::characterdata::CharacterData;
use dom::document::Document;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@@ -28,7 +28,7 @@ impl ProcessingInstructionDerived for EventTarget {
}
impl ProcessingInstruction {
- pub fn new_inherited(target: DOMString, data: DOMString, document: JS<Document>) -> ProcessingInstruction {
+ pub fn new_inherited(target: DOMString, data: DOMString, document: &JSRef<Document>) -> ProcessingInstruction {
ProcessingInstruction {
characterdata: CharacterData::new_inherited(ProcessingInstructionNodeTypeId, data, document),
target: target
@@ -36,7 +36,7 @@ impl ProcessingInstruction {
}
pub fn new(target: DOMString, data: DOMString, document: &JSRef<Document>) -> Temporary<ProcessingInstruction> {
- let node = ProcessingInstruction::new_inherited(target, data, document.unrooted());
+ let node = ProcessingInstruction::new_inherited(target, data, document);
Node::reflect_node(~node, document, ProcessingInstructionBinding::Wrap)
}
}
diff --git a/src/components/script/dom/text.rs b/src/components/script/dom/text.rs
index d286c7f5361..0f331090e37 100644
--- a/src/components/script/dom/text.rs
+++ b/src/components/script/dom/text.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::TextBinding;
use dom::bindings::codegen::InheritTypes::TextDerived;
-use dom::bindings::js::{JS, JSRef, Temporary};
+use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::error::Fallible;
use dom::characterdata::CharacterData;
use dom::document::Document;
@@ -29,14 +29,14 @@ impl TextDerived for EventTarget {
}
impl Text {
- pub fn new_inherited(text: DOMString, document: JS<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> {
- let node = Text::new_inherited(text, document.unrooted());
+ let node = Text::new_inherited(text, document);
Node::reflect_node(~node, document, TextBinding::Wrap)
}
diff --git a/src/components/script/dom/uievent.rs b/src/components/script/dom/uievent.rs
index 90e4daa872b..3da3e509918 100644
--- a/src/components/script/dom/uievent.rs
+++ b/src/components/script/dom/uievent.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::BindingDeclarations::UIEventBinding;
use dom::bindings::codegen::InheritTypes::{EventCast, UIEventDerived};
-use dom::bindings::js::{JS, JSRef, RootedReference, Temporary};
+use dom::bindings::js::{JS, JSRef, RootedReference, Temporary, OptionalSettable};
use dom::bindings::error::Fallible;
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::event::{Event, EventMethods, EventTypeId, UIEventTypeId};
@@ -49,7 +49,7 @@ impl UIEvent {
let view = init.view.as_ref().map(|view| view.root());
ev.InitUIEvent(type_, init.parent.bubbles, init.parent.cancelable,
view.root_ref(), init.detail);
- Ok(Temporary::new_rooted(&*ev))
+ Ok(Temporary::from_rooted(&*ev))
}
}
@@ -93,7 +93,7 @@ impl<'a> UIEventMethods for JSRef<'a, UIEvent> {
let event: &mut JSRef<Event> = EventCast::from_mut_ref(self);
event.InitEvent(type_, can_bubble, cancelable);
}
- self.view = view.map(|view| view.unrooted());
+ self.view.assign(view);
self.detail = detail;
}
diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs
index f60e646b3ff..7069b1572dd 100644
--- a/src/components/script/dom/validitystate.rs
+++ b/src/components/script/dom/validitystate.rs
@@ -15,16 +15,16 @@ pub struct ValidityState {
}
impl ValidityState {
- pub fn new_inherited(window: JS<Window>) -> ValidityState {
+ pub fn new_inherited(window: &JSRef<Window>) -> ValidityState {
ValidityState {
reflector_: Reflector::new(),
- window: window,
+ window: window.unrooted(),
state: 0,
}
}
pub fn new(window: &JSRef<Window>) -> Temporary<ValidityState> {
- reflect_dom_object(~ValidityState::new_inherited(window.unrooted()),
+ reflect_dom_object(~ValidityState::new_inherited(window),
window,
ValidityStateBinding::Wrap)
}
diff --git a/src/components/script/dom/window.rs b/src/components/script/dom/window.rs
index 3908db73326..258a85b1455 100644
--- a/src/components/script/dom/window.rs
+++ b/src/components/script/dom/window.rs
@@ -3,7 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::BindingDeclarations::WindowBinding;
-use dom::bindings::js::{JS, JSRef, Temporary, OptionalAssignable};
+use dom::bindings::js::{JS, JSRef, Temporary, OptionalSettable};
use dom::bindings::trace::{Traceable, Untraceable};
use dom::bindings::utils::{Reflectable, Reflector};
use dom::browsercontext::BrowserContext;
@@ -242,7 +242,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
}
fn Window(&self) -> Temporary<Window> {
- Temporary::new_rooted(self)
+ Temporary::from_rooted(self)
}
fn Self(&self) -> Temporary<Window> {
diff --git a/src/components/script/dom/xmlhttprequest.rs b/src/components/script/dom/xmlhttprequest.rs
index 7e949a4b2b9..5543f508315 100644
--- a/src/components/script/dom/xmlhttprequest.rs
+++ b/src/components/script/dom/xmlhttprequest.rs
@@ -10,7 +10,7 @@ use dom::bindings::codegen::InheritTypes::XMLHttpRequestDerived;
use dom::document::Document;
use dom::eventtarget::{EventTarget, XMLHttpRequestTargetTypeId};
use dom::bindings::error::Fallible;
-use dom::bindings::js::{JS, JSRef, Temporary, OptionalAssignable};
+use dom::bindings::js::{JS, JSRef, Temporary, OptionalSettable};
use js::jsapi::JSContext;
use js::jsval::{JSVal, NullValue};
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
diff --git a/src/components/script/script_task.rs b/src/components/script/script_task.rs
index fe609cfc467..1363a1dbc3d 100644
--- a/src/components/script/script_task.rs
+++ b/src/components/script/script_task.rs
@@ -8,7 +8,7 @@
use dom::attr::AttrMethods;
use dom::bindings::codegen::RegisterBindings;
use dom::bindings::codegen::InheritTypes::{EventTargetCast, NodeCast, ElementCast, EventCast};
-use dom::bindings::js::{JS, JSRef, RootCollection, Temporary, OptionalAssignable};
+use dom::bindings::js::{JS, JSRef, RootCollection, Temporary, OptionalSettable};
use dom::bindings::js::OptionalRootable;
use dom::bindings::trace::{Traceable, Untraceable};
use dom::bindings::utils::{Reflectable, GlobalStaticData, wrap_for_same_compartment};
@@ -421,7 +421,7 @@ impl Page {
elem.get_attribute(Null, "name").root().map_or(false, |attr| {
attr.get().value_ref() == fragid
})
- }).map(|node| Temporary::new_rooted(ElementCast::to_ref(&node).unwrap()))
+ }).map(|node| Temporary::from_rooted(ElementCast::to_ref(&node).unwrap()))
}
}
}
@@ -907,7 +907,7 @@ impl ScriptTask {
{
let mut js_info = page.mut_js_info();
- RegisterBindings::Register(&*window, js_info.get_mut_ref());
+ RegisterBindings::Register(&window.unrooted(), js_info.get_mut_ref());
}
self.compositor.set_ready_state(Loading);