From dab3f412b818a5f141b6a2301b7015fb4e751a25 Mon Sep 17 00:00:00 2001 From: iska Date: Sat, 7 Mar 2015 00:43:18 +0100 Subject: [PATCH] Add method to check whether an element is special --- HTMLKit/HTMLElementTypes.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/HTMLKit/HTMLElementTypes.h b/HTMLKit/HTMLElementTypes.h index afb3b1e..21cdfdc 100644 --- a/HTMLKit/HTMLElementTypes.h +++ b/HTMLKit/HTMLElementTypes.h @@ -24,3 +24,15 @@ NS_INLINE BOOL IsNodeHTMLIntegrationPoint(HTMLElement *node) } return NO; } + +NS_INLINE BOOL IsSpecialElement(HTMLElement *element) +{ + if (element.namespace == HTMLNamespaceHTML) { + return [element.tagName isEqualToAny:@"address", @"applet", @"area", @"article", @"aside", @"base", @"basefont", @"bgsound", @"blockquote", @"body", @"br", @"button", @"caption", @"center", @"col", @"colgroup", @"dd", @"details", @"dir", @"div", @"dl", @"dt", @"embed", @"fieldset", @"figcaption", @"figure", @"footer", @"form", @"frame", @"frameset", @"h1", @"h2", @"h3", @"h4", @"h5", @"h6", @"head", @"header", @"hgroup", @"hr", @"html", @"iframe", @"img", @"input", @"isindex", @"li", @"link", @"listing", @"main", @"marquee", @"menu", @"menuitem", @"meta", @"nav", @"noembed", @"noframes", @"noscript", @"object", @"ol", @"p", @"param", @"plaintext", @"pre", @"script", @"section", @"select", @"source", @"style", @"summary", @"table", @"tbody", @"td", @"template", @"textarea", @"tfoot", @"th", @"thead", @"title", @"tr", @"track", @"ul", @"wbr", @"xmp", nil]; + } else if (element.namespace == HTMLNamespaceMathML) { + return [element.tagName isEqualToAny:@"mi", @"mo", @"mn", @"ms", @"mtext", @"annotation-xml", nil]; + } else if (element.namespace == HTMLNamespaceSVG) { + return [element.tagName isEqualToAny:@"foreignObject", @"desc", @"title", nil]; + } + return NO; +} \ No newline at end of file