{% from "macros.tmpl" import license %}
{{ license() }}

#ifndef {{namespace}}ElementFactory_h
#define {{namespace}}ElementFactory_h

#include "sky/engine/wtf/Forward.h"
#include "sky/engine/wtf/PassRefPtr.h"

namespace blink {

class Document;
class {{namespace}}Element;

class {{namespace}}ElementFactory {
public:
    static PassRefPtr<{{namespace}}Element> create{{namespace}}Element(
        const AtomicString& localName,
        Document&,
        bool createdByParser = true);
};

} // namespace blink

#endif
