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

Side by Side Diff: Source/core/layout/LayoutTextFragment.h

Issue 1231363003: Fix virtual/override/final usage in Source/core/layout/. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * (C) 1999 Lars Knoll (knoll@kde.org) 2 * (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Dirk Mueller (mueller@kde.org) 3 * (C) 2000 Dirk Mueller (mueller@kde.org)
4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 19 matching lines...) Expand all
30 class FirstLetterPseudoElement; 30 class FirstLetterPseudoElement;
31 31
32 // Used to represent a text substring of an element, e.g., for text runs that ar e split because of 32 // Used to represent a text substring of an element, e.g., for text runs that ar e split because of
33 // first letter and that must therefore have different styles (and positions in the layout tree). 33 // first letter and that must therefore have different styles (and positions in the layout tree).
34 // We cache offsets so that text transformations can be applied in such a way th at we can recover 34 // We cache offsets so that text transformations can be applied in such a way th at we can recover
35 // the original unaltered string from our corresponding DOM node. 35 // the original unaltered string from our corresponding DOM node.
36 class LayoutTextFragment final : public LayoutText { 36 class LayoutTextFragment final : public LayoutText {
37 public: 37 public:
38 LayoutTextFragment(Node*, StringImpl*, int startOffset, int length); 38 LayoutTextFragment(Node*, StringImpl*, int startOffset, int length);
39 LayoutTextFragment(Node*, StringImpl*); 39 LayoutTextFragment(Node*, StringImpl*);
40 virtual ~LayoutTextFragment(); 40 ~LayoutTextFragment() override;
41 41
42 virtual bool isTextFragment() const override { return true; } 42 bool isTextFragment() const override { return true; }
43 43
44 virtual bool canBeSelectionLeaf() const override { return node() && node()-> hasEditableStyle(); } 44 bool canBeSelectionLeaf() const override { return node() && node()->hasEdita bleStyle(); }
45 45
46 unsigned start() const { return m_start; } 46 unsigned start() const { return m_start; }
47 unsigned end() const { return m_end; } 47 unsigned end() const { return m_end; }
48 48
49 virtual unsigned textStartOffset() const override { return start(); } 49 unsigned textStartOffset() const override { return start(); }
50 50
51 void setContentString(StringImpl*); 51 void setContentString(StringImpl*);
52 StringImpl* contentString() const { return m_contentString.get(); } 52 StringImpl* contentString() const { return m_contentString.get(); }
53 // The complete text is all of the text in the associated DOM text node. 53 // The complete text is all of the text in the associated DOM text node.
54 PassRefPtr<StringImpl> completeText() const; 54 PassRefPtr<StringImpl> completeText() const;
55 // The fragment text is the text which will be used by this LayoutTextFragme nt. For 55 // The fragment text is the text which will be used by this LayoutTextFragme nt. For
56 // things like first-letter this may differ from the completeText as we mayb e using 56 // things like first-letter this may differ from the completeText as we mayb e using
57 // only a portion of the text nodes content. 57 // only a portion of the text nodes content.
58 58
59 virtual PassRefPtr<StringImpl> originalText() const override; 59 PassRefPtr<StringImpl> originalText() const override;
60 60
61 virtual void setText(PassRefPtr<StringImpl>, bool force = false) override; 61 void setText(PassRefPtr<StringImpl>, bool force = false) override;
62 void setTextFragment(PassRefPtr<StringImpl>, unsigned start, unsigned length ); 62 void setTextFragment(PassRefPtr<StringImpl>, unsigned start, unsigned length );
63 63
64 virtual void transformText() override; 64 void transformText() override;
65 65
66 // FIXME: Rename to LayoutTextFragment 66 // FIXME: Rename to LayoutTextFragment
67 virtual const char* name() const override { return "LayoutTextFragment"; } 67 const char* name() const override { return "LayoutTextFragment"; }
68 68
69 void setFirstLetterPseudoElement(FirstLetterPseudoElement* element) { m_firs tLetterPseudoElement = element; } 69 void setFirstLetterPseudoElement(FirstLetterPseudoElement* element) { m_firs tLetterPseudoElement = element; }
70 FirstLetterPseudoElement* firstLetterPseudoElement() const { return m_firstL etterPseudoElement; } 70 FirstLetterPseudoElement* firstLetterPseudoElement() const { return m_firstL etterPseudoElement; }
71 71
72 void setIsRemainingTextLayoutObject(bool isRemainingText) { m_isRemainingTex tLayoutObject = isRemainingText; } 72 void setIsRemainingTextLayoutObject(bool isRemainingText) { m_isRemainingTex tLayoutObject = isRemainingText; }
73 bool isRemainingTextLayoutObject() const { return m_isRemainingTextLayoutObj ect; } 73 bool isRemainingTextLayoutObject() const { return m_isRemainingTextLayoutObj ect; }
74 74
75 protected: 75 protected:
76 virtual void willBeDestroyed() override; 76 void willBeDestroyed() override;
77 77
78 private: 78 private:
79 LayoutBlock* blockForAccompanyingFirstLetter() const; 79 LayoutBlock* blockForAccompanyingFirstLetter() const;
80 virtual UChar previousCharacter() const override; 80 UChar previousCharacter() const override;
81 81
82 Text* associatedTextNode() const; 82 Text* associatedTextNode() const;
83 void updateHitTestResult(HitTestResult&, const LayoutPoint&) override; 83 void updateHitTestResult(HitTestResult&, const LayoutPoint&) override;
84 84
85 unsigned m_start; 85 unsigned m_start;
86 unsigned m_end; 86 unsigned m_end;
87 bool m_isRemainingTextLayoutObject; 87 bool m_isRemainingTextLayoutObject;
88 RefPtr<StringImpl> m_contentString; 88 RefPtr<StringImpl> m_contentString;
89 // Reference back to FirstLetterPseudoElement; cleared by FirstLetterPseudoE lement::detach() if 89 // Reference back to FirstLetterPseudoElement; cleared by FirstLetterPseudoE lement::detach() if
90 // it goes away first. 90 // it goes away first.
91 FirstLetterPseudoElement* m_firstLetterPseudoElement; 91 FirstLetterPseudoElement* m_firstLetterPseudoElement;
92 }; 92 };
93 93
94 DEFINE_TYPE_CASTS(LayoutTextFragment, LayoutObject, object, toLayoutText(object) ->isTextFragment(), toLayoutText(object).isTextFragment()); 94 DEFINE_TYPE_CASTS(LayoutTextFragment, LayoutObject, object, toLayoutText(object) ->isTextFragment(), toLayoutText(object).isTextFragment());
95 95
96 } // namespace blink 96 } // namespace blink
97 97
98 #endif // LayoutTextFragment_h 98 #endif // LayoutTextFragment_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutTextControlSingleLine.h ('k') | Source/core/layout/LayoutTextTrackContainer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698