Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1447)

Unified Diff: Source/core/rendering/RenderTextFragment.h

Issue 639863006: Revert of Convert first letter into a pseudo element. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/rendering/RenderTableCell.cpp ('k') | Source/core/rendering/RenderTextFragment.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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());
« no previous file with comments | « Source/core/rendering/RenderTableCell.cpp ('k') | Source/core/rendering/RenderTextFragment.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698