Changeset 237615 in webkit
- Timestamp:
- Oct 30, 2018 7:27:51 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r237614 r237615 1 2018-10-30 Chris Dumez <cdumez@apple.com> 2 3 [PSON] View gesture snapshot gets taken down early when process-swapping 4 https://bugs.webkit.org/show_bug.cgi?id=191083 5 <rdar://problem/45058738> 6 7 Reviewed by Alex Christensen. 8 9 When process-swapping, we would call WebViewImpl::processDidExit(), which would destroy 10 the ViewGestureController and thus take down the swipe navigation snapshot before it 11 should. We now call WebViewImpl::processDidSwap() instead, which does the same thing, 12 except for destroying the ViewGestureController. As a result, the view snapshot stays 13 visible as long as it is needed, even in case of process swap. 14 15 * UIProcess/Cocoa/WebViewImpl.h: 16 * UIProcess/Cocoa/WebViewImpl.mm: 17 (WebKit::WebViewImpl::handleProcessSwapOrExit): 18 (WebKit::WebViewImpl::processWillSwap): 19 (WebKit::WebViewImpl::processDidExit): 20 * UIProcess/mac/PageClientImplMac.mm: 21 (WebKit::PageClientImpl::processWillSwap): 22 1 23 2018-10-30 Chris Dumez <cdumez@apple.com> 2 24 -
trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h
r237110 r237615 161 161 WebPageProxy& page() { return m_page.get(); } 162 162 163 void processWillSwap(); 163 164 void processDidExit(); 164 165 void pageClosed(); … … 654 655 void mouseDraggedInternal(NSEvent *); 655 656 657 void handleProcessSwapOrExit(); 658 656 659 bool mightBeginDragWhileInactive(); 657 660 bool mightBeginScrollWhileInactive(); -
trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm
r237087 r237615 1457 1457 } 1458 1458 1459 void WebViewImpl:: processDidExit()1459 void WebViewImpl::handleProcessSwapOrExit() 1460 1460 { 1461 1461 dismissContentRelativeChildWindowsWithAnimation(true); … … 1465 1465 updateRemoteAccessibilityRegistration(false); 1466 1466 flushPendingMouseEventCallbacks(); 1467 1467 } 1468 1469 void WebViewImpl::processWillSwap() 1470 { 1471 handleProcessSwapOrExit(); 1472 } 1473 1474 void WebViewImpl::processDidExit() 1475 { 1476 handleProcessSwapOrExit(); 1468 1477 m_gestureController = nullptr; 1469 1478 } -
trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm
r236257 r237615 256 256 void PageClientImpl::processWillSwap() 257 257 { 258 // FIXME: It didn't really exit. 259 m_impl->processDidExit(); 258 m_impl->processWillSwap(); 260 259 } 261 260
Note: See TracChangeset
for help on using the changeset viewer.