OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) | 4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) |
5 * Copyright (C) 2015 Google Inc. All rights reserved. | 5 * Copyright (C) 2015 Google Inc. All rights reserved. |
6 * | 6 * |
7 * Redistribution and use in source and binary forms, with or without | 7 * Redistribution and use in source and binary forms, with or without |
8 * modification, are permitted provided that the following conditions | 8 * modification, are permitted provided that the following conditions |
9 * are met: | 9 * are met: |
10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 } | 576 } |
577 | 577 |
578 bool SelectionController::handleGestureLongPress(const PlatformGestureEvent& ges
tureEvent, const HitTestResult& hitTestResult) | 578 bool SelectionController::handleGestureLongPress(const PlatformGestureEvent& ges
tureEvent, const HitTestResult& hitTestResult) |
579 { | 579 { |
580 if (!selection().isAvailable()) | 580 if (!selection().isAvailable()) |
581 return false; | 581 return false; |
582 if (hitTestResult.isLiveLink()) | 582 if (hitTestResult.isLiveLink()) |
583 return false; | 583 return false; |
584 | 584 |
585 Node* innerNode = hitTestResult.innerNode(); | 585 Node* innerNode = hitTestResult.innerNode(); |
586 bool innerNodeIsSelectable = innerNode && (innerNode->isContentEditable() ||
innerNode->canStartSelection()); | 586 bool innerNodeIsSelectable = innerNode && (isContentEditable(*innerNode) ||
innerNode->canStartSelection()); |
587 if (!innerNodeIsSelectable) | 587 if (!innerNodeIsSelectable) |
588 return false; | 588 return false; |
589 | 589 |
590 selectClosestWordFromHitTestResult(hitTestResult, AppendTrailingWhitespace::
DontAppend, SelectInputEventType::Touch); | 590 selectClosestWordFromHitTestResult(hitTestResult, AppendTrailingWhitespace::
DontAppend, SelectInputEventType::Touch); |
591 if (!selection().isAvailable()) { | 591 if (!selection().isAvailable()) { |
592 // "editing/selection/longpress-selection-in-iframe-removed-crash.html" | 592 // "editing/selection/longpress-selection-in-iframe-removed-crash.html" |
593 // reach here. | 593 // reach here. |
594 return false; | 594 return false; |
595 } | 595 } |
596 return selection().isRange(); | 596 return selection().isRange(); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
675 return event.event().altKey() && event.isOverLink(); | 675 return event.event().altKey() && event.isOverLink(); |
676 } | 676 } |
677 | 677 |
678 bool isExtendingSelection(const MouseEventWithHitTestResults& event) | 678 bool isExtendingSelection(const MouseEventWithHitTestResults& event) |
679 { | 679 { |
680 bool isMouseDownOnLinkOrImage = event.isOverLink() || event.hitTestResult().
image(); | 680 bool isMouseDownOnLinkOrImage = event.isOverLink() || event.hitTestResult().
image(); |
681 return event.event().shiftKey() && !isMouseDownOnLinkOrImage; | 681 return event.event().shiftKey() && !isMouseDownOnLinkOrImage; |
682 } | 682 } |
683 | 683 |
684 } // namespace blink | 684 } // namespace blink |
OLD | NEW |