| Index: Source/core/editing/FrameSelection.cpp
|
| diff --git a/Source/core/editing/FrameSelection.cpp b/Source/core/editing/FrameSelection.cpp
|
| index fe14377b9881103aafa44ea48e8220685f035f50..74cea55304068cd145f40f9dcb3ea0ce40023aba 100644
|
| --- a/Source/core/editing/FrameSelection.cpp
|
| +++ b/Source/core/editing/FrameSelection.cpp
|
| @@ -934,11 +934,11 @@ static bool isBoundary(TextGranularity granularity)
|
| bool FrameSelection::modify(EAlteration alter, SelectionDirection direction, TextGranularity granularity, EUserTriggered userTriggered)
|
| {
|
| if (userTriggered == UserTriggered) {
|
| - FrameSelection trialFrameSelection;
|
| - trialFrameSelection.setSelection(m_selection);
|
| - trialFrameSelection.modify(alter, direction, granularity, NotUserTriggered);
|
| + OwnPtrWillBeRawPtr<FrameSelection> trialFrameSelection = FrameSelection::create();
|
| + trialFrameSelection->setSelection(m_selection);
|
| + trialFrameSelection->modify(alter, direction, granularity, NotUserTriggered);
|
|
|
| - if (trialFrameSelection.selection().isRange() && m_selection.isCaret() && !dispatchSelectStart())
|
| + if (trialFrameSelection->selection().isRange() && m_selection.isCaret() && !dispatchSelectStart())
|
| return false;
|
| }
|
|
|
| @@ -1048,9 +1048,9 @@ bool FrameSelection::modify(EAlteration alter, unsigned verticalDistance, Vertic
|
| return false;
|
|
|
| if (userTriggered == UserTriggered) {
|
| - FrameSelection trialFrameSelection;
|
| - trialFrameSelection.setSelection(m_selection);
|
| - trialFrameSelection.modify(alter, verticalDistance, direction, NotUserTriggered);
|
| + OwnPtrWillBeRawPtr<FrameSelection> trialFrameSelection = FrameSelection::create();
|
| + trialFrameSelection->setSelection(m_selection);
|
| + trialFrameSelection->modify(alter, verticalDistance, direction, NotUserTriggered);
|
| }
|
|
|
| willBeModified(alter, direction == DirectionUp ? DirectionBackward : DirectionForward);
|
| @@ -1370,7 +1370,7 @@ void FrameSelection::selectAll()
|
| }
|
| }
|
|
|
| - RefPtr<Node> root = nullptr;
|
| + RefPtrWillBeRawPtr<Node> root = nullptr;
|
| Node* selectStartTarget = 0;
|
| if (isContentEditable()) {
|
| root = highestEditableRoot(m_selection.start());
|
| @@ -1448,7 +1448,7 @@ void FrameSelection::focusedOrActiveStateChanged()
|
| {
|
| bool activeAndFocused = isFocusedAndActive();
|
|
|
| - RefPtr<Document> document = m_frame->document();
|
| + RefPtrWillBeRawPtr<Document> document = m_frame->document();
|
| document->updateRenderTreeIfNeeded();
|
|
|
| // Because RenderObject::selectionBackgroundColor() and
|
| @@ -1863,6 +1863,15 @@ void FrameSelection::showTreeForThis() const
|
|
|
| #endif
|
|
|
| +void FrameSelection::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_selection);
|
| + visitor->trace(m_originalBase);
|
| + visitor->trace(m_logicalRange);
|
| + visitor->trace(m_previousCaretNode);
|
| + visitor->trace(m_typingStyle);
|
| +}
|
| +
|
| }
|
|
|
| #ifndef NDEBUG
|
|
|