Changeset 246592 in webkit
- Timestamp:
- Jun 19, 2019 10:13:25 AM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r246588 r246592 1 2019-06-19 Alexander Mikhaylenko <exalm7659@gmail.com> 2 3 [GTK] Page blinks after navigation swipe if it triggered PSON 4 https://bugs.webkit.org/show_bug.cgi?id=198996 5 6 Reviewed by Michael Catanzaro. 7 8 Disconnect and then reconnect ViewGestureController during process swap 9 instead of destroying and re-creating it. 10 11 * UIProcess/API/gtk/PageClientImpl.cpp: 12 (WebKit::PageClientImpl::PageClientImpl::processWillSwap): Added. 13 (WebKit::PageClientImpl::PageClientImpl::processDidExit): Implemented. 14 * UIProcess/API/gtk/PageClientImpl.h: 15 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 16 (webkitWebViewBaseWillSwapWebProcess): Added. 17 Disconnect ViewGestureController if it exists. 18 (webkitWebViewBaseDidExitWebProcess): Added. 19 Destroy ViewGestureController. 20 (webkitWebViewBaseDidRelaunchWebProcess): 21 Reconnect the ViewGestureController if it exists. 22 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 23 1 24 2019-06-19 Takashi Komori <Takashi.Komori@sony.com> 2 25 -
trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp
r245807 r246592 119 119 } 120 120 121 void PageClientImpl::PageClientImpl::processWillSwap() 122 { 123 webkitWebViewBaseWillSwapWebProcess(WEBKIT_WEB_VIEW_BASE(m_viewWidget)); 124 } 125 121 126 void PageClientImpl::PageClientImpl::processDidExit() 122 127 { 123 notImplemented();128 webkitWebViewBaseDidExitWebProcess(WEBKIT_WEB_VIEW_BASE(m_viewWidget)); 124 129 } 125 130 -
trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h
r245807 r246592 70 70 bool isViewVisible() override; 71 71 bool isViewInWindow() override; 72 void processWillSwap() override; 72 73 void processDidExit() override; 73 74 void didRelaunchProcess() override; -
trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
r246496 r246592 1701 1701 } 1702 1702 1703 void webkitWebViewBaseWillSwapWebProcess(WebKitWebViewBase* webkitWebViewBase) 1704 { 1705 WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; 1706 1707 if (priv->viewGestureController) 1708 priv->viewGestureController->disconnectFromProcess(); 1709 } 1710 1711 void webkitWebViewBaseDidExitWebProcess(WebKitWebViewBase* webkitWebViewBase) 1712 { 1713 webkitWebViewBase->priv->viewGestureController = nullptr; 1714 } 1715 1703 1716 void webkitWebViewBaseDidRelaunchWebProcess(WebKitWebViewBase* webkitWebViewBase) 1704 1717 { … … 1707 1720 1708 1721 WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; 1709 priv->viewGestureController = std::make_unique<WebKit::ViewGestureController>(*priv->pageProxy); 1710 priv->viewGestureController->setSwipeGestureEnabled(priv->isBackForwardNavigationGestureEnabled); 1722 1723 if (priv->viewGestureController) 1724 priv->viewGestureController->connectToProcess(); 1725 else { 1726 priv->viewGestureController = std::make_unique<WebKit::ViewGestureController>(*priv->pageProxy); 1727 priv->viewGestureController->setSwipeGestureEnabled(priv->isBackForwardNavigationGestureEnabled); 1728 } 1711 1729 } 1712 1730 -
trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h
r245807 r246592 72 72 void webkitWebViewBaseExitAcceleratedCompositingMode(WebKitWebViewBase*); 73 73 bool webkitWebViewBaseMakeGLContextCurrent(WebKitWebViewBase*); 74 void webkitWebViewBaseWillSwapWebProcess(WebKitWebViewBase*); 75 void webkitWebViewBaseDidExitWebProcess(WebKitWebViewBase*); 74 76 void webkitWebViewBaseDidRelaunchWebProcess(WebKitWebViewBase*); 75 77 void webkitWebViewBasePageClosed(WebKitWebViewBase*);
Note: See TracChangeset
for help on using the changeset viewer.