mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
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:
parent
577370746e
commit
f87c2a8d76
291 changed files with 1774 additions and 1770 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue