Index: Source/core/editing/VisiblePosition.cpp |
diff --git a/Source/core/editing/VisiblePosition.cpp b/Source/core/editing/VisiblePosition.cpp |
index 144277006bb1fbf12872207fadb3e694ac279d6d..375f273076e196111d0972040b91d2918e5e5e37 100644 |
--- a/Source/core/editing/VisiblePosition.cpp |
+++ b/Source/core/editing/VisiblePosition.cpp |
@@ -135,7 +135,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const |
if (!box) |
return primaryDirection == LTR ? previousVisuallyDistinctCandidate(m_deepPosition) : nextVisuallyDistinctCandidate(m_deepPosition); |
- RenderObject* renderer = box->renderer(); |
+ RenderObject* renderer = &box->renderer(); |
while (true) { |
if ((renderer->isReplaced() || renderer->isBR()) && offset == box->caretRightmostOffset()) |
@@ -145,7 +145,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const |
box = box->prevLeafChild(); |
if (!box) |
return primaryDirection == LTR ? previousVisuallyDistinctCandidate(m_deepPosition) : nextVisuallyDistinctCandidate(m_deepPosition); |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = box->caretRightmostOffset(); |
continue; |
} |
@@ -176,7 +176,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const |
// Reposition at the other logical position corresponding to our edge's visual position and go for another round. |
box = prevBox; |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = prevBox->caretRightmostOffset(); |
continue; |
} |
@@ -191,7 +191,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const |
InlineBox* logicalStart = 0; |
if (primaryDirection == LTR ? box->root()->getLogicalStartBoxWithNode(logicalStart) : box->root()->getLogicalEndBoxWithNode(logicalStart)) { |
box = logicalStart; |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = primaryDirection == LTR ? box->caretMinOffset() : box->caretMaxOffset(); |
} |
break; |
@@ -210,19 +210,19 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const |
break; |
box = prevBox; |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = box->caretRightmostOffset(); |
if (box->direction() == primaryDirection) |
break; |
continue; |
} |
- while (prevBox && !prevBox->renderer()->node()) |
+ while (prevBox && !prevBox->renderer().node()) |
prevBox = prevBox->prevLeafChild(); |
if (prevBox) { |
box = prevBox; |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = box->caretRightmostOffset(); |
if (box->bidiLevel() > level) { |
do { |
@@ -252,7 +252,7 @@ Position VisiblePosition::leftVisuallyDistinctCandidate() const |
break; |
level = box->bidiLevel(); |
} |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = primaryDirection == LTR ? box->caretMinOffset() : box->caretMaxOffset(); |
} |
break; |
@@ -300,7 +300,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const |
if (!box) |
return primaryDirection == LTR ? nextVisuallyDistinctCandidate(m_deepPosition) : previousVisuallyDistinctCandidate(m_deepPosition); |
- RenderObject* renderer = box->renderer(); |
+ RenderObject* renderer = &box->renderer(); |
while (true) { |
if ((renderer->isReplaced() || renderer->isBR()) && offset == box->caretLeftmostOffset()) |
@@ -310,7 +310,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const |
box = box->nextLeafChild(); |
if (!box) |
return primaryDirection == LTR ? nextVisuallyDistinctCandidate(m_deepPosition) : previousVisuallyDistinctCandidate(m_deepPosition); |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = box->caretLeftmostOffset(); |
continue; |
} |
@@ -341,7 +341,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const |
// Reposition at the other logical position corresponding to our edge's visual position and go for another round. |
box = nextBox; |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = nextBox->caretLeftmostOffset(); |
continue; |
} |
@@ -356,7 +356,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const |
InlineBox* logicalEnd = 0; |
if (primaryDirection == LTR ? box->root()->getLogicalEndBoxWithNode(logicalEnd) : box->root()->getLogicalStartBoxWithNode(logicalEnd)) { |
box = logicalEnd; |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = primaryDirection == LTR ? box->caretMaxOffset() : box->caretMinOffset(); |
} |
break; |
@@ -377,19 +377,19 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const |
// For example, abc 123 ^ CBA or 123 ^ CBA abc |
box = nextBox; |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = box->caretLeftmostOffset(); |
if (box->direction() == primaryDirection) |
break; |
continue; |
} |
- while (nextBox && !nextBox->renderer()->node()) |
+ while (nextBox && !nextBox->renderer().node()) |
nextBox = nextBox->nextLeafChild(); |
if (nextBox) { |
box = nextBox; |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = box->caretLeftmostOffset(); |
if (box->bidiLevel() > level) { |
@@ -420,7 +420,7 @@ Position VisiblePosition::rightVisuallyDistinctCandidate() const |
break; |
level = box->bidiLevel(); |
} |
- renderer = box->renderer(); |
+ renderer = &box->renderer(); |
offset = primaryDirection == LTR ? box->caretMaxOffset() : box->caretMinOffset(); |
} |
break; |
@@ -664,7 +664,7 @@ LayoutRect VisiblePosition::localCaretRect(RenderObject*& renderer) const |
getInlineBoxAndOffset(inlineBox, caretOffset); |
if (inlineBox) |
- renderer = inlineBox->renderer(); |
+ renderer = &inlineBox->renderer(); |
return renderer->localCaretRect(inlineBox, caretOffset); |
} |