Index: Source/core/rendering/RenderTextFragment.h |
diff --git a/Source/core/rendering/RenderTextFragment.h b/Source/core/rendering/RenderTextFragment.h |
index e95f168530cbff28281b814c7c9773a1ecab9a52..55084b1d72cfbf9b5d3ce501cc10b9e360d12bca 100644 |
--- a/Source/core/rendering/RenderTextFragment.h |
+++ b/Source/core/rendering/RenderTextFragment.h |
@@ -27,8 +27,6 @@ |
namespace blink { |
-class FirstLetterPseudoElement; |
- |
// Used to represent a text substring of an element, e.g., for text runs that are split because of |
// first letter and that must therefore have different styles (and positions in the render tree). |
// We cache offsets so that text transformations can be applied in such a way that we can recover |
@@ -39,7 +37,6 @@ public: |
RenderTextFragment(Node*, StringImpl*); |
virtual ~RenderTextFragment(); |
virtual void trace(Visitor*) override; |
- virtual void destroy() override; |
virtual bool isTextFragment() const override { return true; } |
@@ -49,12 +46,11 @@ public: |
unsigned end() const { return m_end; } |
virtual unsigned textStartOffset() const override { return start(); } |
+ RenderBoxModelObject* firstLetter() const { return m_firstLetter; } |
+ void setFirstLetter(RenderBoxModelObject* firstLetter) { m_firstLetter = firstLetter; } |
+ RenderText* firstRenderTextInFirstLetter() const; |
+ |
StringImpl* contentString() const { return m_contentString.get(); } |
- // The complete text is all of the text in the associated DOM text node. |
- PassRefPtr<StringImpl> completeText() const; |
- // The fragment text is the text which will be used by this RenderTextFragment. For |
- // things like first-letter this may differ from the completeText as we maybe using |
- // only a portion of the text nodes content. |
virtual PassRefPtr<StringImpl> originalText() const override; |
virtual void setText(PassRefPtr<StringImpl>, bool force = false) override; |
@@ -63,23 +59,20 @@ public: |
virtual const char* renderName() const override final { return "RenderTextFragment"; } |
- void setFirstLetterPseudoElement(FirstLetterPseudoElement* element) { m_firstLetterPseudoElement = element; } |
- FirstLetterPseudoElement* firstLetterPseudoElement() const { return m_firstLetterPseudoElement; } |
- |
- void setIsRemainingTextRenderer() { m_isRemainingTextRenderer = true; } |
- bool isRemainingTextRenderer() const { return m_isRemainingTextRenderer; } |
+protected: |
+ virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override; |
private: |
- RenderBlock* blockForAccompanyingFirstLetter() const; |
- virtual UChar previousCharacter() const override; |
+ virtual void willBeDestroyed() override; |
- Text* associatedTextNode() const; |
+ virtual UChar previousCharacter() const override; |
+ RenderBlock* blockForAccompanyingFirstLetter() const; |
+ virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&) override; |
unsigned m_start; |
unsigned m_end; |
- bool m_isRemainingTextRenderer; |
RefPtr<StringImpl> m_contentString; |
- RawPtrWillBeMember<FirstLetterPseudoElement> m_firstLetterPseudoElement; |
+ RawPtrWillBeMember<RenderBoxModelObject> m_firstLetter; |
}; |
DEFINE_TYPE_CASTS(RenderTextFragment, RenderObject, object, toRenderText(object)->isTextFragment(), toRenderText(object).isTextFragment()); |