| Index: Source/core/dom/ElementRareData.h
|
| diff --git a/Source/core/dom/ElementRareData.h b/Source/core/dom/ElementRareData.h
|
| index f1d57ba51a1c909c77d51c452cced0e530c1c792..7bba0b61b6ea7e6fbaf9426d22206243c1eae5e5 100644
|
| --- a/Source/core/dom/ElementRareData.h
|
| +++ b/Source/core/dom/ElementRareData.h
|
| @@ -148,6 +148,7 @@ private:
|
|
|
| RefPtrWillBeMember<PseudoElement> m_generatedBefore;
|
| RefPtrWillBeMember<PseudoElement> m_generatedAfter;
|
| + RefPtrWillBeMember<PseudoElement> m_generatedFirstLetter;
|
| RefPtrWillBeMember<PseudoElement> m_backdrop;
|
|
|
| explicit ElementRareData(RenderObject*);
|
| @@ -173,12 +174,13 @@ inline ElementRareData::~ElementRareData()
|
| #endif
|
| ASSERT(!m_generatedBefore);
|
| ASSERT(!m_generatedAfter);
|
| + ASSERT(!m_generatedFirstLetter);
|
| ASSERT(!m_backdrop);
|
| }
|
|
|
| inline bool ElementRareData::hasPseudoElements() const
|
| {
|
| - return m_generatedBefore || m_generatedAfter || m_backdrop;
|
| + return m_generatedBefore || m_generatedAfter || m_backdrop || m_generatedFirstLetter;
|
| }
|
|
|
| inline void ElementRareData::clearPseudoElements()
|
| @@ -186,6 +188,7 @@ inline void ElementRareData::clearPseudoElements()
|
| setPseudoElement(BEFORE, nullptr);
|
| setPseudoElement(AFTER, nullptr);
|
| setPseudoElement(BACKDROP, nullptr);
|
| + setPseudoElement(FIRST_LETTER, nullptr);
|
| }
|
|
|
| inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtrWillBeRawPtr<PseudoElement> element)
|
| @@ -206,6 +209,11 @@ inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtrWillB
|
| m_backdrop->dispose();
|
| m_backdrop = element;
|
| break;
|
| + case FIRST_LETTER:
|
| + if (m_generatedFirstLetter)
|
| + m_generatedFirstLetter->dispose();
|
| + m_generatedFirstLetter = element;
|
| + break;
|
| default:
|
| ASSERT_NOT_REACHED();
|
| }
|
| @@ -220,6 +228,8 @@ inline PseudoElement* ElementRareData::pseudoElement(PseudoId pseudoId) const
|
| return m_generatedAfter.get();
|
| case BACKDROP:
|
| return m_backdrop.get();
|
| + case FIRST_LETTER:
|
| + return m_generatedFirstLetter.get();
|
| default:
|
| return 0;
|
| }
|
|
|