| Index: Source/core/dom/ElementRareData.h
|
| diff --git a/Source/core/dom/ElementRareData.h b/Source/core/dom/ElementRareData.h
|
| index f687588e85b4527cb2fb0605146e7385fdb41fb0..11ed9d9f9918dda92f6d72a6339bb5a5217bf302 100644
|
| --- a/Source/core/dom/ElementRareData.h
|
| +++ b/Source/core/dom/ElementRareData.h
|
| @@ -160,6 +160,7 @@ private:
|
| RefPtr<ComputedStyle> m_computedStyle;
|
| RefPtrWillBeMember<CustomElementDefinition> m_customElementDefinition;
|
|
|
| + RefPtrWillBeMember<PseudoElement> m_marker;
|
| RefPtrWillBeMember<PseudoElement> m_generatedBefore;
|
| RefPtrWillBeMember<PseudoElement> m_generatedAfter;
|
| RefPtrWillBeMember<PseudoElement> m_generatedFirstLetter;
|
| @@ -188,6 +189,7 @@ inline ElementRareData::~ElementRareData()
|
| #if !ENABLE(OILPAN)
|
| ASSERT(!m_shadow);
|
| #endif
|
| + ASSERT(!m_marker);
|
| ASSERT(!m_generatedBefore);
|
| ASSERT(!m_generatedAfter);
|
| ASSERT(!m_generatedFirstLetter);
|
| @@ -196,7 +198,7 @@ inline ElementRareData::~ElementRareData()
|
|
|
| inline bool ElementRareData::hasPseudoElements() const
|
| {
|
| - return m_generatedBefore || m_generatedAfter || m_backdrop || m_generatedFirstLetter;
|
| + return m_generatedBefore || m_generatedAfter || m_backdrop || m_generatedFirstLetter || m_marker;
|
| }
|
|
|
| inline void ElementRareData::clearPseudoElements()
|
| @@ -204,12 +206,18 @@ inline void ElementRareData::clearPseudoElements()
|
| setPseudoElement(BEFORE, nullptr);
|
| setPseudoElement(AFTER, nullptr);
|
| setPseudoElement(BACKDROP, nullptr);
|
| + setPseudoElement(MARKER, nullptr);
|
| setPseudoElement(FIRST_LETTER, nullptr);
|
| }
|
|
|
| inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtrWillBeRawPtr<PseudoElement> element)
|
| {
|
| switch (pseudoId) {
|
| + case MARKER:
|
| + if (m_marker)
|
| + m_marker->dispose();
|
| + m_marker = element;
|
| + break;
|
| case BEFORE:
|
| if (m_generatedBefore)
|
| m_generatedBefore->dispose();
|
| @@ -238,6 +246,8 @@ inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtrWillB
|
| inline PseudoElement* ElementRareData::pseudoElement(PseudoId pseudoId) const
|
| {
|
| switch (pseudoId) {
|
| + case MARKER:
|
| + return m_marker.get();
|
| case BEFORE:
|
| return m_generatedBefore.get();
|
| case AFTER:
|
|
|