<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[182896] trunk/Source/WebKit2</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/182896">182896</a></dd>
<dt>Author</dt> <dd>timothy_horton@apple.com</dd>
<dt>Date</dt> <dd>2015-04-16 11:25:00 -0700 (Thu, 16 Apr 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Dispatching multiple asynchronous animated resizes in parallel causes page scale to detach from reality
https://bugs.webkit.org/show_bug.cgi?id=143812
&lt;rdar://problem/19866038&gt;

Reviewed by Simon Fraser.

* Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
No cats in transaction (more of these below, too).

* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap):
(WebKit::WebPage::commitPotentialTap):
(WebKit::WebPage::dynamicViewportSizeUpdate):
Add an incrementing ID to dynamicViewportSizeUpdates. The UI process keeps
the current ID, and it is bounced through the Web process (dynamicViewportSizeUpdates)
back to the UI process (dynamicViewportUpdateChangedTarget). If we have
dispatched another dynamicViewportSizeUpdate in the interim, ignore
the intermediate target.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedVisibleContentRectUpdateInfoh">trunk/Source/WebKit2/Shared/VisibleContentRectUpdateInfo.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxymessagesin">trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWebPageProxyIOSmm">trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagemessagesin">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm">trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (182895 => 182896)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-04-16 17:44:13 UTC (rev 182895)
+++ trunk/Source/WebKit2/ChangeLog        2015-04-16 18:25:00 UTC (rev 182896)
</span><span class="lines">@@ -1,3 +1,32 @@
</span><ins>+2015-04-16  Tim Horton  &lt;timothy_horton@apple.com&gt;
+
+        Dispatching multiple asynchronous animated resizes in parallel causes page scale to detach from reality
+        https://bugs.webkit.org/show_bug.cgi?id=143812
+        &lt;rdar://problem/19866038&gt;
+
+        Reviewed by Simon Fraser.
+
+        * Shared/VisibleContentRectUpdateInfo.h:
+        (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
+        No cats in transaction (more of these below, too).
+
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * UIProcess/ios/WebPageProxyIOS.mm:
+        (WebKit::WebPageProxy::dynamicViewportSizeUpdate):
+        (WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::handleTap):
+        (WebKit::WebPage::commitPotentialTap):
+        (WebKit::WebPage::dynamicViewportSizeUpdate):
+        Add an incrementing ID to dynamicViewportSizeUpdates. The UI process keeps
+        the current ID, and it is bounced through the Web process (dynamicViewportSizeUpdates)
+        back to the UI process (dynamicViewportUpdateChangedTarget). If we have
+        dispatched another dynamicViewportSizeUpdate in the interim, ignore
+        the intermediate target.
+
</ins><span class="cx"> 2015-04-16  Sungmann Cho  &lt;sungmann.cho@navercorp.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove PluginController::isPluginVisible().
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedVisibleContentRectUpdateInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/VisibleContentRectUpdateInfo.h (182895 => 182896)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/VisibleContentRectUpdateInfo.h        2015-04-16 17:44:13 UTC (rev 182895)
+++ trunk/Source/WebKit2/Shared/VisibleContentRectUpdateInfo.h        2015-04-16 18:25:00 UTC (rev 182896)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    VisibleContentRectUpdateInfo(const WebCore::FloatRect&amp; exposedRect, const WebCore::FloatRect&amp; unobscuredRect, const WebCore::FloatRect&amp; unobscuredRectInScrollViewCoordinates, const WebCore::FloatRect&amp; customFixedPositionRect, double scale, bool inStableState, bool isChangingObscuredInsetsInteractively, double timestamp, double horizontalVelocity, double verticalVelocity, double scaleChangeRate, uint64_t lastLayerTreeTranscationId)
</del><ins>+    VisibleContentRectUpdateInfo(const WebCore::FloatRect&amp; exposedRect, const WebCore::FloatRect&amp; unobscuredRect, const WebCore::FloatRect&amp; unobscuredRectInScrollViewCoordinates, const WebCore::FloatRect&amp; customFixedPositionRect, double scale, bool inStableState, bool isChangingObscuredInsetsInteractively, double timestamp, double horizontalVelocity, double verticalVelocity, double scaleChangeRate, uint64_t lastLayerTreeTransactionId)
</ins><span class="cx">         : m_exposedRect(exposedRect)
</span><span class="cx">         , m_unobscuredRect(unobscuredRect)
</span><span class="cx">         , m_unobscuredRectInScrollViewCoordinates(unobscuredRectInScrollViewCoordinates)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">         , m_horizontalVelocity(horizontalVelocity)
</span><span class="cx">         , m_verticalVelocity(verticalVelocity)
</span><span class="cx">         , m_scaleChangeRate(scaleChangeRate)
</span><del>-        , m_lastLayerTreeTransactionID(lastLayerTreeTranscationId)
</del><ins>+        , m_lastLayerTreeTransactionID(lastLayerTreeTransactionId)
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (182895 => 182896)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-04-16 17:44:13 UTC (rev 182895)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-04-16 18:25:00 UTC (rev 182896)
</span><span class="lines">@@ -1353,7 +1353,7 @@
</span><span class="cx">     WebCore::FloatSize availableScreenSize();
</span><span class="cx">     float textAutosizingWidth();
</span><span class="cx"> 
</span><del>-    void dynamicViewportUpdateChangedTarget(double newTargetScale, const WebCore::FloatPoint&amp; newScrollPosition);
</del><ins>+    void dynamicViewportUpdateChangedTarget(double newTargetScale, const WebCore::FloatPoint&amp; newScrollPosition, uint64_t dynamicViewportSizeUpdateID);
</ins><span class="cx">     void restorePageState(const WebCore::FloatRect&amp;, double scale);
</span><span class="cx">     void restorePageCenterAndScale(const WebCore::FloatPoint&amp;, double scale);
</span><span class="cx"> 
</span><span class="lines">@@ -1486,6 +1486,7 @@
</span><span class="cx">     bool m_dynamicViewportSizeUpdateWaitingForLayerTreeCommit;
</span><span class="cx">     uint64_t m_dynamicViewportSizeUpdateLayerTreeTransactionID;
</span><span class="cx">     uint64_t m_layerTreeTransactionIdAtLastTouchStart;
</span><ins>+    uint64_t m_currentDynamicViewportSizeUpdateID { 0 };
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIBRATION)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (182895 => 182896)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2015-04-16 17:44:13 UTC (rev 182895)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2015-04-16 18:25:00 UTC (rev 182896)
</span><span class="lines">@@ -358,7 +358,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>-    DynamicViewportUpdateChangedTarget(double newTargetScale, WebCore::FloatPoint newScrollPosition)
</del><ins>+    DynamicViewportUpdateChangedTarget(double newTargetScale, WebCore::FloatPoint newScrollPosition, uint64_t dynamicViewportSizeUpdateID)
</ins><span class="cx">     RestorePageState(WebCore::FloatRect exposedRect, double scale)
</span><span class="cx">     RestorePageCenterAndScale(WebCore::FloatPoint unobscuredCenter, double scale)
</span><span class="cx">     DidGetTapHighlightGeometries(uint64_t requestID, WebCore::Color color, Vector&lt;WebCore::FloatQuad&gt; geometries, WebCore::IntSize topLeftRadius, WebCore::IntSize topRightRadius, WebCore::IntSize bottomLeftRadius, WebCore::IntSize bottomRightRadius)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWebPageProxyIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm (182895 => 182896)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2015-04-16 17:44:13 UTC (rev 182895)
+++ trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2015-04-16 18:25:00 UTC (rev 182896)
</span><span class="lines">@@ -268,7 +268,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_dynamicViewportSizeUpdateWaitingForTarget = true;
</span><span class="cx">     m_dynamicViewportSizeUpdateWaitingForLayerTreeCommit = true;
</span><del>-    m_process-&gt;send(Messages::WebPage::DynamicViewportSizeUpdate(minimumLayoutSize, maximumUnobscuredSize, targetExposedContentRect, targetUnobscuredRect, targetUnobscuredRectInScrollViewCoordinates, targetScale, deviceOrientation), m_pageID);
</del><ins>+    m_process-&gt;send(Messages::WebPage::DynamicViewportSizeUpdate(minimumLayoutSize, maximumUnobscuredSize, targetExposedContentRect, targetUnobscuredRect, targetUnobscuredRectInScrollViewCoordinates, targetScale, deviceOrientation, ++m_currentDynamicViewportSizeUpdateID), m_pageID);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPageProxy::synchronizeDynamicViewportUpdate()
</span><span class="lines">@@ -734,8 +734,11 @@
</span><span class="cx">     return WKGetScreenSize().width;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::dynamicViewportUpdateChangedTarget(double newScale, const WebCore::FloatPoint&amp; newScrollPosition)
</del><ins>+void WebPageProxy::dynamicViewportUpdateChangedTarget(double newScale, const WebCore::FloatPoint&amp; newScrollPosition, uint64_t dynamicViewportSizeUpdateID)
</ins><span class="cx"> {
</span><ins>+    if (dynamicViewportSizeUpdateID != m_currentDynamicViewportSizeUpdateID)
+        return;
+
</ins><span class="cx">     if (m_dynamicViewportSizeUpdateWaitingForTarget) {
</span><span class="cx">         m_dynamicViewportSizeUpdateLayerTreeTransactionID = downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*drawingArea()).nextLayerTreeTransactionID();
</span><span class="cx">         m_dynamicViewportSizeUpdateWaitingForTarget = false;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (182895 => 182896)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-04-16 17:44:13 UTC (rev 182895)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-04-16 18:25:00 UTC (rev 182896)
</span><span class="lines">@@ -479,9 +479,9 @@
</span><span class="cx">     bool allowsUserScaling() const;
</span><span class="cx">     bool hasStablePageScaleFactor() const { return m_hasStablePageScaleFactor; }
</span><span class="cx"> 
</span><del>-    void handleTap(const WebCore::IntPoint&amp;, uint64_t lastLayerTreeTranscationId);
</del><ins>+    void handleTap(const WebCore::IntPoint&amp;, uint64_t lastLayerTreeTransactionId);
</ins><span class="cx">     void potentialTapAtPosition(uint64_t requestID, const WebCore::FloatPoint&amp;);
</span><del>-    void commitPotentialTap(uint64_t lastLayerTreeTranscationId);
</del><ins>+    void commitPotentialTap(uint64_t lastLayerTreeTransactionId);
</ins><span class="cx">     void commitPotentialTapFailed();
</span><span class="cx">     void cancelPotentialTap();
</span><span class="cx">     void tapHighlightAtPosition(uint64_t requestID, const WebCore::FloatPoint&amp;);
</span><span class="lines">@@ -775,7 +775,7 @@
</span><span class="cx">     void setViewportConfigurationMinimumLayoutSize(const WebCore::FloatSize&amp;);
</span><span class="cx">     void setMaximumUnobscuredSize(const WebCore::FloatSize&amp;);
</span><span class="cx">     void setDeviceOrientation(int32_t);
</span><del>-    void dynamicViewportSizeUpdate(const WebCore::FloatSize&amp; minimumLayoutSize, const WebCore::FloatSize&amp; maximumUnobscuredSize, const WebCore::FloatRect&amp; targetExposedContentRect, const WebCore::FloatRect&amp; targetUnobscuredRect, const WebCore::FloatRect&amp; targetUnobscuredRectInScrollViewCoordinates, double scale, int32_t deviceOrientation);
</del><ins>+    void dynamicViewportSizeUpdate(const WebCore::FloatSize&amp; minimumLayoutSize, const WebCore::FloatSize&amp; maximumUnobscuredSize, const WebCore::FloatRect&amp; targetExposedContentRect, const WebCore::FloatRect&amp; targetUnobscuredRect, const WebCore::FloatRect&amp; targetUnobscuredRectInScrollViewCoordinates, double scale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID);
</ins><span class="cx">     void synchronizeDynamicViewportUpdate(double&amp; newTargetScale, WebCore::FloatPoint&amp; newScrollPosition, uint64_t&amp; nextValidLayerTreeTransactionID);
</span><span class="cx">     void updateVisibleContentRects(const VisibleContentRectUpdateInfo&amp;, double oldestTimestamp);
</span><span class="cx">     bool scaleWasSetByUIProcess() const { return m_scaleWasSetByUIProcess; }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagemessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (182895 => 182896)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2015-04-16 17:44:13 UTC (rev 182895)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2015-04-16 18:25:00 UTC (rev 182896)
</span><span class="lines">@@ -46,12 +46,12 @@
</span><span class="cx">     SetViewportConfigurationMinimumLayoutSize(WebCore::FloatSize size)
</span><span class="cx">     SetMaximumUnobscuredSize(WebCore::FloatSize size)
</span><span class="cx">     SetDeviceOrientation(int32_t deviceOrientation)
</span><del>-    DynamicViewportSizeUpdate(WebCore::FloatSize minimumLayoutSize, WebCore::FloatSize maximumUnobscuredSize, WebCore::FloatRect targetExposedContentRect, WebCore::FloatRect targetUnobscuredRect, WebCore::FloatRect targetUnobscuredRectInScrollViewCoordinates, double scale, int32_t deviceOrientation)
</del><ins>+    DynamicViewportSizeUpdate(WebCore::FloatSize minimumLayoutSize, WebCore::FloatSize maximumUnobscuredSize, WebCore::FloatRect targetExposedContentRect, WebCore::FloatRect targetUnobscuredRect, WebCore::FloatRect targetUnobscuredRectInScrollViewCoordinates, double scale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID)
</ins><span class="cx">     SynchronizeDynamicViewportUpdate() -&gt; (double newTargetScale, WebCore::FloatPoint newScrollPosition, uint64_t nextValidLayerTreeTransactionID)
</span><span class="cx"> 
</span><del>-    HandleTap(WebCore::IntPoint point, uint64_t lastLayerTreeTranscationId)
</del><ins>+    HandleTap(WebCore::IntPoint point, uint64_t lastLayerTreeTransactionId)
</ins><span class="cx">     PotentialTapAtPosition(uint64_t requestID, WebCore::FloatPoint point)
</span><del>-    CommitPotentialTap(uint64_t lastLayerTreeTranscationId)
</del><ins>+    CommitPotentialTap(uint64_t lastLayerTreeTransactionId)
</ins><span class="cx">     CancelPotentialTap()
</span><span class="cx">     TapHighlightAtPosition(uint64_t requestID, WebCore::FloatPoint point)
</span><span class="cx">     InspectorNodeSearchMovedToPosition(WebCore::FloatPoint point)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageiosWebPageIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (182895 => 182896)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2015-04-16 17:44:13 UTC (rev 182895)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm        2015-04-16 18:25:00 UTC (rev 182896)
</span><span class="lines">@@ -588,9 +588,9 @@
</span><span class="cx">         send(Messages::WebPageProxy::DidNotHandleTapAsClick(roundedIntPoint(location)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::handleTap(const IntPoint&amp; point, uint64_t lastLayerTreeTranscationId)
</del><ins>+void WebPage::handleTap(const IntPoint&amp; point, uint64_t lastLayerTreeTransactionId)
</ins><span class="cx"> {
</span><del>-    if (lastLayerTreeTranscationId &lt; m_firstLayerTreeTransactionIDAfterDidCommitLoad) {
</del><ins>+    if (lastLayerTreeTransactionId &lt; m_firstLayerTreeTransactionIDAfterDidCommitLoad) {
</ins><span class="cx">         send(Messages::WebPageProxy::DidNotHandleTapAsClick(roundedIntPoint(m_potentialTapLocation)));
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -642,9 +642,9 @@
</span><span class="cx">     sendTapHighlightForNodeIfNecessary(requestID, m_potentialTapNode.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::commitPotentialTap(uint64_t lastLayerTreeTranscationId)
</del><ins>+void WebPage::commitPotentialTap(uint64_t lastLayerTreeTransactionId)
</ins><span class="cx"> {
</span><del>-    if (!m_potentialTapNode || !m_potentialTapNode-&gt;renderer() || lastLayerTreeTranscationId &lt; m_firstLayerTreeTransactionIDAfterDidCommitLoad) {
</del><ins>+    if (!m_potentialTapNode || !m_potentialTapNode-&gt;renderer() || lastLayerTreeTransactionId &lt; m_firstLayerTreeTransactionIDAfterDidCommitLoad) {
</ins><span class="cx">         commitPotentialTapFailed();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -2436,7 +2436,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::dynamicViewportSizeUpdate(const FloatSize&amp; minimumLayoutSize, const WebCore::FloatSize&amp; maximumUnobscuredSize, const FloatRect&amp; targetExposedContentRect, const FloatRect&amp; targetUnobscuredRect, const WebCore::FloatRect&amp; targetUnobscuredRectInScrollViewCoordinates, double targetScale, int32_t deviceOrientation)
</del><ins>+void WebPage::dynamicViewportSizeUpdate(const FloatSize&amp; minimumLayoutSize, const WebCore::FloatSize&amp; maximumUnobscuredSize, const FloatRect&amp; targetExposedContentRect, const FloatRect&amp; targetUnobscuredRect, const WebCore::FloatRect&amp; targetUnobscuredRectInScrollViewCoordinates, double targetScale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID)
</ins><span class="cx"> {
</span><span class="cx">     TemporaryChange&lt;bool&gt; dynamicSizeUpdateGuard(m_inDynamicSizeUpdate, true);
</span><span class="cx">     // FIXME: this does not handle the cases where the content would change the content size or scroll position from JavaScript.
</span><span class="lines">@@ -2600,7 +2600,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_drawingArea-&gt;scheduleCompositingLayerFlush();
</span><span class="cx"> 
</span><del>-    send(Messages::WebPageProxy::DynamicViewportUpdateChangedTarget(pageScaleFactor(), frameView.scrollPosition()));
</del><ins>+    send(Messages::WebPageProxy::DynamicViewportUpdateChangedTarget(pageScaleFactor(), frameView.scrollPosition(), dynamicViewportSizeUpdateID));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPage::synchronizeDynamicViewportUpdate(double&amp; newTargetScale, FloatPoint&amp; newScrollPosition, uint64_t&amp; nextValidLayerTreeTransactionID)
</span></span></pre>
</div>
</div>

</body>
</html>