Changeset 246239 in webkit
- Timestamp:
- Jun 9, 2019 1:03:16 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r246236 r246239 1 2019-06-08 Dean Jackson <dino@apple.com> 2 3 Drag starting state can get stuck even though the drag has ended 4 https://bugs.webkit.org/show_bug.cgi?id=198696 5 <rdar://problem/51556045> 6 7 Reviewed by Wenson Hsieh. 8 9 In iOS 13, we're seeing cases of the DragSession not 10 correctly ending, and thus leaving m_isStartingDrag in 11 an incorrect state. Temporarily force this to be reset 12 in ::dragEnded while investigating 13 14 * UIProcess/ios/WKContentViewInteraction.mm: Add some more release logging 15 while here. 16 (-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]): 17 (-[WKContentView dragInteraction:item:willAnimateCancelWithAnimator:]): 18 * WebProcess/WebPage/WebPage.cpp: 19 (WebKit::WebPage::dragEnded): 20 1 21 2019-06-08 Wenson Hsieh <wenson_hsieh@apple.com> 2 22 -
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
r246229 r246239 6731 6731 - (void)dragInteraction:(UIDragInteraction *)interaction willAnimateLiftWithAnimator:(id <UIDragAnimating>)animator session:(id <UIDragSession>)session 6732 6732 { 6733 RELEASE_LOG(DragAndDrop, "Drag session willAnimateLiftWithAnimator: %p", session); 6733 6734 if (!_shouldRestoreCalloutBarAfterDrop && _dragDropInteractionState.anyActiveDragSourceIs(WebCore::DragSourceActionSelection)) { 6734 6735 // FIXME: This SPI should be renamed in UIKit to reflect a more general purpose of hiding interaction assistant controls. … … 6749 6750 page->dragEnded(positionForDragEnd, positionForDragEnd, WebCore::DragOperationNone); 6750 6751 } 6752 #if !RELEASE_LOG_DISABLED 6753 else 6754 RELEASE_LOG(DragAndDrop, "Drag session did not end at start: %p", session); 6755 #endif 6751 6756 }]; 6752 6757 } … … 6800 6805 - (void)dragInteraction:(UIDragInteraction *)interaction item:(UIDragItem *)item willAnimateCancelWithAnimator:(id <UIDragAnimating>)animator 6801 6806 { 6807 RELEASE_LOG(DragAndDrop, "Drag interaction willAnimateCancelWithAnimator"); 6802 6808 [animator addCompletion:[protectedSelf = retainPtr(self), page = _page] (UIViewAnimatingPosition finalPosition) { 6809 RELEASE_LOG(DragAndDrop, "Drag interaction willAnimateCancelWithAnimator (animation completion block fired)"); 6803 6810 page->dragCancelled(); 6804 6811 if (auto completion = protectedSelf->_dragDropInteractionState.takeDragCancelSetDownBlock()) { -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r246136 r246239 3912 3912 3913 3913 send(Messages::WebPageProxy::DidEndDragging()); 3914 3915 m_isStartingDrag = false; 3914 3916 } 3915 3917
Note: See TracChangeset
for help on using the changeset viewer.