class HTMLInputElement : public HTMLTextFormControlElement, public InputElement {
public:
- static PassRefPtr<HTMLInputElement> create(const QualifiedName&, Document*, HTMLFormElement*);
+ static PassRefPtr<HTMLInputElement> create(const QualifiedName&, Document*, HTMLFormElement*, bool createdByParser);
virtual ~HTMLInputElement();
DEFINE_ATTRIBUTE_EVENT_LISTENER(webkitspeechchange);
+ virtual InputElement* toInputElement() { return this; }
+
bool autoComplete() const;
// For ValidityState
CheckedRadioButtons& checkedRadioButtons() const;
void handleBeforeTextInsertedEvent(Event*);
void updateCheckedRadioButtons();
+
+ bool lastChangeWasUserEdit() const;
protected:
- HTMLInputElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
+ HTMLInputElement(const QualifiedName&, Document*, HTMLFormElement*, bool createdByParser);
virtual void defaultEventHandler(Event*);
virtual bool isKeyboardFocusable(KeyboardEvent*) const;
virtual bool isMouseFocusable() const;
virtual bool isEnumeratable() const;
- virtual bool isResettable() const { return true; }
virtual void updateFocusAppearance(bool restorePreviousSelection);
virtual void aboutToUnload();
virtual bool shouldUseInputMethod() const;
virtual const AtomicString& formControlName() const;
-
+
// isChecked is used by the rendering tree/CSS while checked() is used by JS to determine checked state
virtual bool isChecked() const;
virtual bool isIndeterminate() const { return indeterminate(); }
-
+
virtual bool isTextFormControl() const { return isTextField(); }
virtual bool hasSpinButton() const;
virtual void restoreFormControlState(const String&);
virtual bool canStartSelection() const;
-
+
virtual void accessKeyAction(bool sendToAnyElement);
virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
virtual void parseMappedAttribute(Attribute*);
+ virtual void finishParsingChildren();
virtual void copyNonAttributeProperties(const Element* source);
virtual void cacheSelection(int start, int end);
+ virtual String visibleValue() const;
+ virtual String convertFromVisibleValue(const String&) const;
virtual bool isAcceptableValue(const String&) const;
virtual String sanitizeValue(const String&) const;
virtual bool hasUnacceptableValue() const;
virtual bool supportsPlaceholder() const;
virtual bool isEmptyValue() const { return value().isEmpty(); }
+ virtual bool isEmptySuggestedValue() const { return suggestedValue().isEmpty(); }
virtual void handleFocusEvent();
virtual void handleBlurEvent();
virtual int cachedSelectionStart() const { return m_data.cachedSelectionStart(); }
#if ENABLE(DATALIST)
bool m_hasNonEmptyList : 1;
#endif
+ bool m_stateRestored : 1;
+ bool m_parsingInProgress : 1;
OwnPtr<InputType> m_inputType;
};