summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/core/html/HTMLInputElement.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/html/HTMLInputElement.h')
-rw-r--r--chromium/third_party/WebKit/Source/core/html/HTMLInputElement.h202
1 files changed, 96 insertions, 106 deletions
diff --git a/chromium/third_party/WebKit/Source/core/html/HTMLInputElement.h b/chromium/third_party/WebKit/Source/core/html/HTMLInputElement.h
index 4e61ec102c2..4bf5c86a1ec 100644
--- a/chromium/third_party/WebKit/Source/core/html/HTMLInputElement.h
+++ b/chromium/third_party/WebKit/Source/core/html/HTMLInputElement.h
@@ -31,39 +31,39 @@
namespace WebCore {
-class CheckedRadioButtons;
class DragData;
class ExceptionState;
class FileList;
class HTMLDataListElement;
class HTMLImageLoader;
class HTMLOptionElement;
-class Icon;
class InputType;
class InputTypeView;
class KURL;
class ListAttributeTargetObserver;
+class RadioButtonGroupScope;
struct DateTimeChooserParameters;
class HTMLInputElement : public HTMLTextFormControlElement {
public:
- static PassRefPtr<HTMLInputElement> create(Document&, HTMLFormElement*, bool createdByParser);
+ static PassRefPtrWillBeRawPtr<HTMLInputElement> create(Document&, HTMLFormElement*, bool createdByParser);
virtual ~HTMLInputElement();
+ virtual void trace(Visitor*) OVERRIDE;
DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitspeechchange);
- virtual bool shouldAutocomplete() const;
+ virtual bool shouldAutocomplete() const OVERRIDE FINAL;
// For ValidityState
- virtual bool hasBadInput() const OVERRIDE;
- virtual bool patternMismatch() const OVERRIDE;
- virtual bool rangeUnderflow() const OVERRIDE;
- virtual bool rangeOverflow() const;
- virtual bool stepMismatch() const OVERRIDE;
- virtual bool tooLong() const OVERRIDE;
- virtual bool typeMismatch() const OVERRIDE;
- virtual bool valueMissing() const OVERRIDE;
- virtual String validationMessage() const OVERRIDE;
+ virtual bool hasBadInput() const OVERRIDE FINAL;
+ virtual bool patternMismatch() const OVERRIDE FINAL;
+ virtual bool rangeUnderflow() const OVERRIDE FINAL;
+ virtual bool rangeOverflow() const OVERRIDE FINAL;
+ virtual bool stepMismatch() const OVERRIDE FINAL;
+ virtual bool tooLong() const OVERRIDE FINAL;
+ virtual bool typeMismatch() const OVERRIDE FINAL;
+ virtual bool valueMissing() const OVERRIDE FINAL;
+ virtual String validationMessage() const OVERRIDE FINAL;
// Returns the minimum value for type=date, number, or range. Don't call this for other types.
double minimum() const;
@@ -94,7 +94,6 @@ public:
bool isPasswordField() const;
bool isCheckbox() const;
bool isRangeControl() const;
- bool isColorControl() const;
// FIXME: It's highly likely that any call site calling this function should instead
// be using a different one. Many input elements behave like text fields, and in addition
@@ -106,7 +105,6 @@ public:
bool isFileUpload() const;
bool isImageButton() const;
bool isNumberField() const;
- bool isSubmitButton() const;
bool isTelephoneField() const;
bool isURLField() const;
bool isDateField() const;
@@ -115,12 +113,6 @@ public:
bool isTimeField() const;
bool isWeekField() const;
-#if ENABLE(INPUT_SPEECH)
- bool isSpeechEnabled() const;
-#endif
-
- HTMLElement* passwordGeneratorButtonElement() const;
-
bool checked() const { return m_isChecked; }
void setChecked(bool, TextFieldEventBehavior = DispatchNoEvent);
@@ -136,7 +128,7 @@ public:
void setType(const AtomicString&);
- String value() const;
+ virtual String value() const OVERRIDE;
void setValue(const String&, ExceptionState&, TextFieldEventBehavior = DispatchNoEvent);
void setValue(const String&, TextFieldEventBehavior = DispatchNoEvent);
void setValueForUser(const String&);
@@ -149,15 +141,12 @@ public:
String localizeValue(const String&) const;
- // The value which is drawn by a renderer.
- String visibleValue() const;
-
const String& suggestedValue() const;
void setSuggestedValue(const String&);
void setEditingValue(const String&);
- double valueAsDate() const;
+ double valueAsDate(bool& isNull) const;
void setValueAsDate(double, ExceptionState&);
double valueAsNumber() const;
@@ -176,15 +165,16 @@ public:
void setSelectionRangeForBinding(int start, int end, ExceptionState&);
void setSelectionRangeForBinding(int start, int end, const String& direction, ExceptionState&);
- virtual bool rendererIsNeeded(const RenderStyle&);
- virtual RenderObject* createRenderer(RenderStyle*);
- virtual void detach(const AttachContext& = AttachContext()) OVERRIDE;
+ virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE FINAL;
+ virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE;
+ virtual void detach(const AttachContext& = AttachContext()) OVERRIDE FINAL;
+ virtual void updateFocusAppearance(bool restorePreviousSelection) OVERRIDE FINAL;
// FIXME: For isActivatedSubmit and setActivatedSubmit, we should use the NVI-idiom here by making
// it private virtual in all classes and expose a public method in HTMLFormControlElement to call
// the private virtual method.
- virtual bool isActivatedSubmit() const;
- virtual void setActivatedSubmit(bool flag);
+ virtual bool isActivatedSubmit() const OVERRIDE FINAL;
+ virtual void setActivatedSubmit(bool flag) OVERRIDE FINAL;
String altText() const;
@@ -195,7 +185,6 @@ public:
Vector<String> acceptMIMETypes();
Vector<String> acceptFileExtensions();
- const AtomicString& accept() const;
const AtomicString& alt() const;
void setSize(unsigned);
@@ -203,20 +192,19 @@ public:
KURL src() const;
- virtual int maxLength() const;
+ int maxLength() const;
void setMaxLength(int, ExceptionState&);
bool multiple() const;
FileList* files();
- void setFiles(PassRefPtr<FileList>);
+ void setFiles(PassRefPtrWillBeRawPtr<FileList>);
// Returns true if the given DragData has more than one dropped files.
bool receiveDroppedFiles(const DragData*);
String droppedFileSystemId();
- Icon* icon() const;
// These functions are used for rendering the input active during a
// drag-and-drop operation.
bool canReceiveDroppedFiles() const;
@@ -239,6 +227,9 @@ public:
// Functions for InputType classes.
void setValueInternal(const String&, TextFieldEventBehavior);
bool valueAttributeWasUpdatedAfterParsing() const { return m_valueAttributeWasUpdatedAfterParsing; }
+ void updateView();
+ bool needsToUpdateViewValue() const { return m_needsToUpdateViewValue; }
+ virtual void setInnerEditorValue(const String&) OVERRIDE;
void cacheSelectionInResponseToSetValue(int caretOffset) { cacheSelection(caretOffset, caretOffset, SelectionHasNoDirection); }
@@ -247,10 +238,6 @@ public:
String defaultToolTip() const;
-#if ENABLE(MEDIA_CAPTURE)
- bool capture() const;
-#endif
-
static const int maximumLength;
unsigned height() const;
@@ -258,20 +245,20 @@ public:
void setHeight(unsigned);
void setWidth(unsigned);
- virtual void blur() OVERRIDE;
+ virtual void blur() OVERRIDE FINAL;
void defaultBlur();
- virtual const AtomicString& name() const OVERRIDE;
+ virtual const AtomicString& name() const OVERRIDE FINAL;
void beginEditing();
void endEditing();
static Vector<FileChooserFileInfo> filesFromFileInputFormControlState(const FormControlState&);
- virtual bool matchesReadOnlyPseudoClass() const OVERRIDE;
- virtual bool matchesReadWritePseudoClass() const OVERRIDE;
- virtual void setRangeText(const String& replacement, ExceptionState&) OVERRIDE;
- virtual void setRangeText(const String& replacement, unsigned start, unsigned end, const String& selectionMode, ExceptionState&) OVERRIDE;
+ virtual bool matchesReadOnlyPseudoClass() const OVERRIDE FINAL;
+ virtual bool matchesReadWritePseudoClass() const OVERRIDE FINAL;
+ virtual void setRangeText(const String& replacement, ExceptionState&) OVERRIDE FINAL;
+ virtual void setRangeText(const String& replacement, unsigned start, unsigned end, const String& selectionMode, ExceptionState&) OVERRIDE FINAL;
bool hasImageLoader() const { return m_imageLoader; }
HTMLImageLoader* imageLoader();
@@ -280,105 +267,109 @@ public:
bool supportsInputModeAttribute() const;
+ void setShouldRevealPassword(bool value);
+ bool shouldRevealPassword() const { return m_shouldRevealPassword; }
+
protected:
HTMLInputElement(Document&, HTMLFormElement*, bool createdByParser);
- virtual void defaultEventHandler(Event*);
+ virtual void defaultEventHandler(Event*) OVERRIDE;
private:
enum AutoCompleteSetting { Uninitialized, On, Off };
- virtual void didAddUserAgentShadowRoot(ShadowRoot&) OVERRIDE;
- virtual void didAddShadowRoot(ShadowRoot&) OVERRIDE;
+ virtual void didAddUserAgentShadowRoot(ShadowRoot&) OVERRIDE FINAL;
+ virtual void willAddFirstAuthorShadowRoot() OVERRIDE FINAL;
- virtual void willChangeForm() OVERRIDE;
- virtual void didChangeForm() OVERRIDE;
+ virtual void willChangeForm() OVERRIDE FINAL;
+ virtual void didChangeForm() OVERRIDE FINAL;
virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
- virtual void removedFrom(ContainerNode*) OVERRIDE;
- virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE;
+ virtual void removedFrom(ContainerNode*) OVERRIDE FINAL;
+ virtual void didMoveToNewDocument(Document& oldDocument) OVERRIDE FINAL;
+ virtual void removeAllEventListeners() OVERRIDE FINAL;
- virtual bool hasCustomFocusLogic() const OVERRIDE;
- virtual bool isKeyboardFocusable() const OVERRIDE;
- virtual bool shouldShowFocusRingOnMouseFocus() const OVERRIDE;
- virtual bool isEnumeratable() const;
- virtual bool isInteractiveContent() const OVERRIDE;
- virtual bool supportLabels() const OVERRIDE;
- virtual void updateFocusAppearance(bool restorePreviousSelection);
- virtual bool shouldUseInputMethod();
+ virtual bool hasCustomFocusLogic() const OVERRIDE FINAL;
+ virtual bool isKeyboardFocusable() const OVERRIDE FINAL;
+ virtual bool shouldShowFocusRingOnMouseFocus() const OVERRIDE FINAL;
+ virtual bool isEnumeratable() const OVERRIDE FINAL;
+ virtual bool isInteractiveContent() const OVERRIDE FINAL;
+ virtual bool supportLabels() const OVERRIDE FINAL;
+ virtual bool shouldUseInputMethod() OVERRIDE FINAL;
- virtual bool isTextFormControl() const { return isTextField(); }
+ virtual bool isTextFormControl() const OVERRIDE FINAL { return isTextField(); }
- virtual bool canTriggerImplicitSubmission() const { return isTextField(); }
+ virtual bool canTriggerImplicitSubmission() const OVERRIDE FINAL { return isTextField(); }
- virtual const AtomicString& formControlType() const;
+ virtual const AtomicString& formControlType() const OVERRIDE FINAL;
- virtual bool shouldSaveAndRestoreFormControlState() const OVERRIDE;
- virtual FormControlState saveFormControlState() const OVERRIDE;
- virtual void restoreFormControlState(const FormControlState&) OVERRIDE;
+ virtual bool shouldSaveAndRestoreFormControlState() const OVERRIDE FINAL;
+ virtual FormControlState saveFormControlState() const OVERRIDE FINAL;
+ virtual void restoreFormControlState(const FormControlState&) OVERRIDE FINAL;
- virtual bool canStartSelection() const;
+ virtual bool canStartSelection() const OVERRIDE FINAL;
- virtual void accessKeyAction(bool sendMouseEvents);
+ virtual void accessKeyAction(bool sendMouseEvents) OVERRIDE FINAL;
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE;
- virtual void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*) OVERRIDE;
- virtual void finishParsingChildren();
-
- virtual void copyNonAttributePropertiesFromElement(const Element&);
+ virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE FINAL;
+ virtual void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*) OVERRIDE FINAL;
+ virtual void finishParsingChildren() OVERRIDE FINAL;
- virtual void attach(const AttachContext& = AttachContext()) OVERRIDE;
+ virtual void copyNonAttributePropertiesFromElement(const Element&) OVERRIDE FINAL;
- virtual bool appendFormData(FormDataList&, bool) OVERRIDE;
- virtual String resultForDialogSubmit() OVERRIDE;
+ virtual void attach(const AttachContext& = AttachContext()) OVERRIDE FINAL;
- virtual bool canBeSuccessfulSubmitButton() const OVERRIDE;
+ virtual bool appendFormData(FormDataList&, bool) OVERRIDE FINAL;
+ virtual String resultForDialogSubmit() OVERRIDE FINAL;
- virtual void resetImpl() OVERRIDE;
+ virtual bool canBeSuccessfulSubmitButton() const OVERRIDE FINAL;
- virtual void* preDispatchEventHandler(Event*);
- virtual void postDispatchEventHandler(Event*, void* dataFromPreDispatch);
+ virtual void resetImpl() OVERRIDE FINAL;
+ virtual bool supportsAutofocus() const OVERRIDE FINAL;
- virtual bool isURLAttribute(const Attribute&) const OVERRIDE;
- virtual bool isInRange() const;
- virtual bool isOutOfRange() const;
+ virtual void* preDispatchEventHandler(Event*) OVERRIDE FINAL;
+ virtual void postDispatchEventHandler(Event*, void* dataFromPreDispatch) OVERRIDE FINAL;
- virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
+ virtual bool isURLAttribute(const Attribute&) const OVERRIDE FINAL;
+ virtual bool hasLegalLinkAttribute(const QualifiedName&) const OVERRIDE FINAL;
+ virtual const QualifiedName& subResourceAttributeName() const OVERRIDE FINAL;
+ virtual bool isInRange() const OVERRIDE FINAL;
+ virtual bool isOutOfRange() const OVERRIDE FINAL;
- bool supportsMaxLength() const { return isTextType(); }
bool isTextType() const;
bool tooLong(const String&, NeedsToCheckDirtyFlag) const;
- virtual bool supportsPlaceholder() const;
- virtual void updatePlaceholderText();
- virtual bool isEmptyValue() const OVERRIDE { return innerTextValue().isEmpty(); }
- virtual bool isEmptySuggestedValue() const { return suggestedValue().isEmpty(); }
- virtual void handleFocusEvent(Element* oldFocusedElement, FocusDirection) OVERRIDE;
- virtual void handleBlurEvent();
+ virtual bool supportsPlaceholder() const OVERRIDE FINAL;
+ virtual void updatePlaceholderText() OVERRIDE FINAL;
+ virtual bool isEmptyValue() const OVERRIDE FINAL { return innerEditorValue().isEmpty(); }
+ virtual bool isEmptySuggestedValue() const OVERRIDE FINAL { return suggestedValue().isEmpty(); }
+ virtual void handleFocusEvent(Element* oldFocusedElement, FocusType) OVERRIDE FINAL;
+ virtual void handleBlurEvent() OVERRIDE FINAL;
- virtual bool isOptionalFormControl() const { return !isRequiredFormControl(); }
- virtual bool isRequiredFormControl() const;
- virtual bool recalcWillValidate() const;
- virtual void requiredAttributeChanged() OVERRIDE;
+ virtual bool isOptionalFormControl() const OVERRIDE FINAL { return !isRequiredFormControl(); }
+ virtual bool isRequiredFormControl() const OVERRIDE FINAL;
+ virtual bool recalcWillValidate() const OVERRIDE FINAL;
+ virtual void requiredAttributeChanged() OVERRIDE FINAL;
void updateType();
- virtual void subtreeHasChanged();
+ virtual void subtreeHasChanged() OVERRIDE FINAL;
+ void setListAttributeTargetObserver(PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver>);
void resetListAttributeTargetObserver();
void parseMaxLengthAttribute(const AtomicString&);
void updateValueIfNeeded();
- bool canHaveSelection() const;
-
// Returns null if this isn't associated with any radio button group.
- CheckedRadioButtons* checkedRadioButtons() const;
+ RadioButtonGroupScope* radioButtonGroupScope() const;
void addToRadioButtonGroup();
void removeFromRadioButtonGroup();
#if ENABLE(INPUT_MULTIPLE_FIELDS_UI)
virtual PassRefPtr<RenderStyle> customStyleForRenderer() OVERRIDE;
#endif
+ virtual bool shouldDispatchFormControlChangeEvent(String&, String&) OVERRIDE;
+
AtomicString m_name;
String m_valueIfDirty;
String m_suggestedValue;
@@ -388,7 +379,6 @@ private:
bool m_isChecked : 1;
bool m_reflectsCheckedAttribute : 1;
bool m_isIndeterminate : 1;
- bool m_hasType : 1;
bool m_isActivatedSubmit : 1;
unsigned m_autocomplete : 2; // AutoCompleteSetting
bool m_hasNonEmptyList : 1;
@@ -397,16 +387,16 @@ private:
bool m_valueAttributeWasUpdatedAfterParsing : 1;
bool m_canReceiveDroppedFiles : 1;
bool m_hasTouchEventHandler : 1;
- RefPtr<InputType> m_inputType;
- RefPtr<InputTypeView> m_inputTypeView;
+ bool m_shouldRevealPassword : 1;
+ bool m_needsToUpdateViewValue : 1;
+ RefPtrWillBeMember<InputType> m_inputType;
+ RefPtrWillBeMember<InputTypeView> m_inputTypeView;
// The ImageLoader must be owned by this element because the loader code assumes
// that it lives as long as its owning element lives. If we move the loader into
// the ImageInput object we may delete the loader while this element lives on.
- OwnPtr<HTMLImageLoader> m_imageLoader;
- OwnPtr<ListAttributeTargetObserver> m_listAttributeTargetObserver;
+ OwnPtrWillBeMember<HTMLImageLoader> m_imageLoader;
+ OwnPtrWillBeMember<ListAttributeTargetObserver> m_listAttributeTargetObserver;
};
-DEFINE_NODE_TYPE_CASTS(HTMLInputElement, hasTagName(HTMLNames::inputTag));
-
} //namespace
#endif