Ignore:
Timestamp:
Oct 14, 2013, 10:55:52 AM (12 years ago)
Author:
[email protected]
Message:

Pass Document directly to anonymous renderer constructors.
<https://webkit.org/b/122752>

Reviewed by Antti Koivisto.

Added separate constructors for creating anonymous renderers that
take a Document& instead of a null Element*/Text*.

Removed setDocumentForAnonymous() and all createAnonymous() helpers.
...and RenderObject::m_node is now a Node&, wohoo!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/rendering/RenderElement.cpp

    r157371 r157408  
    6666bool RenderElement::s_noLongerAffectsParentBlock = false;
    6767
    68 RenderElement::RenderElement(Element* element, unsigned baseTypeFlags)
     68RenderElement::RenderElement(Element& element, unsigned baseTypeFlags)
    6969    : RenderObject(element)
    7070    , m_baseTypeFlags(baseTypeFlags)
     
    7272    , m_firstChild(nullptr)
    7373    , m_lastChild(nullptr)
    74     , m_style(0)
     74{
     75}
     76
     77RenderElement::RenderElement(Document& document, unsigned baseTypeFlags)
     78    : RenderObject(document)
     79    , m_baseTypeFlags(baseTypeFlags)
     80    , m_ancestorLineBoxDirty(false)
     81    , m_firstChild(nullptr)
     82    , m_lastChild(nullptr)
    7583{
    7684}
     
    114122    const ContentData* contentData = style.contentData();
    115123    if (contentData && !contentData->next() && contentData->isImage() && !element.isPseudoElement()) {
    116         RenderImage* image = new (arena) RenderImage(&element);
     124        RenderImage* image = new (arena) RenderImage(element);
    117125        // RenderImageResourceStyleImage requires a style being present on the image but we don't want to
    118126        // trigger a style change now as the node is not fully attached. Moving this code to style change
     
    138146        return new (arena) RenderRubyText(element);
    139147    if (document.cssRegionsEnabled() && style.isDisplayRegionType() && !style.regionThread().isEmpty())
    140         return new (arena) RenderRegion(&element, 0);
     148        return new (arena) RenderRegion(element, nullptr);
    141149    switch (style.display()) {
    142150    case NONE:
    143151        return 0;
    144152    case INLINE:
    145         return new (arena) RenderInline(&element);
     153        return new (arena) RenderInline(element);
    146154    case BLOCK:
    147155    case INLINE_BLOCK:
     
    150158        if ((!style.hasAutoColumnCount() || !style.hasAutoColumnWidth()) && document.regionBasedColumnsEnabled())
    151159            return new (arena) RenderMultiColumnBlock(element);
    152         return new (arena) RenderBlockFlow(&element);
     160        return new (arena) RenderBlockFlow(element);
    153161    case LIST_ITEM:
    154162        return new (arena) RenderListItem(element);
    155163    case TABLE:
    156164    case INLINE_TABLE:
    157         return new (arena) RenderTable(&element);
     165        return new (arena) RenderTable(element);
    158166    case TABLE_ROW_GROUP:
    159167    case TABLE_HEADER_GROUP:
    160168    case TABLE_FOOTER_GROUP:
    161         return new (arena) RenderTableSection(&element);
     169        return new (arena) RenderTableSection(element);
    162170    case TABLE_ROW:
    163         return new (arena) RenderTableRow(&element);
     171        return new (arena) RenderTableRow(element);
    164172    case TABLE_COLUMN_GROUP:
    165173    case TABLE_COLUMN:
    166174        return new (arena) RenderTableCol(element);
    167175    case TABLE_CELL:
    168         return new (arena) RenderTableCell(&element);
     176        return new (arena) RenderTableCell(element);
    169177    case TABLE_CAPTION:
    170178        return new (arena) RenderTableCaption(element);
     
    174182    case FLEX:
    175183    case INLINE_FLEX:
    176         return new (arena) RenderFlexibleBox(&element);
     184        return new (arena) RenderFlexibleBox(element);
    177185    case GRID:
    178186    case INLINE_GRID:
Note: See TracChangeset for help on using the changeset viewer.