Rename Root<T> to DomRoot<T>

In a later PR, DomRoot<T> will become a type alias of Root<Dom<T>>,
where Root<T> will be able to handle all the things that need to be
rooted that have a stable traceable address that doesn't move for the
whole lifetime of the root. Stay tuned.
This commit is contained in:
Anthony Ramine 2017-09-26 01:53:40 +02:00
parent 577370746e
commit f87c2a8d76
291 changed files with 1774 additions and 1770 deletions

View file

@ -15,7 +15,7 @@ use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding::HTMLTextAreaEl
use dom::bindings::inheritance::{Castable, ElementTypeId, HTMLElementTypeId, NodeTypeId};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::DomObject;
use dom::bindings::root::{Dom, DomOnceCell, Root, RootedReference};
use dom::bindings::root::{Dom, DomOnceCell, DomRoot, RootedReference};
use dom::bindings::str::DOMString;
use dom::blob::Blob;
use dom::document::Document;
@ -85,7 +85,7 @@ impl HTMLFormElement {
#[allow(unrooted_must_root)]
pub fn new(local_name: LocalName,
prefix: Option<Prefix>,
document: &Document) -> Root<HTMLFormElement> {
document: &Document) -> DomRoot<HTMLFormElement> {
Node::reflect_node(box HTMLFormElement::new_inherited(local_name, prefix, document),
document,
HTMLFormElementBinding::Wrap)
@ -165,10 +165,10 @@ impl HTMLFormElementMethods for HTMLFormElement {
}
// https://html.spec.whatwg.org/multipage/#dom-form-elements
fn Elements(&self) -> Root<HTMLFormControlsCollection> {
fn Elements(&self) -> DomRoot<HTMLFormControlsCollection> {
#[derive(HeapSizeOf, JSTraceable)]
struct ElementsFilter {
form: Root<HTMLFormElement>
form: DomRoot<HTMLFormElement>
}
impl CollectionFilter for ElementsFilter {
fn filter<'a>(&self, elem: &'a Element, _root: &'a Node) -> bool {
@ -216,8 +216,8 @@ impl HTMLFormElementMethods for HTMLFormElement {
}
}
}
Root::from_ref(self.elements.init_once(|| {
let filter = box ElementsFilter { form: Root::from_ref(self) };
DomRoot::from_ref(self.elements.init_once(|| {
let filter = box ElementsFilter { form: DomRoot::from_ref(self) };
let window = window_from_node(self);
HTMLFormControlsCollection::new(&window, self.upcast(), filter)
}))
@ -229,7 +229,7 @@ impl HTMLFormElementMethods for HTMLFormElement {
}
// https://html.spec.whatwg.org/multipage/#dom-form-item
fn IndexedGetter(&self, index: u32) -> Option<Root<Element>> {
fn IndexedGetter(&self, index: u32) -> Option<DomRoot<Element>> {
let elements = self.Elements();
elements.IndexedGetter(index)
}
@ -520,7 +520,7 @@ impl HTMLFormElement {
// Step 3.1: The field element has a datalist element ancestor.
if child.ancestors()
.any(|a| Root::downcast::<HTMLDataListElement>(a).is_some()) {
.any(|a| DomRoot::downcast::<HTMLDataListElement>(a).is_some()) {
continue;
}
if let NodeTypeId::Element(ElementTypeId::HTMLElement(element)) = child.type_id() {
@ -677,7 +677,7 @@ impl HTMLFormElement {
#[derive(Clone, HeapSizeOf, JSTraceable)]
pub enum FormDatumValue {
#[allow(dead_code)]
File(Root<File>),
File(DomRoot<File>),
String(DOMString)
}
@ -718,13 +718,13 @@ pub enum FormMethod {
#[derive(HeapSizeOf)]
#[allow(dead_code)]
pub enum FormSubmittableElement {
ButtonElement(Root<HTMLButtonElement>),
InputElement(Root<HTMLInputElement>),
ButtonElement(DomRoot<HTMLButtonElement>),
InputElement(DomRoot<HTMLInputElement>),
// TODO: HTMLKeygenElement unimplemented
// KeygenElement(&'a HTMLKeygenElement),
ObjectElement(Root<HTMLObjectElement>),
SelectElement(Root<HTMLSelectElement>),
TextAreaElement(Root<HTMLTextAreaElement>),
ObjectElement(DomRoot<HTMLObjectElement>),
SelectElement(DomRoot<HTMLSelectElement>),
TextAreaElement(DomRoot<HTMLTextAreaElement>),
}
impl FormSubmittableElement {
@ -740,19 +740,19 @@ impl FormSubmittableElement {
fn from_element(element: &Element) -> FormSubmittableElement {
if let Some(input) = element.downcast::<HTMLInputElement>() {
FormSubmittableElement::InputElement(Root::from_ref(&input))
FormSubmittableElement::InputElement(DomRoot::from_ref(&input))
}
else if let Some(input) = element.downcast::<HTMLButtonElement>() {
FormSubmittableElement::ButtonElement(Root::from_ref(&input))
FormSubmittableElement::ButtonElement(DomRoot::from_ref(&input))
}
else if let Some(input) = element.downcast::<HTMLObjectElement>() {
FormSubmittableElement::ObjectElement(Root::from_ref(&input))
FormSubmittableElement::ObjectElement(DomRoot::from_ref(&input))
}
else if let Some(input) = element.downcast::<HTMLSelectElement>() {
FormSubmittableElement::SelectElement(Root::from_ref(&input))
FormSubmittableElement::SelectElement(DomRoot::from_ref(&input))
}
else if let Some(input) = element.downcast::<HTMLTextAreaElement>() {
FormSubmittableElement::TextAreaElement(Root::from_ref(&input))
FormSubmittableElement::TextAreaElement(DomRoot::from_ref(&input))
} else {
unreachable!()
}
@ -862,7 +862,7 @@ impl<'a> FormSubmitter<'a> {
}
pub trait FormControl: DomObject {
fn form_owner(&self) -> Option<Root<HTMLFormElement>>;
fn form_owner(&self) -> Option<DomRoot<HTMLFormElement>>;
fn set_form_owner(&self, form: Option<&HTMLFormElement>);
@ -891,7 +891,7 @@ pub trait FormControl: DomObject {
let old_owner = self.form_owner();
let has_form_id = elem.has_attribute(&local_name!("form"));
let nearest_form_ancestor = node.ancestors()
.filter_map(Root::downcast::<HTMLFormElement>)
.filter_map(DomRoot::downcast::<HTMLFormElement>)
.next();
// Step 1
@ -905,7 +905,7 @@ pub trait FormControl: DomObject {
// Step 3
let doc = document_from_node(node);
let form_id = elem.get_string_attribute(&local_name!("form"));
doc.GetElementById(form_id).and_then(Root::downcast::<HTMLFormElement>)
doc.GetElementById(form_id).and_then(DomRoot::downcast::<HTMLFormElement>)
} else {
// Step 4
nearest_form_ancestor