OSDN Git Service

Merge WebKit at r84325: Initial merge by git.
[android-x86/external-webkit.git] / Source / WebCore / html / HTMLInputElement.h
index eb30de0..2a98b13 100644 (file)
@@ -37,11 +37,13 @@ class KURL;
 
 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
@@ -196,9 +198,11 @@ public:
     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*);
 
@@ -216,11 +220,11 @@ private:
     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;
@@ -234,11 +238,12 @@ private:
     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);
 
@@ -257,6 +262,8 @@ private:
 
     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;
@@ -277,6 +284,7 @@ private:
 
     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(); }
@@ -311,6 +319,8 @@ private:
 #if ENABLE(DATALIST)
     bool m_hasNonEmptyList : 1;
 #endif
+    bool m_stateRestored : 1;
+    bool m_parsingInProgress : 1;
     OwnPtr<InputType> m_inputType;
 };