| Index: Source/core/dom/ElementRareData.h
|
| diff --git a/Source/core/dom/ElementRareData.h b/Source/core/dom/ElementRareData.h
|
| index 4061eb380325e2822bcd7980dc6daea120c05f26..3340bdd98fdd338250f57aa199ff91e5ad81fec9 100644
|
| --- a/Source/core/dom/ElementRareData.h
|
| +++ b/Source/core/dom/ElementRareData.h
|
| @@ -146,6 +146,7 @@ private:
|
| RefPtr<RenderStyle> m_computedStyle;
|
| RefPtrWillBeMember<CustomElementDefinition> m_customElementDefinition;
|
|
|
| + RefPtrWillBeMember<PseudoElement> m_marker;
|
| RefPtrWillBeMember<PseudoElement> m_generatedBefore;
|
| RefPtrWillBeMember<PseudoElement> m_generatedAfter;
|
| RefPtrWillBeMember<PseudoElement> m_generatedFirstLetter;
|
| @@ -172,6 +173,7 @@ inline ElementRareData::~ElementRareData()
|
| #if !ENABLE(OILPAN)
|
| ASSERT(!m_shadow);
|
| #endif
|
| + ASSERT(!m_marker);
|
| ASSERT(!m_generatedBefore);
|
| ASSERT(!m_generatedAfter);
|
| ASSERT(!m_generatedFirstLetter);
|
| @@ -180,7 +182,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()
|
| @@ -188,12 +190,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();
|
| @@ -222,6 +230,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:
|
|
|