Update HTML*Element class override methods in final classes
[WebKit-https.git] / Source / WebCore / html / HTMLObjectElement.h
index 5b7e720..1136d20 100644 (file)
@@ -30,86 +30,79 @@ namespace WebCore {
 
 class HTMLFormElement;
 
-class HTMLObjectElement : public HTMLPlugInImageElement, public FormAssociatedElement {
+class HTMLObjectElement final : public HTMLPlugInImageElement, public FormAssociatedElement {
 public:
-    static PassRefPtr<HTMLObjectElement> create(const QualifiedName&, Document*, HTMLFormElement*, bool createdByParser);
+    static Ref<HTMLObjectElement> create(const QualifiedName&, Document&, HTMLFormElement*, bool createdByParser);
     virtual ~HTMLObjectElement();
 
     bool isDocNamedItem() const { return m_docNamedItem; }
-
-    const String& classId() const { return m_classId; }
-
     bool containsJavaApplet() const;
 
-    virtual bool useFallbackContent() const { return m_useFallbackContent; }
+    bool hasFallbackContent() const;
+    bool useFallbackContent() const final { return m_useFallbackContent; }
     void renderFallbackContent();
 
-    // Implementations of FormAssociatedElement
-    HTMLFormElement* form() const { return FormAssociatedElement::form(); }
-
-    virtual bool isFormControlElement() const { return false; }
-
-    virtual bool isEnumeratable() const { return true; }
-    virtual bool appendFormData(FormDataList&, bool);
+    bool willValidate() const final { return false; }
 
-    // Implementations of constraint validation API.
+    // Implementation of constraint validation API.
     // Note that the object elements are always barred from constraint validation.
-    virtual String validationMessage() const OVERRIDE { return String(); }
-    bool checkValidity() { return true; }
-    virtual void setCustomValidity(const String&) OVERRIDE { }
+    static bool checkValidity() { return true; }
+    void setCustomValidity(const String&) final { }
+    String validationMessage() const final { return String(); }
 
-    using Node::ref;
-    using Node::deref;
+    using HTMLPlugInImageElement::ref;
+    using HTMLPlugInImageElement::deref;
 
-    virtual bool canContainRangeEndPoint() const { return useFallbackContent(); }
+    using FormAssociatedElement::form;
 
 private:
-    HTMLObjectElement(const QualifiedName&, Document*, HTMLFormElement*, bool createdByParser);
+    HTMLObjectElement(const QualifiedName&, Document&, HTMLFormElement*, bool createdByParser);
 
-    virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
-    virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE;
-    virtual void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*) OVERRIDE;
+    void parseAttribute(const QualifiedName&, const AtomicString&) final;
+    bool isPresentationAttribute(const QualifiedName&) const final;
+    void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStyleProperties&) final;
 
-    virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
-    virtual void removedFrom(ContainerNode*) OVERRIDE;
+    InsertionNotificationRequest insertedInto(ContainerNode&) final;
+    void finishedInsertingSubtree() final;
+    void removedFrom(ContainerNode&) final;
 
-    virtual bool rendererIsNeeded(const NodeRenderingContext&);
-    virtual void didMoveToNewDocument(Document* oldDocument) OVERRIDE;
+    void didMoveToNewDocument(Document* oldDocument) final;
 
-    virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
+    void childrenChanged(const ChildChange&) final;
 
-    virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
-    virtual const QualifiedName& imageSourceAttributeName() const;
+    bool isURLAttribute(const Attribute&) const final;
+    const AtomicString& imageSourceURL() const final;
 
-    virtual RenderWidget* renderWidgetForJSBindings() const;
+    RenderWidget* renderWidgetLoadingPlugin() const final;
 
-    virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
+    void addSubresourceAttributeURLs(ListHashSet<URL>&) const final;
 
-    virtual void updateWidget(PluginCreationOption);
+    void updateWidget(PluginCreationOption) final;
     void updateDocNamedItem();
 
-    bool hasFallbackContent() const;
-    
     // FIXME: This function should not deal with url or serviceType
     // so that we can better share code between <object> and <embed>.
     void parametersForPlugin(Vector<String>& paramNames, Vector<String>& paramValues, String& url, String& serviceType);
     
     bool shouldAllowQuickTimeClassIdQuirk();
     bool hasValidClassId();
+    void clearUseFallbackContent() { m_useFallbackContent = false; }
 
-    virtual void refFormAssociatedElement() { ref(); }
-    virtual void derefFormAssociatedElement() { deref(); }
-    virtual HTMLFormElement* virtualForm() const;
+    void refFormAssociatedElement() final { ref(); }
+    void derefFormAssociatedElement() final { deref(); }
+    HTMLFormElement* virtualForm() const final;
 
-#if ENABLE(MICRODATA)
-    virtual String itemValueText() const OVERRIDE;
-    virtual void setItemValueText(const String&, ExceptionCode&) OVERRIDE;
-#endif
+    FormNamedItem* asFormNamedItem() final { return this; }
+    HTMLObjectElement& asHTMLElement() final { return *this; }
+    const HTMLObjectElement& asHTMLElement() const final { return *this; }
+
+    bool isFormControlElement() const final { return false; }
+
+    bool isEnumeratable() const final { return true; }
+    bool appendFormData(FormDataList&, bool) final;
 
-    virtual bool shouldRegisterAsNamedItem() const OVERRIDE { return isDocNamedItem(); }
-    virtual bool shouldRegisterAsExtraNamedItem() const OVERRIDE { return isDocNamedItem(); }
+    bool canContainRangeEndPoint() const final;
 
-    String m_classId;
     bool m_docNamedItem : 1;
     bool m_useFallbackContent : 1;
 };