Replace WTF::move with WTFMove
[WebKit-https.git] / Source / WebCore / dom / DocumentType.h
index 6541616..86f8f29 100644 (file)
@@ -30,16 +30,16 @@ namespace WebCore {
 
 class NamedNodeMap;
 
-class DocumentType : public Node {
+class DocumentType final : public Node {
 public:
-    static PassRefPtr<DocumentType> create(Document* document, const String& name, const String& publicId, const String& systemId)
+    static Ref<DocumentType> create(Document& document, const String& name, const String& publicId, const String& systemId)
     {
-        return adoptRef(new DocumentType(document, name, publicId, systemId));
+        return adoptRef(*new DocumentType(document, name, publicId, systemId));
     }
 
-    // FIXME: We never fill m_entities and m_notations. Current implementation of NamedNodeMap doesn't work without an associated Element yet.
-    NamedNodeMap* entities() const { return m_entities.get(); }
-    NamedNodeMap* notations() const { return m_notations.get(); }
+    // FIXME: We return null entities and notations. Current implementation of NamedNodeMap doesn't work without an associated Element yet.
+    NamedNodeMap* entities() const { return nullptr; }
+    NamedNodeMap* notations() const { return nullptr; }
 
     const String& name() const { return m_name; }
     const String& publicId() const { return m_publicId; }
@@ -47,18 +47,11 @@ public:
     const String& internalSubset() const { return m_subset; }
 
 private:
-    DocumentType(Document*, const String& name, const String& publicId, const String& systemId);
+    DocumentType(Document&, const String& name, const String& publicId, const String& systemId);
 
-    virtual KURL baseURI() const;
-    virtual String nodeName() const;
-    virtual NodeType nodeType() const;
-    virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
-
-    virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
-    virtual void removedFrom(ContainerNode*) OVERRIDE;
-
-    OwnPtr<NamedNodeMap> m_entities;
-    OwnPtr<NamedNodeMap> m_notations;
+    virtual String nodeName() const override;
+    virtual NodeType nodeType() const override;
+    virtual Ref<Node> cloneNodeInternal(Document&, CloningOperation) override;
 
     String m_name;
     String m_publicId;
@@ -68,4 +61,8 @@ private:
 
 } // namespace WebCore
 
+SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::DocumentType)
+    static bool isType(const WebCore::Node& node) { return node.nodeType() == WebCore::Node::DOCUMENT_TYPE_NODE; }
+SPECIALIZE_TYPE_TRAITS_END()
+
 #endif