| 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 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 | 121 |
| 122 bool SelectionController::handleMousePressEventSingleClick(const MouseEventWithH
itTestResults& event) | 122 bool SelectionController::handleMousePressEventSingleClick(const MouseEventWithH
itTestResults& event) |
| 123 { | 123 { |
| 124 TRACE_EVENT0("blink", "SelectionController::handleMousePressEventSingleClick
"); | 124 TRACE_EVENT0("blink", "SelectionController::handleMousePressEventSingleClick
"); |
| 125 | 125 |
| 126 m_frame->document()->updateStyleAndLayoutIgnorePendingStylesheets(); | 126 m_frame->document()->updateStyleAndLayoutIgnorePendingStylesheets(); |
| 127 Node* innerNode = event.innerNode(); | 127 Node* innerNode = event.innerNode(); |
| 128 if (!(innerNode && innerNode->layoutObject() && m_mouseDownMayStartSelect)) | 128 if (!(innerNode && innerNode->layoutObject() && m_mouseDownMayStartSelect)) |
| 129 return false; | 129 return false; |
| 130 | 130 |
| 131 // Extend the selection if the Shift key is down, unless the click is in a l
ink. | 131 // Extend the selection if the Shift key is down, unless the click is in a l
ink or image. |
| 132 bool extendSelection = event.event().shiftKey() && !event.isOverLink(); | 132 bool extendSelection = isExtendingSelection(event); |
| 133 | 133 |
| 134 // Don't restart the selection when the mouse is pressed on an | 134 // Don't restart the selection when the mouse is pressed on an |
| 135 // existing selection so we can allow for text dragging. | 135 // existing selection so we can allow for text dragging. |
| 136 if (FrameView* view = m_frame->view()) { | 136 if (FrameView* view = m_frame->view()) { |
| 137 LayoutPoint vPoint = view->rootFrameToContents(event.event().position())
; | 137 LayoutPoint vPoint = view->rootFrameToContents(event.event().position())
; |
| 138 if (!extendSelection && selection().contains(vPoint)) { | 138 if (!extendSelection && selection().contains(vPoint)) { |
| 139 m_mouseDownWasSingleClickInSelection = true; | 139 m_mouseDownWasSingleClickInSelection = true; |
| 140 return false; | 140 return false; |
| 141 } | 141 } |
| 142 } | 142 } |
| (...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 663 FrameSelection& SelectionController::selection() const | 663 FrameSelection& SelectionController::selection() const |
| 664 { | 664 { |
| 665 return m_frame->selection(); | 665 return m_frame->selection(); |
| 666 } | 666 } |
| 667 | 667 |
| 668 bool isLinkSelection(const MouseEventWithHitTestResults& event) | 668 bool isLinkSelection(const MouseEventWithHitTestResults& event) |
| 669 { | 669 { |
| 670 return event.event().altKey() && event.isOverLink(); | 670 return event.event().altKey() && event.isOverLink(); |
| 671 } | 671 } |
| 672 | 672 |
| 673 bool isExtendingSelection(const MouseEventWithHitTestResults& event) |
| 674 { |
| 675 bool isMouseDownOnLinkOrImage = event.isOverLink() || event.hitTestResult().
image(); |
| 676 return event.event().shiftKey() && !isMouseDownOnLinkOrImage; |
| 677 } |
| 678 |
| 673 } // namespace blink | 679 } // namespace blink |
| OLD | NEW |