| Index: third_party/WebKit/Source/core/editing/SelectionController.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/SelectionController.cpp b/third_party/WebKit/Source/core/editing/SelectionController.cpp
|
| index 7c64527cee8792e326c0929f265aa8e394fe9913..256c962c6425df2442f558f1501e24793ae12c03 100644
|
| --- a/third_party/WebKit/Source/core/editing/SelectionController.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/SelectionController.cpp
|
| @@ -767,18 +767,21 @@
|
| // needs to be audited. See http://crbug.com/590369 for more details.
|
| m_frame->document()->updateStyleAndLayoutIgnorePendingStylesheets();
|
|
|
| - SelectionInFlatTree::Builder builder;
|
| + VisibleSelectionInFlatTree newSelection;
|
| Node* node = event.innerNode();
|
| if (node && node->layoutObject() && hasEditableStyle(*node)) {
|
| const VisiblePositionInFlatTree pos =
|
| visiblePositionOfHitTestResult(event.hitTestResult());
|
| - if (pos.isNotNull())
|
| + if (pos.isNotNull()) {
|
| + SelectionInFlatTree::Builder builder;
|
| builder.collapse(pos.toPositionWithAffinity());
|
| + newSelection = createVisibleSelection(builder.build());
|
| + }
|
| }
|
|
|
| if (selection().visibleSelection<EditingInFlatTreeStrategy>() !=
|
| - createVisibleSelection(builder.build())) {
|
| - selection().setSelection(builder.build());
|
| + newSelection) {
|
| + selection().setSelection(newSelection);
|
| }
|
|
|
| handled = true;
|
| @@ -922,12 +925,12 @@
|
| const VisiblePositionInFlatTree& visiblePos =
|
| visiblePositionOfHitTestResult(mev.hitTestResult());
|
| if (visiblePos.isNull()) {
|
| - selection().setSelection(SelectionInFlatTree());
|
| - return;
|
| - }
|
| - selection().setSelection(SelectionInFlatTree::Builder()
|
| - .collapse(visiblePos.toPositionWithAffinity())
|
| - .build());
|
| + selection().setSelection(VisibleSelectionInFlatTree());
|
| + return;
|
| + }
|
| + SelectionInFlatTree::Builder builder;
|
| + builder.collapse(visiblePos.toPositionWithAffinity());
|
| + selection().setSelection(createVisibleSelection(builder.build()));
|
| }
|
|
|
| void SelectionController::initializeSelectionState() {
|
|
|