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

Side by Side Diff: Source/core/editing/iterators/TextIterator.h

Issue 1149903004: Oilpan: Validate pointers stored in Member (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 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
« no previous file with comments | « no previous file | Source/core/editing/iterators/TextIterator.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 RawPtrWillBeMember<Node> m_pastEndNode; 157 RawPtrWillBeMember<Node> m_pastEndNode;
158 158
159 // Used when there is still some pending text from the current node; when th ese 159 // Used when there is still some pending text from the current node; when th ese
160 // are false and 0, we go back to normal iterating. 160 // are false and 0, we go back to normal iterating.
161 bool m_needsAnotherNewline; 161 bool m_needsAnotherNewline;
162 InlineTextBox* m_textBox; 162 InlineTextBox* m_textBox;
163 // Used when iteration over :first-letter text to save pointer to 163 // Used when iteration over :first-letter text to save pointer to
164 // remaining text box. 164 // remaining text box.
165 InlineTextBox* m_remainingTextBox; 165 InlineTextBox* m_remainingTextBox;
166 // Used to point to LayoutText object for :first-letter. 166 // Used to point to LayoutText object for :first-letter.
167 RawPtrWillBeMember<LayoutText> m_firstLetterText; 167 LayoutText* m_firstLetterText;
168 168
169 // Used to do the whitespace collapsing logic. 169 // Used to do the whitespace collapsing logic.
170 RawPtrWillBeMember<Text> m_lastTextNode; 170 RawPtrWillBeMember<Text> m_lastTextNode;
171 bool m_lastTextNodeEndedWithCollapsedSpace; 171 bool m_lastTextNodeEndedWithCollapsedSpace;
172 172
173 // Used when text boxes are out of order (Hebrew/Arabic w/ embeded LTR text) 173 // Used when text boxes are out of order (Hebrew/Arabic w/ embeded LTR text)
174 Vector<InlineTextBox*> m_sortedTextBoxes; 174 Vector<InlineTextBox*> m_sortedTextBoxes;
175 size_t m_sortedTextBoxesPosition; 175 size_t m_sortedTextBoxesPosition;
176 176
177 const TextIteratorBehaviorFlags m_behavior; 177 const TextIteratorBehaviorFlags m_behavior;
178 178
179 // Used when deciding text fragment created by :first-letter should be looke d into. 179 // Used when deciding text fragment created by :first-letter should be looke d into.
180 bool m_handledFirstLetter; 180 bool m_handledFirstLetter;
181 // Used when stopsOnFormControls() is true to determine if the iterator shou ld keep advancing. 181 // Used when stopsOnFormControls() is true to determine if the iterator shou ld keep advancing.
182 bool m_shouldStop; 182 bool m_shouldStop;
183 183
184 // Contains state of emitted text. 184 // Contains state of emitted text.
185 TextIteratorTextState m_textState; 185 TextIteratorTextState m_textState;
186 }; 186 };
187 187
188 extern template class CORE_EXTERN_TEMPLATE_EXPORT TextIteratorAlgorithm<EditingS trategy>; 188 extern template class CORE_EXTERN_TEMPLATE_EXPORT TextIteratorAlgorithm<EditingS trategy>;
189 extern template class CORE_EXTERN_TEMPLATE_EXPORT TextIteratorAlgorithm<EditingI nComposedTreeStrategy>; 189 extern template class CORE_EXTERN_TEMPLATE_EXPORT TextIteratorAlgorithm<EditingI nComposedTreeStrategy>;
190 190
191 using TextIterator = TextIteratorAlgorithm<EditingStrategy>; 191 using TextIterator = TextIteratorAlgorithm<EditingStrategy>;
192 using TextIteratorInComposedTree = TextIteratorAlgorithm<EditingInComposedTreeSt rategy>; 192 using TextIteratorInComposedTree = TextIteratorAlgorithm<EditingInComposedTreeSt rategy>;
193 193
194 } // namespace blink 194 } // namespace blink
195 195
196 #endif // TextIterator_h 196 #endif // TextIterator_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/editing/iterators/TextIterator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698