mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Merge pull request #3053 from brunoabinader/use-is-element-helpers
Prefer *Derived helper functions (is_*element) than string comparison
This commit is contained in:
commit
1c0e51015f
2 changed files with 15 additions and 10 deletions
|
@ -11,6 +11,10 @@ use dom::bindings::codegen::InheritTypes::{DocumentDerived, EventCast, HTMLEleme
|
||||||
use dom::bindings::codegen::InheritTypes::{HTMLHeadElementCast, TextCast, ElementCast};
|
use dom::bindings::codegen::InheritTypes::{HTMLHeadElementCast, TextCast, ElementCast};
|
||||||
use dom::bindings::codegen::InheritTypes::{DocumentTypeCast, HTMLHtmlElementCast, NodeCast};
|
use dom::bindings::codegen::InheritTypes::{DocumentTypeCast, HTMLHtmlElementCast, NodeCast};
|
||||||
use dom::bindings::codegen::InheritTypes::EventTargetCast;
|
use dom::bindings::codegen::InheritTypes::EventTargetCast;
|
||||||
|
use dom::bindings::codegen::InheritTypes::{HTMLAnchorElementDerived, HTMLAppletElementDerived};
|
||||||
|
use dom::bindings::codegen::InheritTypes::{HTMLAreaElementDerived, HTMLEmbedElementDerived};
|
||||||
|
use dom::bindings::codegen::InheritTypes::{HTMLFormElementDerived, HTMLImageElementDerived};
|
||||||
|
use dom::bindings::codegen::InheritTypes::{HTMLScriptElementDerived};
|
||||||
use dom::bindings::error::{ErrorResult, Fallible, NotSupported, InvalidCharacter};
|
use dom::bindings::error::{ErrorResult, Fallible, NotSupported, InvalidCharacter};
|
||||||
use dom::bindings::error::{HierarchyRequest, NamespaceError};
|
use dom::bindings::error::{HierarchyRequest, NamespaceError};
|
||||||
use dom::bindings::global::{GlobalRef, Window};
|
use dom::bindings::global::{GlobalRef, Window};
|
||||||
|
@ -657,7 +661,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
||||||
struct ImagesFilter;
|
struct ImagesFilter;
|
||||||
impl CollectionFilter for ImagesFilter {
|
impl CollectionFilter for ImagesFilter {
|
||||||
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
||||||
"img" == elem.deref().local_name.as_slice()
|
elem.is_htmlimageelement()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let filter = box ImagesFilter;
|
let filter = box ImagesFilter;
|
||||||
|
@ -671,7 +675,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
||||||
struct EmbedsFilter;
|
struct EmbedsFilter;
|
||||||
impl CollectionFilter for EmbedsFilter {
|
impl CollectionFilter for EmbedsFilter {
|
||||||
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
||||||
"embed" == elem.deref().local_name.as_slice()
|
elem.is_htmlembedelement()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let filter = box EmbedsFilter;
|
let filter = box EmbedsFilter;
|
||||||
|
@ -690,8 +694,8 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
||||||
struct LinksFilter;
|
struct LinksFilter;
|
||||||
impl CollectionFilter for LinksFilter {
|
impl CollectionFilter for LinksFilter {
|
||||||
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
||||||
("a" == elem.deref().local_name.as_slice() || "area" == elem.deref().local_name.as_slice()) &&
|
(elem.is_htmlanchorelement() || elem.is_htmlareaelement()) &&
|
||||||
elem.get_attribute(Null, "href").is_some()
|
elem.get_attribute(Null, "href").is_some()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let filter = box LinksFilter;
|
let filter = box LinksFilter;
|
||||||
|
@ -705,7 +709,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
||||||
struct FormsFilter;
|
struct FormsFilter;
|
||||||
impl CollectionFilter for FormsFilter {
|
impl CollectionFilter for FormsFilter {
|
||||||
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
||||||
"form" == elem.deref().local_name.as_slice()
|
elem.is_htmlformelement()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let filter = box FormsFilter;
|
let filter = box FormsFilter;
|
||||||
|
@ -719,7 +723,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
||||||
struct ScriptsFilter;
|
struct ScriptsFilter;
|
||||||
impl CollectionFilter for ScriptsFilter {
|
impl CollectionFilter for ScriptsFilter {
|
||||||
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
||||||
"script" == elem.deref().local_name.as_slice()
|
elem.is_htmlscriptelement()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let filter = box ScriptsFilter;
|
let filter = box ScriptsFilter;
|
||||||
|
@ -733,7 +737,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
||||||
struct AnchorsFilter;
|
struct AnchorsFilter;
|
||||||
impl CollectionFilter for AnchorsFilter {
|
impl CollectionFilter for AnchorsFilter {
|
||||||
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
||||||
"a" == elem.deref().local_name.as_slice() && elem.get_attribute(Null, "name").is_some()
|
elem.is_htmlanchorelement() && elem.get_attribute(Null, "name").is_some()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let filter = box AnchorsFilter;
|
let filter = box AnchorsFilter;
|
||||||
|
@ -747,7 +751,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
|
||||||
struct AppletsFilter;
|
struct AppletsFilter;
|
||||||
impl CollectionFilter for AppletsFilter {
|
impl CollectionFilter for AppletsFilter {
|
||||||
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
||||||
"applet" == elem.deref().local_name.as_slice()
|
elem.is_htmlappletelement()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let filter = box AppletsFilter;
|
let filter = box AppletsFilter;
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
|
|
||||||
use dom::bindings::codegen::Bindings::HTMLDataListElementBinding;
|
use dom::bindings::codegen::Bindings::HTMLDataListElementBinding;
|
||||||
use dom::bindings::codegen::Bindings::HTMLDataListElementBinding::HTMLDataListElementMethods;
|
use dom::bindings::codegen::Bindings::HTMLDataListElementBinding::HTMLDataListElementMethods;
|
||||||
use dom::bindings::codegen::InheritTypes::{HTMLDataListElementDerived, NodeCast};
|
use dom::bindings::codegen::InheritTypes::{HTMLDataListElementDerived, HTMLOptionElementDerived};
|
||||||
|
use dom::bindings::codegen::InheritTypes::NodeCast;
|
||||||
use dom::bindings::js::{JSRef, Temporary};
|
use dom::bindings::js::{JSRef, Temporary};
|
||||||
use dom::bindings::utils::{Reflectable, Reflector};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::document::Document;
|
use dom::document::Document;
|
||||||
|
@ -44,7 +45,7 @@ impl<'a> HTMLDataListElementMethods for JSRef<'a, HTMLDataListElement> {
|
||||||
struct HTMLDataListOptionsFilter;
|
struct HTMLDataListOptionsFilter;
|
||||||
impl CollectionFilter for HTMLDataListOptionsFilter {
|
impl CollectionFilter for HTMLDataListOptionsFilter {
|
||||||
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
|
||||||
"option" == elem.deref().local_name.as_slice()
|
elem.is_htmloptionelement()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let node: &JSRef<Node> = NodeCast::from_ref(self);
|
let node: &JSRef<Node> = NodeCast::from_ref(self);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue