diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/html/HTMLFormControlElement.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/html/HTMLFormControlElement.h | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/chromium/third_party/WebKit/Source/core/html/HTMLFormControlElement.h b/chromium/third_party/WebKit/Source/core/html/HTMLFormControlElement.h index bb5cdd8c8a2..eae67074b0b 100644 --- a/chromium/third_party/WebKit/Source/core/html/HTMLFormControlElement.h +++ b/chromium/third_party/WebKit/Source/core/html/HTMLFormControlElement.h @@ -40,8 +40,11 @@ class ValidityState; // and form-associated element implementations should use HTMLFormControlElement // unless there is a special reason. class HTMLFormControlElement : public LabelableElement, public FormAssociatedElement { + WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLFormControlElement); + public: virtual ~HTMLFormControlElement(); + virtual void trace(Visitor*) OVERRIDE; String formEnctype() const; void setFormEnctype(const AtomicString&); @@ -53,32 +56,30 @@ public: void reset(); - virtual bool formControlValueMatchesRenderer() const { return m_valueMatchesRenderer; } - virtual void setFormControlValueMatchesRenderer(bool b) { m_valueMatchesRenderer = b; } - - virtual bool wasChangedSinceLastFormControlChangeEvent() const; - virtual void setChangedSinceLastFormControlChangeEvent(bool); + bool wasChangedSinceLastFormControlChangeEvent() const { return m_wasChangedSinceLastFormControlChangeEvent; } + void setChangedSinceLastFormControlChangeEvent(bool); virtual void dispatchFormControlChangeEvent(); - virtual void dispatchFormControlInputEvent(); + void dispatchChangeEvent(); + void dispatchFormControlInputEvent(); - virtual HTMLFormElement* formOwner() const OVERRIDE; + virtual HTMLFormElement* formOwner() const OVERRIDE FINAL; virtual bool isDisabledFormControl() const OVERRIDE; - virtual bool isEnumeratable() const { return false; } + virtual bool isEnumeratable() const OVERRIDE { return false; } bool isRequired() const; const AtomicString& type() const { return formControlType(); } - virtual const AtomicString& formControlType() const OVERRIDE = 0; + virtual const AtomicString& formControlType() const = 0; virtual bool canTriggerImplicitSubmission() const { return false; } // Override in derived classes to get the encoded name=value pair for submitting. // Return true for a successful control (see HTML4-17.13.2). - virtual bool appendFormData(FormDataList&, bool) { return false; } + virtual bool appendFormData(FormDataList&, bool) OVERRIDE { return false; } virtual String resultForDialogSubmit(); virtual bool canBeSuccessfulSubmitButton() const { return false; } @@ -86,21 +87,17 @@ public: virtual bool isActivatedSubmit() const { return false; } virtual void setActivatedSubmit(bool) { } - enum CheckValidityDispatchEvents { CheckValidityDispatchEventsAllowed, CheckValidityDispatchEventsNone }; - - virtual bool willValidate() const; + virtual bool willValidate() const OVERRIDE; void updateVisibleValidationMessage(); void hideVisibleValidationMessage(); - bool checkValidity(Vector<RefPtr<FormAssociatedElement> >* unhandledInvalidControls = 0, CheckValidityDispatchEvents = CheckValidityDispatchEventsAllowed); + bool checkValidity(WillBeHeapVector<RefPtrWillBeMember<FormAssociatedElement> >* unhandledInvalidControls = 0); // This must be called when a validation constraint or control value is changed. void setNeedsValidityCheck(); - virtual void setCustomValidity(const String&) OVERRIDE; + virtual void setCustomValidity(const String&) OVERRIDE FINAL; bool isReadOnly() const { return m_isReadOnly; } bool isDisabledOrReadOnly() const { return isDisabledFormControl() || m_isReadOnly; } - bool hasAutofocused() const { return m_hasAutofocused; } - void setAutofocused() { m_hasAutofocused = true; } bool isAutofocusable() const; bool isAutofilled() const { return m_isAutofilled; } @@ -110,8 +107,12 @@ public: String nameForAutofill() const; + virtual void setFocus(bool flag) OVERRIDE; + +#if !ENABLE(OILPAN) using Node::ref; using Node::deref; +#endif protected: HTMLFormControlElement(const QualifiedName& tagName, Document&, HTMLFormElement*); @@ -127,30 +128,33 @@ protected: virtual bool supportsFocus() const OVERRIDE; virtual bool isKeyboardFocusable() const OVERRIDE; virtual bool shouldShowFocusRingOnMouseFocus() const; - virtual bool shouldHaveFocusAppearance() const OVERRIDE; - virtual void dispatchFocusEvent(Element* oldFocusedElement, FocusDirection) OVERRIDE; + virtual bool shouldHaveFocusAppearance() const OVERRIDE FINAL; + virtual void dispatchFocusEvent(Element* oldFocusedElement, FocusType) OVERRIDE; virtual void dispatchBlurEvent(Element* newFocusedElement) OVERRIDE; - virtual void willCallDefaultEventHandler(const Event&) OVERRIDE; + virtual void willCallDefaultEventHandler(const Event&) OVERRIDE FINAL; - virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE; + virtual void didRecalcStyle(StyleRecalcChange) OVERRIDE FINAL; // This must be called any time the result of willValidate() has changed. void setNeedsWillValidateCheck(); virtual bool recalcWillValidate() const; virtual void resetImpl() { } + virtual bool supportsAutofocus() const; private: - virtual void refFormAssociatedElement() { ref(); } - virtual void derefFormAssociatedElement() { deref(); } +#if !ENABLE(OILPAN) + virtual void refFormAssociatedElement() OVERRIDE FINAL { ref(); } + virtual void derefFormAssociatedElement() OVERRIDE FINAL { deref(); } +#endif - virtual bool isFormControlElement() const { return true; } + virtual bool isFormControlElement() const OVERRIDE FINAL { return true; } virtual bool alwaysCreateUserAgentShadowRoot() const OVERRIDE { return true; } - virtual short tabIndex() const; + virtual short tabIndex() const OVERRIDE FINAL; - virtual bool isDefaultButtonForForm() const; - virtual bool isValidFormControlElement(); + virtual bool isDefaultButtonForForm() const OVERRIDE FINAL; + virtual bool isValidFormControlElement() OVERRIDE FINAL; void updateAncestorDisabledState() const; OwnPtr<ValidationMessage> m_validationMessage; @@ -158,7 +162,6 @@ private: bool m_isAutofilled : 1; bool m_isReadOnly : 1; bool m_isRequired : 1; - bool m_valueMatchesRenderer : 1; enum AncestorDisabledState { AncestorDisabledStateUnknown, AncestorDisabledStateEnabled, AncestorDisabledStateDisabled }; mutable AncestorDisabledState m_ancestorDisabledState; @@ -177,15 +180,14 @@ private: bool m_wasChangedSinceLastFormControlChangeEvent : 1; bool m_wasFocusedByMouse : 1; - bool m_hasAutofocused : 1; }; -inline bool isHTMLFormControlElement(const Node& node) +inline bool isHTMLFormControlElement(const Element& element) { - return node.isElementNode() && toElement(node).isFormControlElement(); + return element.isFormControlElement(); } -DEFINE_NODE_TYPE_CASTS_WITH_FUNCTION(HTMLFormControlElement); +DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLFormControlElement); DEFINE_TYPE_CASTS(HTMLFormControlElement, FormAssociatedElement, control, control->isFormControlElement(), control.isFormControlElement()); } // namespace |