Changeset 156102 in webkit


Ignore:
Timestamp:
Sep 19, 2013, 10:52:38 AM (12 years ago)
Author:
Antti Koivisto
Message:

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().

Location:
trunk/Source/WebCore
Files:
2 added
26 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r156054 r156102  
    21322132    rendering/RenderDeprecatedFlexibleBox.cpp
    21332133    rendering/RenderDetailsMarker.cpp
     2134    rendering/RenderElement.cpp
    21342135    rendering/RenderEmbeddedObject.cpp
    21352136    rendering/RenderFieldset.cpp
  • trunk/Source/WebCore/ChangeLog

    r156099 r156102  
     12013-09-19  Antti Koivisto  <antti@apple.com>
     2
     3        Add RenderElement
     4        https://bugs.webkit.org/show_bug.cgi?id=121608
     5
     6        Reviewed by Dave Hyatt.
     7
     8        Add a common base class for all Element renderers. The class hierarchy will now look like this
     9       
     10        RenderObject
     11            RenderText
     12            RenderElement
     13                RenderLayerModelObject
     14                    ...
     15                RenderSVGModelObject
     16                    ...
     17                RenderSVGGradientStop
     18               
     19        This will allow tighter typing in both render and DOM trees.
     20       
     21        The patch also moves renderer factory function to RenderElement::createFor().
     22
    1232013-09-19  Alexey Proskuryakov  <ap@apple.com>
    224
  • trunk/Source/WebCore/GNUmakefile.list.am

    r156054 r156102  
    44274427        Source/WebCore/rendering/RenderDetailsMarker.cpp \
    44284428        Source/WebCore/rendering/RenderDetailsMarker.h \
     4429        Source/WebCore/rendering/RenderElement.cpp \
     4430        Source/WebCore/rendering/RenderElement.h \
    44294431        Source/WebCore/rendering/RenderEmbeddedObject.cpp \
    44304432        Source/WebCore/rendering/RenderEmbeddedObject.h \
  • trunk/Source/WebCore/Target.pri

    r156054 r156102  
    11611161    rendering/RenderDeprecatedFlexibleBox.cpp \
    11621162    rendering/RenderDetailsMarker.cpp \
     1163    rendering/RenderElement.cpp \
    11631164    rendering/RenderEmbeddedObject.cpp \
    11641165    rendering/RenderFieldset.cpp \
     
    24302431    rendering/RenderDeprecatedFlexibleBox.h \
    24312432    rendering/RenderDetailsMarker.h \
     2433    rendering/RenderElement.h \
    24322434    rendering/RenderEmbeddedObject.h \
    24332435    rendering/RenderFieldset.h \
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj

    r156054 r156102  
    98229822      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
    98239823      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
     9824    </ClCompile>
     9825    <ClCompile Include="..\rendering\RenderElement.cpp">
     9826        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
     9827        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
     9828        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
     9829        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
     9830        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
     9831        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
     9832        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
     9833        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     9834        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
     9835        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
     9836        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
     9837        <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
    98249838    </ClCompile>
    98259839    <ClCompile Include="..\rendering\RenderEmbeddedObject.cpp">
     
    1996319977    <ClInclude Include="..\rendering\RenderDeprecatedFlexibleBox.h" />
    1996419978    <ClInclude Include="..\rendering\RenderDetailsMarker.h" />
     19979    <ClInclude Include="..\rendering\RenderElement.h" />
    1996519980    <ClInclude Include="..\rendering\RenderEmbeddedObject.h" />
    1996619981    <ClInclude Include="..\rendering\RenderFieldset.h" />
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r156054 r156102  
    12601260                436708C712D9CA4B00044234 /* RenderSVGHiddenContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4367088812D9CA4A00044234 /* RenderSVGHiddenContainer.h */; };
    12611261                436708C912D9CA4B00044234 /* RenderSVGImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4367088A12D9CA4A00044234 /* RenderSVGImage.h */; };
    1262                 436708CB12D9CA4B00044234 /* RenderSVGModelObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 4367088C12D9CA4A00044234 /* RenderSVGModelObject.h */; };
     1262                436708CB12D9CA4B00044234 /* RenderSVGModelObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 4367088C12D9CA4A00044234 /* RenderSVGModelObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
    12631263                436708CD12D9CA4B00044234 /* RenderSVGResource.h in Headers */ = {isa = PBXBuildFile; fileRef = 4367088E12D9CA4A00044234 /* RenderSVGResource.h */; };
    12641264                436708CF12D9CA4B00044234 /* RenderSVGResourceClipper.h in Headers */ = {isa = PBXBuildFile; fileRef = 4367089012D9CA4A00044234 /* RenderSVGResourceClipper.h */; };
     
    56185618                E43105B816750F0C00DB2FB8 /* NodeTraversal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E43105B716750F0C00DB2FB8 /* NodeTraversal.cpp */; };
    56195619                E43105BB16750F1600DB2FB8 /* NodeTraversal.h in Headers */ = {isa = PBXBuildFile; fileRef = E43105BA16750F1600DB2FB8 /* NodeTraversal.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5620                E43A023B17EB370A004CDD25 /* RenderElement.h in Headers */ = {isa = PBXBuildFile; fileRef = E43A023A17EB370A004CDD25 /* RenderElement.h */; settings = {ATTRIBUTES = (Private, ); }; };
     5621                E43A023D17EB3713004CDD25 /* RenderElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E43A023C17EB3713004CDD25 /* RenderElement.cpp */; };
    56205622                E44613A10CD6331000FADA75 /* HTMLAudioElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E446138F0CD6331000FADA75 /* HTMLAudioElement.cpp */; };
    56215623                E44613A20CD6331000FADA75 /* HTMLAudioElement.h in Headers */ = {isa = PBXBuildFile; fileRef = E44613900CD6331000FADA75 /* HTMLAudioElement.h */; };
     
    1259412596                E43105B716750F0C00DB2FB8 /* NodeTraversal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NodeTraversal.cpp; sourceTree = "<group>"; };
    1259512597                E43105BA16750F1600DB2FB8 /* NodeTraversal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeTraversal.h; sourceTree = "<group>"; };
     12598                E43A023A17EB370A004CDD25 /* RenderElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderElement.h; sourceTree = "<group>"; };
     12599                E43A023C17EB3713004CDD25 /* RenderElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderElement.cpp; sourceTree = "<group>"; };
    1259612600                E446138F0CD6331000FADA75 /* HTMLAudioElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLAudioElement.cpp; sourceTree = "<group>"; };
    1259712601                E44613900CD6331000FADA75 /* HTMLAudioElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLAudioElement.h; sourceTree = "<group>"; };
     
    2052720531                                D302754512A5FE84004BD828 /* RenderDetailsMarker.cpp */,
    2052820532                                D302754612A5FE84004BD828 /* RenderDetailsMarker.h */,
     20533                                E43A023A17EB370A004CDD25 /* RenderElement.h */,
     20534                                E43A023C17EB3713004CDD25 /* RenderElement.cpp */,
    2052920535                                0F5B7A5210F65D7A00376302 /* RenderEmbeddedObject.cpp */,
    2053020536                                0F5B7A5310F65D7A00376302 /* RenderEmbeddedObject.h */,
     
    2428124287                                088A0E0C126EF1DB00978F7A /* SVGPropertyTraits.h in Headers */,
    2428224288                                B2227A9A0D00BF220071B782 /* SVGRadialGradientElement.h in Headers */,
     24289                                E43A023B17EB370A004CDD25 /* RenderElement.h in Headers */,
    2428324290                                08EDE19F12A50B8E00B95797 /* SVGRect.h in Headers */,
    2428424291                                B2227A9E0D00BF220071B782 /* SVGRectElement.h in Headers */,
     
    2553525542                                85C7F5D10AAFB8D9004014DD /* DOMOverflowEvent.mm in Sources */,
    2553625543                                E1284BD51044A01E00EAEB52 /* DOMPageTransitionEvent.mm in Sources */,
     25544                                E43A023D17EB3713004CDD25 /* RenderElement.cpp in Sources */,
    2553725545                                1ACE53E70A8D18E70022947D /* DOMParser.cpp in Sources */,
    2553825546                                7A54881814E432A1006AE05A /* DOMPatchSupport.cpp in Sources */,
  • trunk/Source/WebCore/dom/Element.cpp

    r155955 r156102  
    12651265RenderObject* Element::createRenderer(RenderArena&, RenderStyle& style)
    12661266{
    1267     return RenderObject::createObject(*this, style);
     1267    return RenderElement::createFor(*this, style);
    12681268}
    12691269
  • trunk/Source/WebCore/html/HTMLAppletElement.cpp

    r155908 r156102  
    7979{
    8080    if (!canEmbedJava())
    81         return RenderObject::createObject(*this, style);
     81        return RenderElement::createFor(*this, style);
    8282
    8383    return RenderEmbeddedObject::createForApplet(*this);
  • trunk/Source/WebCore/html/HTMLBRElement.cpp

    r156054 r156102  
    7575{
    7676    if (style.hasContent())
    77         return RenderObject::createObject(*this, style);
     77        return RenderElement::createFor(*this, style);
    7878
    7979    return new (arena) RenderLineBreak(*this);
  • trunk/Source/WebCore/html/HTMLElement.cpp

    r156054 r156102  
    793793    if (hasLocalName(wbrTag))
    794794        return new (arena) RenderLineBreak(*this);
    795     return RenderObject::createObject(*this, style);
     795    return RenderElement::createFor(*this, style);
    796796}
    797797
  • trunk/Source/WebCore/html/HTMLFrameSetElement.cpp

    r155908 r156102  
    160160{
    161161    if (style.hasContent())
    162         return RenderObject::createObject(*this, style);
     162        return RenderElement::createFor(*this, style);
    163163   
    164164    return new (arena) RenderFrameSet(*this);
  • trunk/Source/WebCore/html/HTMLImageElement.cpp

    r155908 r156102  
    167167{
    168168    if (style.hasContent())
    169         return RenderObject::createObject(*this, style);
     169        return RenderElement::createFor(*this, style);
    170170
    171171    RenderImage* image = new (arena) RenderImage(this);
  • trunk/Source/WebCore/html/HTMLMeterElement.cpp

    r156023 r156102  
    6060{
    6161    if (hasAuthorShadowRoot() || !document().page()->theme()->supportsMeter(style.appearance()))
    62         return RenderObject::createObject(*this, style);
     62        return RenderElement::createFor(*this, style);
    6363
    6464    return new (arena) RenderMeter(this);
  • trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp

    r155908 r156102  
    214214    // return a RenderEmbeddedObject or RenderWidget.
    215215    if (useFallbackContent())
    216         return RenderObject::createObject(*this, style);
     216        return RenderElement::createFor(*this, style);
    217217
    218218    if (isImageType()) {
  • trunk/Source/WebCore/html/HTMLProgressElement.cpp

    r156023 r156102  
    6262{
    6363    if (!style.hasAppearance() || hasAuthorShadowRoot())
    64         return RenderObject::createObject(*this, style);
     64        return RenderElement::createFor(*this, style);
    6565
    6666    return new (arena) RenderProgress(this);
  • trunk/Source/WebCore/html/InputType.cpp

    r156004 r156102  
    6262#include "RangeInputType.h"
    6363#include "RegularExpression.h"
    64 #include "RenderObject.h"
     64#include "RenderElement.h"
    6565#include "RenderTheme.h"
    6666#include "ResetInputType.h"
     
    471471RenderObject* InputType::createRenderer(RenderArena&, RenderStyle& style) const
    472472{
    473     return RenderObject::createObject(element(), style);
     473    return RenderElement::createFor(element(), style);
    474474}
    475475
  • trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp

    r155374 r156102  
    3939
    4040RenderLayerModelObject::RenderLayerModelObject(Element* element)
    41     : RenderObject(element)
     41    : RenderElement(element)
    4242    , m_layer(0)
    4343{
  • trunk/Source/WebCore/rendering/RenderLayerModelObject.h

    r156093 r156102  
    2424#define RenderLayerModelObject_h
    2525
    26 #include "RenderObject.h"
     26#include "RenderElement.h"
    2727
    2828namespace WebCore {
     
    3030class RenderLayer;
    3131
    32 class RenderLayerModelObject : public RenderObject {
     32class RenderLayerModelObject : public RenderElement {
    3333public:
    3434    explicit RenderLayerModelObject(Element*);
     
    5151    virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const { return false; }
    5252
    53     // This is null for anonymous renderers.
    54     Element* element() const { return toElement(RenderObject::node()); }
    55     Element* nonPseudoElement() const { return toElement(RenderObject::nonPseudoNode()); }
    56     Element* generatingElement() const { return toElement(RenderObject::generatingNode()); }
    57 
    5853protected:
    5954    void ensureLayer();
     
    6459private:
    6560    virtual bool isLayerModelObject() const OVERRIDE FINAL { return true; }
    66 
    67     void node() const WTF_DELETED_FUNCTION;
    68     void nonPseudoNode() const WTF_DELETED_FUNCTION;
    69     void generatingNode() const WTF_DELETED_FUNCTION;
    7061
    7162    RenderLayer* m_layer;
  • trunk/Source/WebCore/rendering/RenderObject.cpp

    r155944 r156102  
    44 *           (C) 2000 Dirk Mueller (mueller@kde.org)
    55 *           (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
    6  * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserved.
     6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011, 2013 Apple Inc. All rights reserved.
    77 * Copyright (C) 2009 Google Inc. All rights reserved.
    88 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
     
    3030#include "AXObjectCache.h"
    3131#include "AnimationController.h"
    32 #include "ContentData.h"
    3332#include "CursorList.h"
    3433#include "EventHandler.h"
     
    5049#include "RenderArena.h"
    5150#include "RenderCounter.h"
    52 #include "RenderDeprecatedFlexibleBox.h"
    53 #include "RenderFlexibleBox.h"
     51#include "RenderFlowThread.h"
    5452#include "RenderGeometryMap.h"
    55 #include "RenderGrid.h"
    56 #include "RenderImage.h"
    57 #include "RenderImageResourceStyleImage.h"
    5853#include "RenderInline.h"
    5954#include "RenderLayer.h"
    6055#include "RenderLayerBacking.h"
    61 #include "RenderListItem.h"
    62 #include "RenderMultiColumnBlock.h"
    6356#include "RenderNamedFlowThread.h"
    64 #include "RenderRegion.h"
    65 #include "RenderRuby.h"
    66 #include "RenderRubyText.h"
    6757#include "RenderScrollbarPart.h"
    68 #include "RenderTableCaption.h"
    69 #include "RenderTableCell.h"
     58#include "RenderTable.h"
    7059#include "RenderTableCol.h"
    71 #include "RenderTableRow.h"
    7260#include "RenderTheme.h"
    7361#include "RenderView.h"
     
    160148    // Stash size where destroy can find it.
    161149    *(size_t *)ptr = sz;
    162 }
    163 
    164 RenderObject* RenderObject::createObject(Element& element, RenderStyle& style)
    165 {
    166     Document& document = element.document();
    167     RenderArena& arena = *document.renderArena();
    168 
    169     // Minimal support for content properties replacing an entire element.
    170     // Works only if we have exactly one piece of content and it's a URL.
    171     // Otherwise acts as if we didn't support this feature.
    172     const ContentData* contentData = style.contentData();
    173     if (contentData && !contentData->next() && contentData->isImage() && !element.isPseudoElement()) {
    174         RenderImage* image = new (arena) RenderImage(&element);
    175         // RenderImageResourceStyleImage requires a style being present on the image but we don't want to
    176         // trigger a style change now as the node is not fully attached. Moving this code to style change
    177         // doesn't make sense as it should be run once at renderer creation.
    178         image->setStyleInternal(&style);
    179         if (const StyleImage* styleImage = static_cast<const ImageContentData*>(contentData)->image()) {
    180             image->setImageResource(RenderImageResourceStyleImage::create(const_cast<StyleImage*>(styleImage)));
    181             image->setIsGeneratedContent();
    182         } else
    183             image->setImageResource(RenderImageResource::create());
    184         image->setStyleInternal(0);
    185         return image;
    186     }
    187 
    188     if (element.hasTagName(rubyTag)) {
    189         if (style.display() == INLINE)
    190             return new (arena) RenderRubyAsInline(element);
    191         else if (style.display() == BLOCK)
    192             return new (arena) RenderRubyAsBlock(element);
    193     }
    194     // treat <rt> as ruby text ONLY if it still has its default treatment of block
    195     if (element.hasTagName(rtTag) && style.display() == BLOCK)
    196         return new (arena) RenderRubyText(element);
    197     if (document.cssRegionsEnabled() && style.isDisplayRegionType() && !style.regionThread().isEmpty())
    198         return new (arena) RenderRegion(&element, 0);
    199     switch (style.display()) {
    200     case NONE:
    201         return 0;
    202     case INLINE:
    203         return new (arena) RenderInline(&element);
    204     case BLOCK:
    205     case INLINE_BLOCK:
    206     case RUN_IN:
    207     case COMPACT:
    208         if ((!style.hasAutoColumnCount() || !style.hasAutoColumnWidth()) && document.regionBasedColumnsEnabled())
    209             return new (arena) RenderMultiColumnBlock(element);
    210         return new (arena) RenderBlockFlow(&element);
    211     case LIST_ITEM:
    212         return new (arena) RenderListItem(element);
    213     case TABLE:
    214     case INLINE_TABLE:
    215         return new (arena) RenderTable(&element);
    216     case TABLE_ROW_GROUP:
    217     case TABLE_HEADER_GROUP:
    218     case TABLE_FOOTER_GROUP:
    219         return new (arena) RenderTableSection(&element);
    220     case TABLE_ROW:
    221         return new (arena) RenderTableRow(&element);
    222     case TABLE_COLUMN_GROUP:
    223     case TABLE_COLUMN:
    224         return new (arena) RenderTableCol(element);
    225     case TABLE_CELL:
    226         return new (arena) RenderTableCell(&element);
    227     case TABLE_CAPTION:
    228         return new (arena) RenderTableCaption(element);
    229     case BOX:
    230     case INLINE_BOX:
    231         return new (arena) RenderDeprecatedFlexibleBox(element);
    232     case FLEX:
    233     case INLINE_FLEX:
    234         return new (arena) RenderFlexibleBox(&element);
    235     case GRID:
    236     case INLINE_GRID:
    237         return new (arena) RenderGrid(element);
    238     }
    239 
    240     return 0;
    241150}
    242151
  • trunk/Source/WebCore/rendering/RenderObject.h

    r156038 r156102  
    326326    void showRenderTreeAndMark(const RenderObject* markedObject1 = 0, const char* markedLabel1 = 0, const RenderObject* markedObject2 = 0, const char* markedLabel2 = 0, int depth = 0) const;
    327327#endif
    328 
    329     static RenderObject* createObject(Element&, RenderStyle&);
    330328
    331329    // Overloaded new operator.  Derived classes must override operator new
  • trunk/Source/WebCore/rendering/RenderingAllInOne.cpp

    r156054 r156102  
    5454#include "RenderDeprecatedFlexibleBox.cpp"
    5555#include "RenderDetailsMarker.cpp"
     56#include "RenderElement.cpp"
    5657#include "RenderEmbeddedObject.cpp"
    5758#include "RenderFieldset.cpp"
  • trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.cpp

    r152955 r156102  
    3535
    3636RenderSVGGradientStop::RenderSVGGradientStop(SVGStopElement* element)
    37     : RenderObject(element)
     37    : RenderElement(element)
    3838{
    3939}
     
    7272SVGGradientElement* RenderSVGGradientStop::gradientElement() const
    7373{
    74     ContainerNode* parentNode = node()->parentNode();
     74    ContainerNode* parentNode = element()->parentNode();
    7575    if (parentNode->hasTagName(linearGradientTag) || parentNode->hasTagName(radialGradientTag))
    7676        return toSVGGradientElement(parentNode);
  • trunk/Source/WebCore/rendering/svg/RenderSVGGradientStop.h

    r154644 r156102  
    2323
    2424#if ENABLE(SVG)
    25 #include "RenderObject.h"
     25#include "RenderElement.h"
    2626
    2727namespace WebCore {
     
    3131
    3232// This class exists mostly so we can hear about gradient stop style changes
    33 class RenderSVGGradientStop FINAL : public RenderObject {
     33class RenderSVGGradientStop FINAL : public RenderElement {
    3434public:
    3535    RenderSVGGradientStop(SVGStopElement*);
  • trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp

    r155755 r156102  
    4444
    4545RenderSVGModelObject::RenderSVGModelObject(SVGElement& element)
    46     : RenderObject(&element)
     46    : RenderElement(&element)
    4747    , m_hasSVGShadow(false)
    4848{
  • trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h

    r155755 r156102  
    3434#if ENABLE(SVG)
    3535
    36 #include "RenderObject.h"
     36#include "RenderElement.h"
    3737#include "SVGElement.h"
    3838#include "SVGRenderSupport.h"
     
    4747class SVGElement;
    4848
    49 class RenderSVGModelObject : public RenderObject {
     49class RenderSVGModelObject : public RenderElement {
    5050public:
    5151    virtual LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repaintContainer) const OVERRIDE;
     
    6868    void setHasSVGShadow(bool hasShadow) { m_hasSVGShadow = hasShadow; }
    6969
    70     SVGElement& element() const { return *toSVGElement(RenderObject::node()); }
     70    SVGElement& element() const { return *toSVGElement(RenderElement::element()); }
    7171
    7272protected:
     
    7676
    7777private:
    78     void node() const WTF_DELETED_FUNCTION;
    79 
    8078    // This method should never be called, SVG uses a different nodeAtPoint method
    8179    bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
  • trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp

    r156094 r156102  
    625625    writeStandardPrefix(ts, stop, indent);
    626626
    627     SVGStopElement* stopElement = toSVGStopElement(toSVGElement(stop.node()));
     627    SVGStopElement* stopElement = toSVGStopElement(toSVGElement(stop.element()));
    628628    ASSERT(stopElement);
    629629
Note: See TracChangeset for help on using the changeset viewer.