Chromium Code Reviews| 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 a38381e9c24ff9ec7cdfc6856a1c536d1eb71c1c..7cc3975ec6f54bad41165386773534ccd82d72ca 100644 |
| --- a/third_party/WebKit/Source/core/editing/SelectionController.cpp |
| +++ b/third_party/WebKit/Source/core/editing/SelectionController.cpp |
| @@ -652,9 +652,6 @@ void SelectionController::setNonDirectionalSelectionIfNeeded( |
| void SelectionController::setCaretAtHitTestResult( |
| const HitTestResult& hitTestResult) { |
| Node* innerNode = hitTestResult.innerNode(); |
| - if (!innerNode) |
| - return; |
| - |
| const VisiblePositionInFlatTree& visibleHitPos = |
| visiblePositionOfHitTestResult(hitTestResult); |
| const VisiblePositionInFlatTree& visiblePos = |
| @@ -892,7 +889,7 @@ bool SelectionController::handleGestureLongPress( |
| return false; |
| Node* innerNode = hitTestResult.innerNode(); |
| - if (!innerNode) |
| + if (!innerNode || !innerNode->layoutObject()) |
|
yosin_UTC9
2016/12/01 01:51:09
Could you hoist call site of this function or fath
|
| return false; |
| innerNode->document().updateStyleAndLayoutTree(); |
| bool innerNodeIsSelectable = hasEditableStyle(*innerNode) || |
| @@ -912,12 +909,16 @@ bool SelectionController::handleGestureLongPress( |
| void SelectionController::handleGestureTwoFingerTap( |
| const GestureEventWithHitTestResults& targetedEvent) { |
| - setCaretAtHitTestResult(targetedEvent.hitTestResult()); |
| + Node* innerNode = targetedEvent.hitTestResult().innerNode(); |
| + if (innerNode && innerNode->layoutObject()) |
| + setCaretAtHitTestResult(targetedEvent.hitTestResult()); |
| } |
| void SelectionController::handleGestureLongTap( |
| const GestureEventWithHitTestResults& targetedEvent) { |
| - setCaretAtHitTestResult(targetedEvent.hitTestResult()); |
| + Node* innerNode = targetedEvent.hitTestResult().innerNode(); |
| + if (innerNode && innerNode->layoutObject()) |
| + setCaretAtHitTestResult(targetedEvent.hitTestResult()); |
| } |
| static bool hitTestResultIsMisspelled(const HitTestResult& result) { |