Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (171465 => 171466)
--- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-23 08:32:50 UTC (rev 171465)
+++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-07-23 08:36:44 UTC (rev 171466)
@@ -1,5 +1,26 @@
2014-07-23 Lucas Forschler <[email protected]>
+ Merge r171368
+
+ 2014-07-22 Benjamin Poulain <[email protected]>
+
+ [iOS][WK2] WebPageProxy should not do anything when responding to an animated resize is the page is not in a valid state
+ https://bugs.webkit.org/show_bug.cgi?id=135169
+ <rdar://problem/17740149>
+
+ Reviewed by Tim Horton.
+
+ * UIProcess/ios/WebPageProxyIOS.mm:
+ (WebKit::WebPageProxy::dynamicViewportSizeUpdate):
+ Neither m_dynamicViewportSizeUpdateWaitingForTarget nor m_dynamicViewportSizeUpdateWaitingForLayerTreeCommit should
+ be modified if there is not WebProcess to respond to DynamicViewportSizeUpdate.
+
+ (WebKit::WebPageProxy::synchronizeDynamicViewportUpdate):
+ We should not attempt to synchronize anything if the page was closed before the end of the dynamic viewport
+ update.
+
+2014-07-23 Lucas Forschler <[email protected]>
+
Merge r171363
2014-07-22 Oliver Hunt <[email protected]>
Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm (171465 => 171466)
--- branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm 2014-07-23 08:32:50 UTC (rev 171465)
+++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm 2014-07-23 08:36:44 UTC (rev 171466)
@@ -253,6 +253,9 @@
void WebPageProxy::dynamicViewportSizeUpdate(const FloatSize& minimumLayoutSize, const WebCore::FloatSize& minimumLayoutSizeForMinimalUI, const WebCore::FloatSize& maximumUnobscuredSize, const FloatRect& targetExposedContentRect, const FloatRect& targetUnobscuredRect, const FloatRect& targetUnobscuredRectInScrollViewCoordinates, double targetScale, int32_t deviceOrientation)
{
+ if (!isValid())
+ return;
+
m_dynamicViewportSizeUpdateWaitingForTarget = true;
m_dynamicViewportSizeUpdateWaitingForLayerTreeCommit = true;
m_process->send(Messages::WebPage::DynamicViewportSizeUpdate(minimumLayoutSize, minimumLayoutSizeForMinimalUI, maximumUnobscuredSize, targetExposedContentRect, targetUnobscuredRect, targetUnobscuredRectInScrollViewCoordinates, targetScale, deviceOrientation), m_pageID);
@@ -260,6 +263,9 @@
void WebPageProxy::synchronizeDynamicViewportUpdate()
{
+ if (!isValid())
+ return;
+
if (m_dynamicViewportSizeUpdateWaitingForTarget) {
// We do not want the UIProcess to finish animated resize with the old content size, scale, etc.
// If that happens, the UIProcess would start pushing new VisibleContentRectUpdateInfo to the WebProcess with