-
jocelyn.turcotte@digia.com authored
https://bugs.webkit.org/show_bug.cgi?id=97773 Reviewed by Kenneth Rohde Christiansen. During page navigation, WebCore might ask asynchronously the UI process to scroll to an anchor or restored history position and the UI process will return the corresponding visible rect to be rendered by the web process. To avoid rendering tiles for the invalidated area by the new page layout at the wrong position, we should do an extra message round-trip to the UI process before resuming the rendering. Assuming that all messages are handled in order by both the web and UI process, sending the round-trip request in the web process once we sent all scroll requests, contents size and viewport attributes updates and then handling the round-trip response, we make sure that final visible rect request have been handled already. * UIProcess/API/qt/raw/qrawwebview.cpp: (QRawWebViewPrivate::pageTransitionViewportReady): * UIProcess/API/qt/raw/qrawwebview_p_p.h: (QRawWebViewPrivate): * UIProcess/PageClient.h: (PageClient): * UIProcess/PageViewportController.cpp: (WebKit::PageViewportController::pageTransitionViewportReady): (WebKit): * UIProcess/PageViewportController.h: (PageViewportController): * UIProcess/WebPageProxy.h: (WebPageProxy): * UIProcess/WebPageProxy.messages.in: * UIProcess/qt/QtPageClient.cpp: (WebKit::QtPageClient::pageTransitionViewportReady): (WebKit): * UIProcess/qt/QtPageClient.h: (QtPageClient): * UIProcess/qt/WebPageProxyQt.cpp: (WebKit::WebPageProxy::commitPageTransitionViewport): (WebKit): (WebKit::WebPageProxy::pageTransitionViewportReady): * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::WebFrameLoaderClient): (WebKit::WebFrameLoaderClient::dispatchDidLayout): (WebKit::WebFrameLoaderClient::frameLoadCompleted): (WebKit::WebFrameLoaderClient::provisionalLoadStarted): * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: (WebFrameLoaderClient): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didStartPageTransition): (WebKit): (WebKit::WebPage::didCompletePageTransition): * WebProcess/WebPage/WebPage.h: (WebPage): * WebProcess/WebPage/WebPage.messages.in: * WebProcess/WebPage/qt/WebPageQt.cpp: (WebKit::WebPage::commitPageTransitionViewport): (WebKit): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2088a03d