Add RenderElement
authorantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Sep 2013 17:52:38 +0000 (17:52 +0000)
committerantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Sep 2013 17:52:38 +0000 (17:52 +0000)
commit63e2ade028edf99e988327540ac3797845eb34e5
tree8f52b54bd66f63bcc77912187546f9789b151e5b
parent74cd3bbd25f4bcb90d7638a224c41632b2957558
Add RenderElement
https://bugs.webkit.org/show_bug.cgi?id=121608

Reviewed by Dave Hyatt.

Add a common base class for all Element renderers. The class hierarchy will now look like this

RenderObject
    RenderText
    RenderElement
        RenderLayerModelObject
            ...
        RenderSVGModelObject
            ...
        RenderSVGGradientStop

This will allow tighter typing in both render and DOM trees.

The patch also moves renderer factory function to RenderElement::createFor().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
28 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Target.pri
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/dom/Element.cpp
Source/WebCore/html/HTMLAppletElement.cpp
Source/WebCore/html/HTMLBRElement.cpp
Source/WebCore/html/HTMLElement.cpp
Source/WebCore/html/HTMLFrameSetElement.cpp
Source/WebCore/html/HTMLImageElement.cpp
Source/WebCore/html/HTMLMeterElement.cpp
Source/WebCore/html/HTMLPlugInImageElement.cpp
Source/WebCore/html/HTMLProgressElement.cpp
Source/WebCore/html/InputType.cpp
Source/WebCore/rendering/RenderElement.cpp [new file with mode: 0644]
Source/WebCore/rendering/RenderElement.h [new file with mode: 0644]
Source/WebCore/rendering/RenderLayerModelObject.cpp
Source/WebCore/rendering/RenderLayerModelObject.h
Source/WebCore/rendering/RenderObject.cpp
Source/WebCore/rendering/RenderObject.h
Source/WebCore/rendering/RenderingAllInOne.cpp
Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp
Source/WebCore/rendering/svg/RenderSVGGradientStop.h
Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
Source/WebCore/rendering/svg/RenderSVGModelObject.h
Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp