From: timothy_horton@apple.com Date: Fri, 25 Jul 2014 01:11:24 +0000 (+0000) Subject: Sometimes WKWebView is blank after resuming the app, until you scroll X-Git-Url: https://git.webkit.org/?p=WebKit-https.git;a=commitdiff_plain;h=79a9135944d74563b7856516eedade78578ddbbb Sometimes WKWebView is blank after resuming the app, until you scroll https://bugs.webkit.org/show_bug.cgi?id=135275 Reviewed by Benjamin Poulain. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::dispatchViewStateChange): If the UI process is waiting for a didUpdateViewState, we need to *always* get a reply from the Web Process, so dispatchViewStateChange should *always* send SetViewState even if nothing changed (so that we get the reply). git-svn-id: https://svn.webkit.org/repository/webkit/trunk@171570 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog index 92ce8a54a870..86af060d1365 100644 --- a/Source/WebKit2/ChangeLog +++ b/Source/WebKit2/ChangeLog @@ -1,3 +1,17 @@ +2014-07-24 Tim Horton + + Sometimes WKWebView is blank after resuming the app, until you scroll + https://bugs.webkit.org/show_bug.cgi?id=135275 + + + Reviewed by Benjamin Poulain. + + * UIProcess/WebPageProxy.cpp: + (WebKit::WebPageProxy::dispatchViewStateChange): + If the UI process is waiting for a didUpdateViewState, we need to *always* + get a reply from the Web Process, so dispatchViewStateChange should *always* + send SetViewState even if nothing changed (so that we get the reply). + 2014-07-24 Simon Fraser [iOS WK2] Header bar on nytimes articles lands in the wrong place after rubberbanding diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp b/Source/WebKit2/UIProcess/WebPageProxy.cpp index 65f7ac6f1936..426e70520c87 100644 --- a/Source/WebKit2/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp @@ -1188,7 +1188,7 @@ void WebPageProxy::dispatchViewStateChange() if (m_viewWasEverInWindow && (changed & ViewState::IsInWindow) && isInWindow()) m_viewStateChangeWantsReply = true; - if (changed) + if (changed || m_viewStateChangeWantsReply) m_process->send(Messages::WebPage::SetViewState(m_viewState, m_viewStateChangeWantsReply), m_pageID); // This must happen after the SetViewState message is sent, to ensure the page visibility event can fire.