Reviewed by Eric Seidel.

Add a base class for WML form control elements: WMLFormControlElement (as it's designed in HTML as well).
WMLFormControlElement inherits from WMLElement and FormControlElement (just like the HTMLFormControlElement equivalent).

WMLInputElement / WMLOptionElement / WMLOptGroupElement are supposed to inherit from the new WMLFormControlElement class.
Now WMLInputElement & WMLOptGroupElement only inherit from WMLElement and FormControlElement, but WMLOptionElement inherits
from WMLEventHandlingElement (which in turn inherits from WMLElement) and FormControlElement. In order to introduce a shared
base class, WMLEventHandlingElement is no longer allowed to inherit from WMLElement directly. Instead it should turn into
another base class, just like FormControlElement.

Add a base class for form control elements 'with state': FormControlElementWithState, serving as base class for
HTMLFormControlElementWithState and WMLFormControlElementWithState. -> Make Document operate on FormControlElementWithState
objects instead of HTMLFormControlElementWithState objects, to support save/restore control state for non HTMLFormControlElements.

Rename isGenericFormElement() to isFormControlElement(), and move it to Element.h
Add new virtual function isFormControlElementWithState() to Element.h.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index b2bb796..408a0a4 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -582,6 +582,7 @@
     dom/EventTargetNode.cpp \
     dom/ExceptionBase.cpp \
     dom/ExceptionCode.cpp \
+    dom/FormControlElementWithState.cpp \
     dom/FormControlElement.cpp \
     dom/InputElement.cpp \
     dom/KeyboardEvent.cpp \
@@ -1417,6 +1418,7 @@
         wml/WMLElement.cpp \
         wml/WMLErrorHandling.cpp \
         wml/WMLEventHandlingElement.cpp \
+        wml/WMLFormControlElement.cpp \
         wml/WMLFieldSetElement.cpp \
         wml/WMLGoElement.cpp \
         wml/WMLImageElement.cpp \