Reviewed by Adam Roben.
authorzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Jan 2009 21:02:58 +0000 (21:02 +0000)
committerzimmermann@webkit.org <zimmermann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Jan 2009 21:02:58 +0000 (21:02 +0000)
commit7bc54ab505de833cb89865b27bc928fef7cefe19
treea9b85ed96cacd2d04c9f847a9a6e84e8dbef569b
parentc161392c3e11ed2d9cf8e0c07c2d3a50ce52659d
Reviewed by Adam Roben.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=23433

Add InputElement abstraction, similar to the FormControlElement refactorization
done a month ago. The goal is to share as much code as possible between HTML/WMLInputElement.
In a previous patch the RenderTextControl class has been split-up in RenderTextControlSingle/MultiLine,
RenderTextControl itself only depends on FormControlElement, RenderTextControlSingleLine still
depends on HTMLInputElement directly -> change that and make it use the new InputElement abstraction.

A lot of code from HTMLInputElement now lives in InputElement, as static member functions - the
InputElement class itself is an abstract virtual class, just like ScriptElement. HTML/WMLInputElement
derive from InputElement, and hold a InputElementData member variable, that they pass to the
static functions in InputElement. The abstraction is equal to the one chosen for HTML/SVGScriptElement.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@40065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
WebCore/ChangeLog
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/dom/FormControlElement.cpp [new file with mode: 0644]
WebCore/dom/FormControlElement.h
WebCore/dom/InputElement.cpp [new file with mode: 0644]
WebCore/dom/InputElement.h [new file with mode: 0644]
WebCore/html/HTMLInputElement.cpp
WebCore/html/HTMLInputElement.h
WebCore/html/HTMLIsIndexElement.cpp
WebCore/rendering/RenderTextControl.cpp
WebCore/rendering/RenderTextControlSingleLine.cpp
WebCore/rendering/RenderTextControlSingleLine.h