Auto merge of #8459 - frewsxcv:namednodemap-iter, r=Ms2ger

Simplify iterating over Element attributes

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8459)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-11-11 20:19:49 +05:30
commit 5e6efd62c1

View file

@ -17,7 +17,6 @@ use dom::bindings::codegen::Bindings::ElementBinding::ElementMethods;
use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods;
use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods; use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementMethods;
use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods; use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods;
use dom::bindings::codegen::Bindings::NamedNodeMapBinding::NamedNodeMapMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::UnionTypes::NodeOrString; use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::error::{Error, ErrorResult, Fallible}; use dom::bindings::error::{Error, ErrorResult, Fallible};
@ -627,13 +626,9 @@ impl Element {
} }
pub fn summarize(&self) -> Vec<AttrInfo> { pub fn summarize(&self) -> Vec<AttrInfo> {
let attrs = self.Attributes(); self.attrs.borrow().iter()
let mut summarized = vec!(); .map(|attr| attr.summarize())
for i in 0..attrs.Length() { .collect()
let attr = attrs.Item(i).unwrap();
summarized.push(attr.summarize());
}
summarized
} }
pub fn is_void(&self) -> bool { pub fn is_void(&self) -> bool {
@ -786,9 +781,7 @@ impl Element {
} }
// Step 2. // Step 2.
let attrs = element.Attributes(); for attr in element.attrs.borrow().iter() {
for i in 0..attrs.Length() {
let attr = attrs.Item(i).unwrap();
if *attr.prefix() == Some(atom!("xmlns")) && if *attr.prefix() == Some(atom!("xmlns")) &&
**attr.value() == *namespace.0 { **attr.value() == *namespace.0 {
return Some(attr.LocalName()); return Some(attr.LocalName());