Index: Source/core/rendering/InlineIterator.h |
diff --git a/Source/core/rendering/InlineIterator.h b/Source/core/rendering/InlineIterator.h |
index d88205ae92425e121e171ac28d5876fa629ad7e0..d5fca7a2743342a1ffe62e09f85c4fac5a5596cc 100644 |
--- a/Source/core/rendering/InlineIterator.h |
+++ b/Source/core/rendering/InlineIterator.h |
@@ -35,6 +35,11 @@ namespace WebCore { |
// optionally notifying a BidiResolver every time it steps into/out of a RenderInline. |
class InlineIterator { |
public: |
+ enum IncrementRule { |
+ FastIncrementInlineRenderer, |
+ FastIncrementInTextNode |
+ }; |
+ |
InlineIterator() |
: m_root(0) |
, m_obj(0) |
@@ -70,7 +75,7 @@ public: |
RenderObject* root() const { return m_root; } |
void fastIncrementInTextNode(); |
- void increment(InlineBidiResolver* = 0); |
+ void increment(InlineBidiResolver* = 0, IncrementRule = FastIncrementInTextNode); |
bool atEnd() const; |
inline bool atTextParagraphSeparator() |
@@ -352,11 +357,11 @@ private: |
bool m_atEndOfInline; |
}; |
-inline void InlineIterator::increment(InlineBidiResolver* resolver) |
+inline void InlineIterator::increment(InlineBidiResolver* resolver, IncrementRule rule) |
{ |
if (!m_obj) |
return; |
- if (m_obj->isText()) { |
+ if (m_obj->isText() && rule == FastIncrementInTextNode) { |
fastIncrementInTextNode(); |
if (m_pos < toRenderText(m_obj)->textLength()) |
return; |