| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "core/input/MouseEventManager.h" | 5 #include "core/input/MouseEventManager.h" | 
| 6 | 6 | 
| 7 #include "core/clipboard/DataObject.h" | 7 #include "core/clipboard/DataObject.h" | 
| 8 #include "core/clipboard/DataTransfer.h" | 8 #include "core/clipboard/DataTransfer.h" | 
| 9 #include "core/dom/Element.h" | 9 #include "core/dom/Element.h" | 
| 10 #include "core/dom/ElementTraversal.h" | 10 #include "core/dom/ElementTraversal.h" | 
| (...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 418     if (element->isMouseFocusable()) | 418     if (element->isMouseFocusable()) | 
| 419       break; | 419       break; | 
| 420   } | 420   } | 
| 421   DCHECK(!element || element->isMouseFocusable()); | 421   DCHECK(!element || element->isMouseFocusable()); | 
| 422 | 422 | 
| 423   // To fix <rdar://problem/4895428> Can't drag selected ToDo, we don't focus | 423   // To fix <rdar://problem/4895428> Can't drag selected ToDo, we don't focus | 
| 424   // a node on mouse down if it's selected and inside a focused node. It will | 424   // a node on mouse down if it's selected and inside a focused node. It will | 
| 425   // be focused if the user does a mouseup over it, however, because the | 425   // be focused if the user does a mouseup over it, however, because the | 
| 426   // mouseup will set a selection inside it, which will call | 426   // mouseup will set a selection inside it, which will call | 
| 427   // FrameSelection::setFocusedNodeIfNeeded. | 427   // FrameSelection::setFocusedNodeIfNeeded. | 
| 428   if (element && m_frame->selection().isRange()) { | 428   if (element && | 
|  | 429       m_frame->selection() | 
|  | 430           .computeVisibleSelectionInDOMTreeDeprecated() | 
|  | 431           .isRange()) { | 
| 429     // TODO(yosin) We should not create |Range| object for calling | 432     // TODO(yosin) We should not create |Range| object for calling | 
| 430     // |isNodeFullyContained()|. | 433     // |isNodeFullyContained()|. | 
| 431     if (createRange(m_frame->selection() | 434     if (createRange(m_frame->selection() | 
| 432                         .computeVisibleSelectionInDOMTreeDeprecated() | 435                         .computeVisibleSelectionInDOMTreeDeprecated() | 
| 433                         .toNormalizedEphemeralRange()) | 436                         .toNormalizedEphemeralRange()) | 
| 434             ->isNodeFullyContained(*element) && | 437             ->isNodeFullyContained(*element) && | 
| 435         element->isDescendantOf(m_frame->document()->focusedElement())) | 438         element->isDescendantOf(m_frame->document()->focusedElement())) | 
| 436       return WebInputEventResult::NotHandled; | 439       return WebInputEventResult::NotHandled; | 
| 437   } | 440   } | 
| 438 | 441 | 
| (...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1008 | 1011 | 
| 1009 void MouseEventManager::setClickCount(int clickCount) { | 1012 void MouseEventManager::setClickCount(int clickCount) { | 
| 1010   m_clickCount = clickCount; | 1013   m_clickCount = clickCount; | 
| 1011 } | 1014 } | 
| 1012 | 1015 | 
| 1013 bool MouseEventManager::mouseDownMayStartDrag() { | 1016 bool MouseEventManager::mouseDownMayStartDrag() { | 
| 1014   return m_mouseDownMayStartDrag; | 1017   return m_mouseDownMayStartDrag; | 
| 1015 } | 1018 } | 
| 1016 | 1019 | 
| 1017 }  // namespace blink | 1020 }  // namespace blink | 
| OLD | NEW | 
|---|