Index: Source/core/rendering/InlineIterator.h |
diff --git a/Source/core/rendering/InlineIterator.h b/Source/core/rendering/InlineIterator.h |
index 26dbc0f25b77a233838ad17cdae1c6f0b8ac7203..cbd866e3607257d32a8d9c61ec2ba725b8a55740 100644 |
--- a/Source/core/rendering/InlineIterator.h |
+++ b/Source/core/rendering/InlineIterator.h |
@@ -71,6 +71,8 @@ public: |
} |
RenderObject* object() const { return m_obj; } |
+ void setObject(RenderObject* object) { m_obj = object; } |
+ |
unsigned offset() const { return m_pos; } |
RenderObject* root() const { return m_root; } |
@@ -96,22 +98,22 @@ public: |
private: |
RenderObject* m_root; |
+ RenderObject* m_obj; |
- // FIXME: These should be private. |
+// FIXME: These should be private. |
public: |
- RenderObject* m_obj; |
unsigned m_pos; |
int m_nextBreakablePosition; |
}; |
inline bool operator==(const InlineIterator& it1, const InlineIterator& it2) |
{ |
- return it1.m_pos == it2.m_pos && it1.m_obj == it2.m_obj; |
+ return it1.m_pos == it2.m_pos && it1.object() == it2.object(); |
} |
inline bool operator!=(const InlineIterator& it1, const InlineIterator& it2) |
{ |
- return it1.m_pos != it2.m_pos || it1.m_obj != it2.m_obj; |
+ return it1.m_pos != it2.m_pos || it1.object() != it2.object(); |
} |
static inline WTF::Unicode::Direction embedCharFromDirection(TextDirection dir, EUnicodeBidi unicodeBidi) |
@@ -422,9 +424,9 @@ inline void InlineBidiResolver::increment() |
template <> |
inline bool InlineBidiResolver::isEndOfLine(const InlineIterator& end) |
{ |
- bool inEndOfLine = m_current == end || m_current.atEnd() || (inIsolate() && m_current.m_obj == end.m_obj); |
+ bool inEndOfLine = m_current == end || m_current.atEnd() || (inIsolate() && m_current.object() == end.object()); |
if (inIsolate() && inEndOfLine) { |
- m_current.moveTo(m_current.m_obj, end.m_pos, m_current.m_nextBreakablePosition); |
+ m_current.moveTo(m_current.object(), end.m_pos, m_current.m_nextBreakablePosition); |
m_last = m_current; |
updateStatusLastFromCurrentDirection(WTF::Unicode::OtherNeutral); |
} |
@@ -556,7 +558,7 @@ static void adjustMidpointsAndAppendRunsForObjectIfNeeded(RenderObject* obj, uns |
if (haveNextMidpoint) |
nextMidpoint = lineMidpointState.midpoints[lineMidpointState.currentMidpoint]; |
if (lineMidpointState.betweenMidpoints) { |
- if (!(haveNextMidpoint && nextMidpoint.m_obj == obj)) |
+ if (!(haveNextMidpoint && nextMidpoint.object() == obj)) |
return; |
// This is a new start point. Stop ignoring objects and |
// adjust our start. |
@@ -566,7 +568,7 @@ static void adjustMidpointsAndAppendRunsForObjectIfNeeded(RenderObject* obj, uns |
if (start < end) |
return adjustMidpointsAndAppendRunsForObjectIfNeeded(obj, start, end, resolver, behavior, tracker); |
} else { |
- if (!haveNextMidpoint || (obj != nextMidpoint.m_obj)) { |
+ if (!haveNextMidpoint || (obj != nextMidpoint.object())) { |
appendRunObjectIfNecessary(obj, start, end, resolver, behavior, tracker); |
return; |
} |
@@ -602,8 +604,8 @@ inline void InlineBidiResolver::appendRun() |
// FIXME: Could this initialize from this->inIsolate() instead of walking up the render tree? |
IsolateTracker isolateTracker(numberOfIsolateAncestors(m_sor)); |
int start = m_sor.m_pos; |
- RenderObject* obj = m_sor.m_obj; |
- while (obj && obj != m_eor.m_obj && obj != m_endOfRunAtEndOfLine.m_obj) { |
+ RenderObject* obj = m_sor.object(); |
+ while (obj && obj != m_eor.object() && obj != m_endOfRunAtEndOfLine.object()) { |
if (isolateTracker.inIsolate()) |
addFakeRunIfNecessary(obj, start, obj->length(), *this, isolateTracker); |
else |
@@ -612,10 +614,10 @@ inline void InlineBidiResolver::appendRun() |
start = 0; |
obj = bidiNextSkippingEmptyInlines(m_sor.root(), obj, &isolateTracker); |
} |
- bool isEndOfLine = obj == m_endOfLine.m_obj && !m_endOfLine.m_pos; |
+ bool isEndOfLine = obj == m_endOfLine.object() && !m_endOfLine.m_pos; |
if (obj && !isEndOfLine) { |
- unsigned pos = obj == m_eor.m_obj ? m_eor.m_pos : INT_MAX; |
- if (obj == m_endOfRunAtEndOfLine.m_obj && m_endOfRunAtEndOfLine.m_pos <= pos) { |
+ unsigned pos = obj == m_eor.object() ? m_eor.m_pos : INT_MAX; |
+ if (obj == m_endOfRunAtEndOfLine.object() && m_endOfRunAtEndOfLine.m_pos <= pos) { |
m_reachedEndOfLine = true; |
pos = m_endOfRunAtEndOfLine.m_pos; |
} |