コード例 #1
0
ファイル: ElementData.cpp プロジェクト: domenic/mojo
void ElementData::destroy()
{
    if (m_isUnique)
        delete toUniqueElementData(this);
    else
        delete toShareableElementData(this);
}
コード例 #2
0
ファイル: ElementData.cpp プロジェクト: 335969568/Blink-1
void ElementData::finalizeGarbageCollectedObject()
{
    if (m_isUnique)
        toUniqueElementData(this)->~UniqueElementData();
    else
        toShareableElementData(this)->~ShareableElementData();
}
コード例 #3
0
ファイル: ElementData.cpp プロジェクト: 335969568/Blink-1
void ElementData::trace(Visitor* visitor)
{
    if (m_isUnique)
        toUniqueElementData(this)->traceAfterDispatch(visitor);
    else
        toShareableElementData(this)->traceAfterDispatch(visitor);
}
コード例 #4
0
ファイル: Element.cpp プロジェクト: ksimbili/sky_engine
void Element::createUniqueElementData()
{
    if (!m_elementData)
        m_elementData = UniqueElementData::create();
    else {
        ASSERT(!m_elementData->isUnique());
        m_elementData = toShareableElementData(m_elementData)->makeUniqueCopy();
    }
}
コード例 #5
0
ファイル: ElementData.cpp プロジェクト: domenic/mojo
PassRefPtr<UniqueElementData> ElementData::makeUniqueCopy() const
{
    if (isUnique())
        return adoptRef(new UniqueElementData(toUniqueElementData(*this)));
    return adoptRef(new UniqueElementData(toShareableElementData(*this)));
}