aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2015-11-17 16:52:17 +0100
committerMs2ger <Ms2ger@gmail.com>2015-11-18 11:14:05 +0100
commit0c61be7a577b99dc138eb6a2e46fb9276df0870d (patch)
tree8188a7ed8f86ce1fab95f7aa4ff5c43819e4520d /components/script/dom/element.rs
parentceb72e54e469bb3811fb641e7c38f476781a5720 (diff)
downloadservo-0c61be7a577b99dc138eb6a2e46fb9276df0870d.tar.gz
servo-0c61be7a577b99dc138eb6a2e46fb9276df0870d.zip
Rustfmt some of script.
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs234
1 files changed, 141 insertions, 93 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index c7e87a1535d..b62f8768da2 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -141,7 +141,7 @@ impl Element {
local_name: Atom::from_slice(&local_name),
namespace: namespace,
prefix: prefix,
- attrs: DOMRefCell::new(vec!()),
+ attrs: DOMRefCell::new(vec![]),
id_attribute: DOMRefCell::new(None),
style_attribute: DOMRefCell::new(None),
attr_list: Default::default(),
@@ -249,9 +249,8 @@ impl LayoutElementHelpers for LayoutJS<Element> {
#[allow(unsafe_code)]
#[inline]
unsafe fn get_classes_for_layout(&self) -> Option<&'static [Atom]> {
- get_attr_for_layout(&*self.unsafe_get(), &ns!(""), &atom!("class")).map(|attr| {
- attr.value_tokens_forever().unwrap()
- })
+ get_attr_for_layout(&*self.unsafe_get(), &ns!(""), &atom!("class"))
+ .map(|attr| attr.value_tokens_forever().unwrap())
}
#[allow(unsafe_code)]
@@ -259,8 +258,7 @@ impl LayoutElementHelpers for LayoutJS<Element> {
where V: VecLike<DeclarationBlock<Vec<PropertyDeclaration>>>
{
#[inline]
- fn from_declaration(rule: PropertyDeclaration)
- -> DeclarationBlock<Vec<PropertyDeclaration>> {
+ fn from_declaration(rule: PropertyDeclaration) -> DeclarationBlock<Vec<PropertyDeclaration>> {
DeclarationBlock::from_declarations(Arc::new(vec![rule]))
}
@@ -373,15 +371,14 @@ impl LayoutElementHelpers for LayoutJS<Element> {
s => Some(s as i32),
}
}
- _ => None
+ _ => None,
}
} else {
None
};
if let Some(size) = size {
- let value = specified::Length::ServoCharacterWidth(
- specified::CharacterWidth(size));
+ let value = specified::Length::ServoCharacterWidth(specified::CharacterWidth(size));
hints.push(from_declaration(
PropertyDeclaration::Width(DeclaredValue::Value(
specified::LengthOrPercentageOrAuto::Length(value)))));
@@ -521,7 +518,7 @@ impl LayoutElementHelpers for LayoutJS<Element> {
#[allow(unsafe_code)]
unsafe fn html_element_in_html_document_for_layout(&self) -> bool {
if (*self.unsafe_get()).namespace != ns!(HTML) {
- return false
+ return false;
}
self.upcast::<Node>().owner_doc_for_layout().is_html_document_for_layout()
}
@@ -692,9 +689,9 @@ impl Element {
}
let (important, normal) = if style_priority == StylePriority::Important {
- (vec!(property_decl), vec!())
+ (vec![property_decl], vec![])
} else {
- (vec!(), vec!(property_decl))
+ (vec![], vec![property_decl])
};
*inline_declarations = Some(PropertyDeclarationBlock {
@@ -703,7 +700,9 @@ impl Element {
});
}
- pub fn set_inline_style_property_priority(&self, properties: &[&str], style_priority: StylePriority) {
+ pub fn set_inline_style_property_priority(&self,
+ properties: &[&str],
+ style_priority: StylePriority) {
let mut inline_declarations = self.style_attribute().borrow_mut();
if let &mut Some(ref mut declarations) = &mut *inline_declarations {
let (from, to) = if style_priority == StylePriority::Important {
@@ -729,7 +728,9 @@ impl Element {
}
}
- pub fn get_inline_style_declaration(&self, property: &Atom) -> Option<Ref<PropertyDeclaration>> {
+ pub fn get_inline_style_declaration(&self,
+ property: &Atom)
+ -> Option<Ref<PropertyDeclaration>> {
Ref::filter_map(self.style_attribute.borrow(), |inline_declarations| {
inline_declarations.as_ref().and_then(|declarations| {
declarations.normal
@@ -740,7 +741,8 @@ impl Element {
})
}
- pub fn get_important_inline_style_declaration(&self, property: &Atom)
+ pub fn get_important_inline_style_declaration(&self,
+ property: &Atom)
-> Option<Ref<PropertyDeclaration>> {
Ref::filter_map(self.style_attribute.borrow(), |inline_declarations| {
inline_declarations.as_ref().and_then(|declarations| {
@@ -753,10 +755,11 @@ impl Element {
pub fn serialize(&self, traversal_scope: TraversalScope) -> Fallible<DOMString> {
let mut writer = vec![];
- match serialize(&mut writer, &self.upcast::<Node>(),
+ match serialize(&mut writer,
+ &self.upcast::<Node>(),
SerializeOpts {
traversal_scope: traversal_scope,
- .. Default::default()
+ ..Default::default()
}) {
// FIXME(ajeffrey): Directly convert UTF8 to DOMString
Ok(()) => Ok(DOMString::from(String::from_utf8(writer).unwrap())),
@@ -766,7 +769,10 @@ impl Element {
// https://html.spec.whatwg.org/multipage/#root-element
pub fn get_root_element(&self) -> Root<Element> {
- self.upcast::<Node>().inclusive_ancestors().filter_map(Root::downcast).last()
+ self.upcast::<Node>()
+ .inclusive_ancestors()
+ .filter_map(Root::downcast)
+ .last()
.expect("We know inclusive_ancestors will return `self` which is an element")
}
@@ -816,7 +822,7 @@ impl Element {
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTextAreaElement)) => {
true
}
- _ => false
+ _ => false,
}
}
@@ -834,7 +840,7 @@ impl Element {
// an optgroup element that has a disabled attribute
// a menuitem element that has a disabled attribute
// a fieldset element that is a disabled fieldset
- _ => false
+ _ => false,
}
}
}
@@ -850,7 +856,13 @@ impl Element {
self.will_mutate_attr();
let window = window_from_node(self);
let in_empty_ns = namespace == ns!("");
- let attr = Attr::new(&window, local_name, value, name, namespace, prefix, Some(self));
+ let attr = Attr::new(&window,
+ local_name,
+ value,
+ name,
+ namespace,
+ prefix,
+ Some(self));
self.attrs.borrow_mut().push(JS::from_rooted(&attr));
if in_empty_ns {
vtable_for(self.upcast()).attribute_mutated(&attr, AttributeMutation::Set(None));
@@ -858,9 +870,11 @@ impl Element {
}
pub fn get_attribute(&self, namespace: &Namespace, local_name: &Atom) -> Option<Root<Attr>> {
- self.attrs.borrow().iter().find(|attr| {
- attr.local_name() == local_name && attr.namespace() == namespace
- }).map(|js| Root::from_ref(&**js))
+ self.attrs
+ .borrow()
+ .iter()
+ .find(|attr| attr.local_name() == local_name && attr.namespace() == namespace)
+ .map(|js| Root::from_ref(&**js))
}
// https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name
@@ -874,8 +888,10 @@ impl Element {
value: DOMString,
prefix: Option<Atom>) {
// Don't set if the attribute already exists, so we can handle add_attrs_if_missing
- if self.attrs.borrow().iter()
- .any(|a| *a.local_name() == qname.local && *a.namespace() == qname.ns) {
+ if self.attrs
+ .borrow()
+ .iter()
+ .any(|a| *a.local_name() == qname.local && *a.namespace() == qname.ns) {
return;
}
@@ -894,9 +910,12 @@ impl Element {
assert!(&**name == name.to_ascii_lowercase());
assert!(!name.contains(":"));
- self.set_first_matching_attribute(
- name.clone(), value, name.clone(), ns!(""), None,
- |attr| attr.local_name() == name);
+ self.set_first_matching_attribute(name.clone(),
+ value,
+ name.clone(),
+ ns!(""),
+ None,
+ |attr| attr.local_name() == name);
}
// https://html.spec.whatwg.org/multipage/#attr-data-*
@@ -910,9 +929,14 @@ impl Element {
// Steps 2-5.
let name = Atom::from_slice(&name);
let value = self.parse_attribute(&ns!(""), &name, value);
- self.set_first_matching_attribute(
- name.clone(), value, name.clone(), ns!(""), None,
- |attr| *attr.name() == name && *attr.namespace() == ns!(""));
+ self.set_first_matching_attribute(name.clone(),
+ value,
+ name.clone(),
+ ns!(""),
+ None,
+ |attr| {
+ *attr.name() == name && *attr.namespace() == ns!("")
+ });
Ok(())
}
@@ -923,10 +947,13 @@ impl Element {
namespace: Namespace,
prefix: Option<Atom>,
find: F)
- where F: Fn(&Attr)
- -> bool {
- let attr = self.attrs.borrow().iter()
- .find(|attr| find(&attr)).map(|js| Root::from_ref(&**js));
+ where F: Fn(&Attr) -> bool
+ {
+ let attr = self.attrs
+ .borrow()
+ .iter()
+ .find(|attr| find(&attr))
+ .map(|js| Root::from_ref(&**js));
if let Some(attr) = attr {
attr.set_value(value, self);
} else {
@@ -934,8 +961,11 @@ impl Element {
};
}
- pub fn parse_attribute(&self, namespace: &Namespace, local_name: &Atom,
- value: DOMString) -> AttrValue {
+ pub fn parse_attribute(&self,
+ namespace: &Namespace,
+ local_name: &Atom,
+ value: DOMString)
+ -> AttrValue {
if *namespace == ns!("") {
vtable_for(self.upcast()).parse_plain_attribute(local_name, value)
} else {
@@ -943,8 +973,7 @@ impl Element {
}
}
- pub fn remove_attribute(&self, namespace: &Namespace, local_name: &Atom)
- -> Option<Root<Attr>> {
+ pub fn remove_attribute(&self, namespace: &Namespace, local_name: &Atom) -> Option<Root<Attr>> {
self.remove_first_matching_attribute(|attr| {
attr.namespace() == namespace && attr.local_name() == local_name
})
@@ -973,13 +1002,15 @@ impl Element {
pub fn has_class(&self, name: &Atom) -> bool {
let quirks_mode = document_from_node(self).quirks_mode();
- let is_equal = |lhs: &Atom, rhs: &Atom| match quirks_mode {
- NoQuirks | LimitedQuirks => lhs == rhs,
- Quirks => lhs.eq_ignore_ascii_case(&rhs)
+ let is_equal = |lhs: &Atom, rhs: &Atom| {
+ match quirks_mode {
+ NoQuirks | LimitedQuirks => lhs == rhs,
+ Quirks => lhs.eq_ignore_ascii_case(&rhs),
+ }
};
- self.get_attribute(&ns!(""), &atom!("class")).map(|attr| {
- attr.value().as_tokens().iter().any(|atom| is_equal(name, atom))
- }).unwrap_or(false)
+ self.get_attribute(&ns!(""), &atom!("class"))
+ .map(|attr| attr.value().as_tokens().iter().any(|atom| is_equal(name, atom)))
+ .unwrap_or(false)
}
pub fn set_atomic_attribute(&self, local_name: &Atom, value: DOMString) {
@@ -990,13 +1021,16 @@ impl Element {
pub fn has_attribute(&self, local_name: &Atom) -> bool {
assert!(local_name.bytes().all(|b| b.to_ascii_lowercase() == b));
- self.attrs.borrow().iter().any(|attr| {
- attr.local_name() == local_name && attr.namespace() == &ns!("")
- })
+ self.attrs
+ .borrow()
+ .iter()
+ .any(|attr| attr.local_name() == local_name && attr.namespace() == &ns!(""))
}
pub fn set_bool_attribute(&self, local_name: &Atom, value: bool) {
- if self.has_attribute(local_name) == value { return; }
+ if self.has_attribute(local_name) == value {
+ return;
+ }
if value {
self.set_string_attribute(local_name, DOMString::new());
} else {
@@ -1016,7 +1050,7 @@ impl Element {
// XXXManishearth this doesn't handle `javascript:` urls properly
match UrlParser::new().base_url(&base).parse(&url) {
Ok(parsed) => DOMString::from(parsed.serialize()),
- Err(_) => DOMString::from("")
+ Err(_) => DOMString::from(""),
}
}
pub fn set_url_attribute(&self, local_name: &Atom, value: DOMString) {
@@ -1026,7 +1060,7 @@ impl Element {
pub fn get_string_attribute(&self, local_name: &Atom) -> DOMString {
match self.get_attribute(&ns!(""), local_name) {
Some(x) => x.Value(),
- None => DOMString::new()
+ None => DOMString::new(),
}
}
pub fn set_string_attribute(&self, local_name: &Atom, value: DOMString) {
@@ -1054,16 +1088,13 @@ impl Element {
}
pub fn get_uint_attribute(&self, local_name: &Atom, default: u32) -> u32 {
- assert!(local_name.chars().all(|ch| {
- !ch.is_ascii() || ch.to_ascii_lowercase() == ch
- }));
+ assert!(local_name.chars().all(|ch| !ch.is_ascii() || ch.to_ascii_lowercase() == ch));
let attribute = self.get_attribute(&ns!(""), local_name);
match attribute {
Some(ref attribute) => {
match *attribute.value() {
AttrValue::UInt(_, value) => value,
- _ => panic!("Expected an AttrValue::UInt: \
- implement parse_plain_attribute"),
+ _ => panic!("Expected an AttrValue::UInt: implement parse_plain_attribute"),
}
}
None => default,
@@ -1072,7 +1103,8 @@ impl Element {
pub fn set_uint_attribute(&self, local_name: &Atom, value: u32) {
assert!(&**local_name == local_name.to_ascii_lowercase());
// FIXME(ajeffrey): Directly convert u32 to DOMString
- self.set_attribute(local_name, AttrValue::UInt(DOMString::from(value.to_string()), value));
+ self.set_attribute(local_name,
+ AttrValue::UInt(DOMString::from(value.to_string()), value));
}
pub fn will_mutate_attr(&self) {
@@ -1146,15 +1178,16 @@ impl ElementMethods for Element {
// https://dom.spec.whatwg.org/#dom-element-getattribute
fn GetAttribute(&self, name: DOMString) -> Option<DOMString> {
self.GetAttributeNode(name)
- .map(|s| s.Value())
+ .map(|s| s.Value())
}
// https://dom.spec.whatwg.org/#dom-element-getattributens
fn GetAttributeNS(&self,
namespace: Option<DOMString>,
- local_name: DOMString) -> Option<DOMString> {
+ local_name: DOMString)
+ -> Option<DOMString> {
self.GetAttributeNodeNS(namespace, local_name)
- .map(|attr| attr.Value())
+ .map(|attr| attr.Value())
}
// https://dom.spec.whatwg.org/#dom-element-getattributenode
@@ -1164,16 +1197,15 @@ impl ElementMethods for Element {
// https://dom.spec.whatwg.org/#dom-element-getattributenodens
fn GetAttributeNodeNS(&self,
- namespace: Option<DOMString>,
- local_name: DOMString) -> Option<Root<Attr>> {
+ namespace: Option<DOMString>,
+ local_name: DOMString)
+ -> Option<Root<Attr>> {
let namespace = &namespace_from_domstring(namespace);
self.get_attribute(namespace, &Atom::from_slice(&local_name))
}
// https://dom.spec.whatwg.org/#dom-element-setattribute
- fn SetAttribute(&self,
- name: DOMString,
- value: DOMString) -> ErrorResult {
+ fn SetAttribute(&self, name: DOMString, value: DOMString) -> ErrorResult {
// Step 1.
if xml_name_type(&name) == InvalidXMLName {
return Err(Error::InvalidCharacter);
@@ -1212,9 +1244,7 @@ impl ElementMethods for Element {
}
// https://dom.spec.whatwg.org/#dom-element-removeattributens
- fn RemoveAttributeNS(&self,
- namespace: Option<DOMString>,
- local_name: DOMString) {
+ fn RemoveAttributeNS(&self, namespace: Option<DOMString>, local_name: DOMString) {
let namespace = namespace_from_domstring(namespace);
let local_name = Atom::from_slice(&local_name);
self.remove_attribute(&namespace, &local_name);
@@ -1226,9 +1256,7 @@ impl ElementMethods for Element {
}
// https://dom.spec.whatwg.org/#dom-element-hasattributens
- fn HasAttributeNS(&self,
- namespace: Option<DOMString>,
- local_name: DOMString) -> bool {
+ fn HasAttributeNS(&self, namespace: Option<DOMString>, local_name: DOMString) -> bool {
self.GetAttributeNS(namespace, local_name).is_some()
}
@@ -1239,8 +1267,10 @@ impl ElementMethods for Element {
}
// https://dom.spec.whatwg.org/#dom-element-getelementsbytagnamens
- fn GetElementsByTagNameNS(&self, maybe_ns: Option<DOMString>,
- localname: DOMString) -> Root<HTMLCollection> {
+ fn GetElementsByTagNameNS(&self,
+ maybe_ns: Option<DOMString>,
+ localname: DOMString)
+ -> Root<HTMLCollection> {
let window = window_from_node(self);
HTMLCollection::by_tag_name_ns(window.r(), self.upcast(), localname, maybe_ns)
}
@@ -1298,7 +1328,7 @@ impl ElementMethods for Element {
/// https://w3c.github.io/DOM-Parsing/#widl-Element-innerHTML
fn GetInnerHTML(&self) -> Fallible<DOMString> {
- //XXX TODO: XML case
+ // XXX TODO: XML case
self.serialize(ChildrenOnly)
}
@@ -1548,7 +1578,9 @@ impl VirtualMethods for Element {
s.bind_to_tree(tree_in_doc);
}
- if !tree_in_doc { return; }
+ if !tree_in_doc {
+ return;
+ }
if let Some(ref value) = *self.id_attribute.borrow() {
let doc = document_from_node(self);
@@ -1561,7 +1593,9 @@ impl VirtualMethods for Element {
s.unbind_from_tree(tree_in_doc);
}
- if !tree_in_doc { return; }
+ if !tree_in_doc {
+ return;
+ }
if let Some(ref value) = *self.id_attribute.borrow() {
let doc = document_from_node(self);
@@ -1729,9 +1763,9 @@ impl Element {
};
element.and_then(|elem| {
if elem.is_instance_activatable() {
- Some(elem)
+ Some(elem)
} else {
- None
+ None
}
})
}
@@ -1753,7 +1787,7 @@ impl Element {
for node in node.ancestors() {
if let Some(node) = node.downcast::<Element>() {
if node.as_maybe_activatable().is_some() {
- return Some(Root::from_ref(node))
+ return Some(Root::from_ref(node));
}
}
}
@@ -1795,10 +1829,14 @@ impl Element {
}
}
// Step 6
- None => { event.fire(target); }
+ None => {
+ event.fire(target);
+ }
},
// Step 6
- None => { event.fire(target); }
+ None => {
+ event.fire(target);
+ }
}
// Step 7
self.set_click_in_progress(false);
@@ -1811,7 +1849,7 @@ impl Element {
pub fn set_state(&self, which: ElementState, value: bool) {
let mut state = self.state.get();
if state.contains(which) == value {
- return
+ return;
}
let node = self.upcast::<Node>();
node.owner_doc().element_state_will_change(self);
@@ -1866,25 +1904,32 @@ impl Element {
impl Element {
pub fn check_ancestors_disabled_state_for_form_control(&self) {
let node = self.upcast::<Node>();
- if self.get_disabled_state() { return; }
+ if self.get_disabled_state() {
+ return;
+ }
for ancestor in node.ancestors() {
let ancestor = ancestor;
let ancestor = ancestor.r();
- if !ancestor.is::<HTMLFieldSetElement>() { continue; }
- if !ancestor.downcast::<Element>().unwrap().get_disabled_state() { continue; }
+ if !ancestor.is::<HTMLFieldSetElement>() {
+ continue;
+ }
+ if !ancestor.downcast::<Element>().unwrap().get_disabled_state() {
+ continue;
+ }
if ancestor.is_parent_of(node) {
self.set_disabled_state(true);
self.set_enabled_state(false);
return;
}
match ancestor.children()
- .find(|child| child.is::<HTMLLegendElement>())
- {
+ .find(|child| child.is::<HTMLLegendElement>()) {
Some(ref legend) => {
// XXXabinader: should we save previous ancestor to avoid this iteration?
- if node.ancestors().any(|ancestor| ancestor == *legend) { continue; }
+ if node.ancestors().any(|ancestor| ancestor == *legend) {
+ continue;
+ }
},
- None => ()
+ None => (),
}
self.set_disabled_state(true);
self.set_enabled_state(false);
@@ -1893,10 +1938,13 @@ impl Element {
}
pub fn check_parent_disabled_state_for_option(&self) {
- if self.get_disabled_state() { return; }
+ if self.get_disabled_state() {
+ return;
+ }
let node = self.upcast::<Node>();
if let Some(ref parent) = node.GetParentNode() {
- if parent.is::<HTMLOptGroupElement>() && parent.downcast::<Element>().unwrap().get_disabled_state() {
+ if parent.is::<HTMLOptGroupElement>() &&
+ parent.downcast::<Element>().unwrap().get_disabled_state() {
self.set_disabled_state(true);
self.set_enabled_state(false);
}
@@ -1918,7 +1966,7 @@ pub enum AttributeMutation<'a> {
/// The attribute is removed.
/// https://dom.spec.whatwg.org/#attribute-is-removed
- Removed
+ Removed,
}
impl<'a> AttributeMutation<'a> {