#ifndef TagNodeList_h
#define TagNodeList_h
#include "DynamicNodeList.h"
#include <wtf/text/AtomicString.h>
namespace WebCore {
class TagNodeList : public DynamicSubtreeNodeList {
public:
static PassRefPtr<TagNodeList> create(PassRefPtr<Node> rootNode, const AtomicString& namespaceURI, const AtomicString& localName)
{
return adoptRef(new TagNodeList(rootNode, namespaceURI, localName));
}
virtual ~TagNodeList();
protected:
TagNodeList(PassRefPtr<Node> rootNode, const AtomicString& namespaceURI, const AtomicString& localName);
virtual bool nodeMatches(Element*) const;
AtomicString m_namespaceURI;
AtomicString m_localName;
};
class HTMLTagNodeList : public TagNodeList {
public:
static PassRefPtr<TagNodeList> create(PassRefPtr<Node> rootNode, const AtomicString& namespaceURI, const AtomicString& localName)
{
return adoptRef(new HTMLTagNodeList(rootNode, namespaceURI, localName));
}
private:
HTMLTagNodeList(PassRefPtr<Node> rootNode, const AtomicString& namespaceURI, const AtomicString& localName);
virtual bool nodeMatches(Element*) const;
AtomicString m_loweredLocalName;
};
}
#endif // TagNodeList_h