| Index: Source/core/editing/FrameSelection.cpp
|
| diff --git a/Source/core/editing/FrameSelection.cpp b/Source/core/editing/FrameSelection.cpp
|
| index 651f570459b6ad2d3133edcd1cbf1d66a0968113..a9ca281adba5bccd01a0725c682adbe0899600a0 100644
|
| --- a/Source/core/editing/FrameSelection.cpp
|
| +++ b/Source/core/editing/FrameSelection.cpp
|
| @@ -360,6 +360,17 @@ void FrameSelection::nodeWillBeRemoved(Node& node)
|
| removingNodeRemovesPosition(node, m_selection.start()), removingNodeRemovesPosition(node, m_selection.end()));
|
| }
|
|
|
| +static bool intersectsNode(const VisibleSelection& selection, Node* node)
|
| +{
|
| + if (selection.isNone())
|
| + return false;
|
| + Position start = selection.start().parentAnchoredEquivalent();
|
| + Position end = selection.end().parentAnchoredEquivalent();
|
| + TrackExceptionState exceptionState;
|
| + // TODO(yosin) We should avoid to use |Range::intersectsNode()|.
|
| + return Range::intersectsNode(node, start, end, exceptionState) && !exceptionState.hadException();
|
| +}
|
| +
|
| void FrameSelection::respondToNodeModification(Node& node, bool baseRemoved, bool extentRemoved, bool startRemoved, bool endRemoved)
|
| {
|
| ASSERT(node.document().isActive());
|
|
|