Title: [249093] trunk/Source/WebKit
Revision
249093
Author
simon.fra...@apple.com
Date
2019-08-25 23:16:50 -0700 (Sun, 25 Aug 2019)

Log Message

[iOS WK2] Make a strongly-typed TransactionID to replace uint64_t transactionIDs
https://bugs.webkit.org/show_bug.cgi?id=199983

Reviewed by Dean Jackson.

Add TransactionID which is a MonotonicObjectIdentifier<TransactionIDType>. This is modeled
after ObjectIdentifier<>, but we can't use that because it doesn't have a guarantee of
values always increasing by 1 (all derived classes share the same value source). Also, we
need a per-RemoteLayerTreeDrawingArea set of values, but a static seed would cause values to
be incremented by all RemoteLayerTreeDrawingAreas in a WebProcess.

Replace all the bare uint64_t with TransactionID, fixing message generation codegen.

* Scripts/webkit/messages.py:
* Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::transactionID const):
(WebKit::RemoteLayerTreeTransaction::setTransactionID):
* Shared/TransactionID.h: Added.
(WebKit::MonotonicObjectIdentifier::MonotonicObjectIdentifier):
(WebKit::MonotonicObjectIdentifier::isHashTableDeletedValue const):
(WebKit::MonotonicObjectIdentifier::encode const):
(WebKit::MonotonicObjectIdentifier::decode):
(WebKit::MonotonicObjectIdentifier::operator== const):
(WebKit::MonotonicObjectIdentifier::operator> const):
(WebKit::MonotonicObjectIdentifier::operator>= const):
(WebKit::MonotonicObjectIdentifier::operator< const):
(WebKit::MonotonicObjectIdentifier::operator<= const):
(WebKit::MonotonicObjectIdentifier::operator!= const):
(WebKit::MonotonicObjectIdentifier::increment):
(WebKit::MonotonicObjectIdentifier::next const):
(WebKit::MonotonicObjectIdentifier::toUInt64 const):
(WebKit::MonotonicObjectIdentifier::operator bool const):
(WebKit::MonotonicObjectIdentifier::loggingString const):
(WebKit::MonotonicObjectIdentifier::hashTableDeletedValue):
(WebKit::MonotonicObjectIdentifier::isValidIdentifier):
(WebKit::operator<<):
* Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::lastLayerTreeTransactionID const):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _processWillSwapOrDidExit]):
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in:
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::willCommitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView cleanupInteraction]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::commitPotentialTap):
(WebKit::WebPageProxy::handleTap):
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
(WebKit::RemoteLayerTreeDrawingArea::nextTransactionID const):
(WebKit::RemoteLayerTreeDrawingArea::lastCommittedTransactionID const):
(WebKit::RemoteLayerTreeDrawingArea::takeNextTransactionID):
* WebProcess/WebPage/WebFrame.h:
(WebKit::WebFrame::firstLayerTreeTransactionIDAfterDidCommitLoad const):
(WebKit::WebFrame::setFirstLayerTreeTransactionIDAfterDidCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap):
(WebKit::WebPage::handlePotentialDoubleTapForDoubleClickAtPoint):
(WebKit::WebPage::commitPotentialTap):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (249092 => 249093)


--- trunk/Source/WebKit/ChangeLog	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/ChangeLog	2019-08-26 06:16:50 UTC (rev 249093)
@@ -1,3 +1,75 @@
+2019-08-25  Simon Fraser  <simon.fra...@apple.com>
+
+        [iOS WK2] Make a strongly-typed TransactionID to replace uint64_t transactionIDs
+        https://bugs.webkit.org/show_bug.cgi?id=199983
+
+        Reviewed by Dean Jackson.
+        
+        Add TransactionID which is a MonotonicObjectIdentifier<TransactionIDType>. This is modeled
+        after ObjectIdentifier<>, but we can't use that because it doesn't have a guarantee of
+        values always increasing by 1 (all derived classes share the same value source). Also, we
+        need a per-RemoteLayerTreeDrawingArea set of values, but a static seed would cause values to
+        be incremented by all RemoteLayerTreeDrawingAreas in a WebProcess.
+
+        Replace all the bare uint64_t with TransactionID, fixing message generation codegen.
+
+        * Scripts/webkit/messages.py:
+        * Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
+        (WebKit::RemoteLayerTreeTransaction::transactionID const):
+        (WebKit::RemoteLayerTreeTransaction::setTransactionID):
+        * Shared/TransactionID.h: Added.
+        (WebKit::MonotonicObjectIdentifier::MonotonicObjectIdentifier):
+        (WebKit::MonotonicObjectIdentifier::isHashTableDeletedValue const):
+        (WebKit::MonotonicObjectIdentifier::encode const):
+        (WebKit::MonotonicObjectIdentifier::decode):
+        (WebKit::MonotonicObjectIdentifier::operator== const):
+        (WebKit::MonotonicObjectIdentifier::operator> const):
+        (WebKit::MonotonicObjectIdentifier::operator>= const):
+        (WebKit::MonotonicObjectIdentifier::operator< const):
+        (WebKit::MonotonicObjectIdentifier::operator<= const):
+        (WebKit::MonotonicObjectIdentifier::operator!= const):
+        (WebKit::MonotonicObjectIdentifier::increment):
+        (WebKit::MonotonicObjectIdentifier::next const):
+        (WebKit::MonotonicObjectIdentifier::toUInt64 const):
+        (WebKit::MonotonicObjectIdentifier::operator bool const):
+        (WebKit::MonotonicObjectIdentifier::loggingString const):
+        (WebKit::MonotonicObjectIdentifier::hashTableDeletedValue):
+        (WebKit::MonotonicObjectIdentifier::isValidIdentifier):
+        (WebKit::operator<<):
+        * Shared/VisibleContentRectUpdateInfo.h:
+        (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
+        (WebKit::VisibleContentRectUpdateInfo::lastLayerTreeTransactionID const):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _processWillSwapOrDidExit]):
+        * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
+        * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in:
+        * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::willCommitLayerTree):
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::resetState):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/ios/WKContentViewInteraction.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView cleanupInteraction]):
+        * UIProcess/ios/WebPageProxyIOS.mm:
+        (WebKit::WebPageProxy::commitPotentialTap):
+        (WebKit::WebPageProxy::handleTap):
+        * WebKit.xcodeproj/project.pbxproj:
+        * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
+        (WebKit::RemoteLayerTreeDrawingArea::nextTransactionID const):
+        (WebKit::RemoteLayerTreeDrawingArea::lastCommittedTransactionID const):
+        (WebKit::RemoteLayerTreeDrawingArea::takeNextTransactionID):
+        * WebProcess/WebPage/WebFrame.h:
+        (WebKit::WebFrame::firstLayerTreeTransactionIDAfterDidCommitLoad const):
+        (WebKit::WebFrame::setFirstLayerTreeTransactionIDAfterDidCommitLoad):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::handleTap):
+        (WebKit::WebPage::handlePotentialDoubleTapForDoubleClickAtPoint):
+        (WebKit::WebPage::commitPotentialTap):
+
 2019-08-24  Chris Dumez  <cdu...@apple.com>
 
         Make CacheStorageEngineCaches's decodeCachesNames() more robust against bad input data

Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (249092 => 249093)


--- trunk/Source/WebKit/Scripts/webkit/messages.py	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py	2019-08-26 06:16:50 UTC (rev 249093)
@@ -217,6 +217,7 @@
         'WebCore::SWServerConnectionIdentifier',
         'WebKit::ActivityStateChangeID',
         'WebKit::LayerHostingContextID',
+        'WebKit::TransactionID',
         'WebKit::StorageAreaIdentifier',
         'WebKit::StorageAreaImplIdentifier',
         'WebKit::StorageNamespaceIdentifier',

Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h (249092 => 249093)


--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -31,6 +31,7 @@
 #include "GenericCallback.h"
 #include "PlatformCAAnimationRemote.h"
 #include "RemoteLayerBackingStore.h"
+#include "TransactionID.h"
 #include <WebCore/Color.h>
 #include <WebCore/FilterOperations.h>
 #include <WebCore/FloatPoint3D.h>
@@ -264,8 +265,8 @@
     bool avoidsUnsafeArea() const { return m_avoidsUnsafeArea; }
     void setAvoidsUnsafeArea(bool avoidsUnsafeArea) { m_avoidsUnsafeArea = avoidsUnsafeArea; }
 
-    uint64_t transactionID() const { return m_transactionID; }
-    void setTransactionID(uint64_t transactionID) { m_transactionID = transactionID; }
+    TransactionID transactionID() const { return m_transactionID; }
+    void setTransactionID(TransactionID transactionID) { m_transactionID = transactionID; }
 
     ActivityStateChangeID activityStateChangeID() const { return m_activityStateChangeID; }
     void setActivityStateChangeID(ActivityStateChangeID activityStateChangeID) { m_activityStateChangeID = activityStateChangeID; }
@@ -309,7 +310,7 @@
     double m_initialScaleFactor { 1 };
     double m_viewportMetaTagWidth { -1 };
     uint64_t m_renderTreeSize { 0 };
-    uint64_t m_transactionID { 0 };
+    TransactionID m_transactionID;
     ActivityStateChangeID m_activityStateChangeID { ActivityStateChangeAsynchronous };
     OptionSet<WebCore::LayoutMilestone> m_newlyReachedPaintingMilestones;
     bool m_scaleWasSetByUIProcess { false };

Added: trunk/Source/WebKit/Shared/TransactionID.h (0 => 249093)


--- trunk/Source/WebKit/Shared/TransactionID.h	                        (rev 0)
+++ trunk/Source/WebKit/Shared/TransactionID.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/HashFunctions.h>
+#include <wtf/HashTraits.h>
+#include <wtf/Optional.h>
+#include <wtf/text/TextStream.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebKit {
+
+template<typename T> class MonotonicObjectIdentifier {
+public:
+    MonotonicObjectIdentifier() = default;
+
+    MonotonicObjectIdentifier(WTF::HashTableDeletedValueType)
+        : m_identifier(hashTableDeletedValue())
+    { }
+
+    bool isHashTableDeletedValue() const { return m_identifier == hashTableDeletedValue(); }
+
+    template<typename Encoder> void encode(Encoder& encoder) const
+    {
+        ASSERT(isValidIdentifier(m_identifier));
+        encoder << m_identifier;
+    }
+    template<typename Decoder> static Optional<MonotonicObjectIdentifier> decode(Decoder& decoder)
+    {
+        Optional<uint64_t> identifier;
+        decoder >> identifier;
+        if (!identifier)
+            return WTF::nullopt;
+        ASSERT(isValidIdentifier(*identifier));
+        return MonotonicObjectIdentifier { *identifier };
+    }
+
+    bool operator==(const MonotonicObjectIdentifier& other) const
+    {
+        return m_identifier == other.m_identifier;
+    }
+
+    bool operator>(const MonotonicObjectIdentifier& other) const
+    {
+        return m_identifier > other.m_identifier;
+    }
+
+    bool operator>=(const MonotonicObjectIdentifier& other) const
+    {
+        return m_identifier >= other.m_identifier;
+    }
+
+    bool operator<(const MonotonicObjectIdentifier& other) const
+    {
+        return m_identifier < other.m_identifier;
+    }
+
+    bool operator<=(const MonotonicObjectIdentifier& other) const
+    {
+        return m_identifier <= other.m_identifier;
+    }
+
+    bool operator!=(const MonotonicObjectIdentifier& other) const
+    {
+        return m_identifier != other.m_identifier;
+    }
+
+    MonotonicObjectIdentifier& increment()
+    {
+        ++m_identifier;
+        return *this;
+    }
+
+    MonotonicObjectIdentifier next() const
+    {
+        return MonotonicObjectIdentifier(m_identifier + 1);
+    }
+
+    uint64_t toUInt64() const { return m_identifier; }
+    explicit operator bool() const { return m_identifier; }
+
+    String loggingString() const
+    {
+        return String::number(m_identifier);
+    }
+
+private:
+    template<typename U> friend MonotonicObjectIdentifier<U> makeMonotonicObjectIdentifier(uint64_t);
+    friend struct HashTraits<MonotonicObjectIdentifier>;
+    template<typename U> friend struct MonotonicObjectIdentifierHash;
+
+    static uint64_t hashTableDeletedValue() { return std::numeric_limits<uint64_t>::max(); }
+    static bool isValidIdentifier(uint64_t identifier) { return identifier != hashTableDeletedValue(); }
+
+    explicit MonotonicObjectIdentifier(uint64_t identifier)
+        : m_identifier(identifier)
+    {
+    }
+
+    uint64_t m_identifier { 0 };
+};
+
+template<typename T>
+TextStream& operator<<(TextStream& ts, const MonotonicObjectIdentifier<T>& identifier)
+{
+    ts << identifier.toUInt64();
+    return ts;
+}
+
+enum TransactionIDType { };
+using TransactionID = MonotonicObjectIdentifier<TransactionIDType>;
+
+}

Modified: trunk/Source/WebKit/Shared/VisibleContentRectUpdateInfo.h (249092 => 249093)


--- trunk/Source/WebKit/Shared/VisibleContentRectUpdateInfo.h	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/Shared/VisibleContentRectUpdateInfo.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -25,6 +25,7 @@
 
 #pragma once
 
+#include "TransactionID.h"
 #include <WebCore/FloatRect.h>
 #include <WebCore/LengthBox.h>
 #include <WebCore/VelocityData.h>
@@ -46,7 +47,7 @@
 public:
     VisibleContentRectUpdateInfo() = default;
 
-    VisibleContentRectUpdateInfo(const WebCore::FloatRect& exposedContentRect, const WebCore::FloatRect& unobscuredContentRect, const WebCore::FloatBoxExtent& contentInsets, const WebCore::FloatRect& unobscuredRectInScrollViewCoordinates, const WebCore::FloatRect& unobscuredContentRectRespectingInputViewBounds, const WebCore::FloatRect& customFixedPositionRect, const WebCore::FloatBoxExtent& obscuredInsets, const WebCore::FloatBoxExtent& unobscuredSafeAreaInsets, double scale, bool inStableState, bool isFirstUpdateForNewViewSize, bool isChangingObscuredInsetsInteractively, bool allowShrinkToFit, bool enclosedInScrollableAncestorView, const WebCore::VelocityData& scrollVelocity, uint64_t lastLayerTreeTransactionId)
+    VisibleContentRectUpdateInfo(const WebCore::FloatRect& exposedContentRect, const WebCore::FloatRect& unobscuredContentRect, const WebCore::FloatBoxExtent& contentInsets, const WebCore::FloatRect& unobscuredRectInScrollViewCoordinates, const WebCore::FloatRect& unobscuredContentRectRespectingInputViewBounds, const WebCore::FloatRect& customFixedPositionRect, const WebCore::FloatBoxExtent& obscuredInsets, const WebCore::FloatBoxExtent& unobscuredSafeAreaInsets, double scale, bool inStableState, bool isFirstUpdateForNewViewSize, bool isChangingObscuredInsetsInteractively, bool allowShrinkToFit, bool enclosedInScrollableAncestorView, const WebCore::VelocityData& scrollVelocity, TransactionID lastLayerTreeTransactionId)
         : m_exposedContentRect(exposedContentRect)
         , m_unobscuredContentRect(unobscuredContentRect)
         , m_contentInsets(contentInsets)
@@ -82,7 +83,7 @@
     bool isChangingObscuredInsetsInteractively() const { return m_isChangingObscuredInsetsInteractively; }
     bool allowShrinkToFit() const { return m_allowShrinkToFit; }
     bool enclosedInScrollableAncestorView() const { return m_enclosedInScrollableAncestorView; }
-    uint64_t lastLayerTreeTransactionID() const { return m_lastLayerTreeTransactionID; }
+    TransactionID lastLayerTreeTransactionID() const { return m_lastLayerTreeTransactionID; }
 
     MonotonicTime timestamp() const { return m_scrollVelocity.lastUpdateTime; }
 
@@ -101,7 +102,7 @@
     WebCore::FloatBoxExtent m_obscuredInsets;
     WebCore::FloatBoxExtent m_unobscuredSafeAreaInsets;
     WebCore::VelocityData m_scrollVelocity;
-    uint64_t m_lastLayerTreeTransactionID { 0 };
+    TransactionID m_lastLayerTreeTransactionID;
     double m_scale { -1 };
     bool m_inStableState { false };
     bool m_isFirstUpdateForNewViewSize { false };

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2019-08-26 06:16:50 UTC (rev 249093)
@@ -316,7 +316,7 @@
 
     BOOL _hasCommittedLoadForMainFrame;
     BOOL _needsResetViewStateAfterCommitLoadForMainFrame;
-    uint64_t _firstPaintAfterCommitLoadTransactionID;
+    WebKit::TransactionID _firstPaintAfterCommitLoadTransactionID;
     WebKit::DynamicViewportUpdateMode _dynamicViewportUpdateMode;
     WebKit::DynamicViewportSizeUpdateID _currentDynamicViewportSizeUpdateID;
     CATransform3D _resizeAnimationTransformAdjustments;
@@ -331,7 +331,7 @@
     WebCore::FloatBoxExtent _obscuredInsetsWhenSaved;
 
     Optional<WebCore::FloatPoint> _unobscuredCenterToRestore;
-    Optional<uint64_t> _firstTransactionIDAfterPageRestore;
+    Optional<WebKit::TransactionID> _firstTransactionIDAfterPageRestore;
     double _scaleToRestore;
 
     std::unique_ptr<WebKit::ViewGestureController> _gestureController;
@@ -1883,7 +1883,7 @@
     _frozenVisibleContentRect = WTF::nullopt;
     _frozenUnobscuredContentRect = WTF::nullopt;
 
-    _firstPaintAfterCommitLoadTransactionID = 0;
+    _firstPaintAfterCommitLoadTransactionID = { };
     _firstTransactionIDAfterPageRestore = WTF::nullopt;
 
     _hasScheduledVisibleRectUpdate = NO;

Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -27,6 +27,7 @@
 
 #include "DrawingAreaProxy.h"
 #include "RemoteLayerTreeHost.h"
+#include "TransactionID.h"
 #include <WebCore/FloatPoint.h>
 #include <WebCore/IntPoint.h>
 #include <WebCore/IntSize.h>
@@ -49,8 +50,8 @@
     void acceleratedAnimationDidStart(uint64_t layerID, const String& key, MonotonicTime startTime);
     void acceleratedAnimationDidEnd(uint64_t layerID, const String& key);
 
-    uint64_t nextLayerTreeTransactionID() const { return m_pendingLayerTreeTransactionID + 1; }
-    uint64_t lastCommittedLayerTreeTransactionID() const { return m_transactionIDForPendingCACommit; }
+    TransactionID nextLayerTreeTransactionID() const { return m_pendingLayerTreeTransactionID.next(); }
+    TransactionID lastCommittedLayerTreeTransactionID() const { return m_transactionIDForPendingCACommit; }
 
     void didRefreshDisplay();
     
@@ -96,7 +97,7 @@
     void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
 
     // Message handlers
-    void willCommitLayerTree(uint64_t transactionID);
+    void willCommitLayerTree(TransactionID);
     void commitLayerTree(const RemoteLayerTreeTransaction&, const RemoteScrollingCoordinatorTransaction&);
     
     void sendUpdateGeometry();
@@ -112,10 +113,10 @@
     RetainPtr<CALayer> m_tileMapHostLayer;
     RetainPtr<CALayer> m_exposedRectIndicatorLayer;
 
-    uint64_t m_pendingLayerTreeTransactionID { 0 };
-    uint64_t m_lastVisibleTransactionID { 0 };
-    uint64_t m_transactionIDForPendingCACommit { 0 };
-    uint64_t m_transactionIDForUnhidingContent { 0 };
+    TransactionID m_pendingLayerTreeTransactionID;
+    TransactionID m_lastVisibleTransactionID;
+    TransactionID m_transactionIDForPendingCACommit;
+    TransactionID m_transactionIDForUnhidingContent;
     ActivityStateChangeID m_activityStateChangeID { ActivityStateChangeAsynchronous };
 
     CallbackMap m_callbacks;

Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in	2019-08-26 06:16:50 UTC (rev 249093)
@@ -21,6 +21,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 messages -> RemoteLayerTreeDrawingAreaProxy : DrawingAreaProxy {
-    void WillCommitLayerTree(uint64_t transactionID)
+    void WillCommitLayerTree(WebKit::TransactionID transactionID)
     void CommitLayerTree(WebKit::RemoteLayerTreeTransaction layerTreeTransaction, WebKit::RemoteScrollingCoordinatorTransaction scrollingTreeTransaction)
 }

Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm	2019-08-26 06:16:50 UTC (rev 249093)
@@ -183,7 +183,7 @@
     m_isWaitingForDidUpdateGeometry = true;
 }
 
-void RemoteLayerTreeDrawingAreaProxy::willCommitLayerTree(uint64_t transactionID)
+void RemoteLayerTreeDrawingAreaProxy::willCommitLayerTree(TransactionID transactionID)
 {
     m_pendingLayerTreeTransactionID = transactionID;
 }
@@ -195,7 +195,7 @@
     LOG(RemoteLayerTree, "%s", layerTreeTransaction.description().data());
     LOG(RemoteLayerTree, "%s", scrollingTreeTransaction.description().data());
 
-    ASSERT(layerTreeTransaction.transactionID() == m_lastVisibleTransactionID + 1);
+    ASSERT(layerTreeTransaction.transactionID() == m_lastVisibleTransactionID.next());
     m_transactionIDForPendingCACommit = layerTreeTransaction.transactionID();
     m_activityStateChangeID = layerTreeTransaction.activityStateChangeID();
 

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-08-26 06:16:50 UTC (rev 249093)
@@ -7043,8 +7043,8 @@
 #endif
 
 #if PLATFORM(IOS_FAMILY)
-    m_firstLayerTreeTransactionIdAfterDidCommitLoad = 0;
-    m_lastVisibleContentRectUpdate = VisibleContentRectUpdateInfo();
+    m_firstLayerTreeTransactionIdAfterDidCommitLoad = { };
+    m_lastVisibleContentRectUpdate = { };
     m_hasNetworkRequestsOnSuspended = false;
     m_isKeyboardAnimatingIn = false;
     m_isScrollingOrZooming = false;

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -47,6 +47,7 @@
 #include "SuspendedPageProxy.h"
 #include "SyntheticEditingCommandType.h"
 #include "SystemPreviewController.h"
+#include "TransactionID.h"
 #include "UserMediaPermissionRequestManagerProxy.h"
 #include "VisibleContentRectUpdateInfo.h"
 #include "VisibleWebPageCounter.h"
@@ -666,7 +667,7 @@
     void setDeviceOrientation(int32_t);
     int32_t deviceOrientation() const { return m_deviceOrientation; }
     void setOverrideViewportArguments(const Optional<WebCore::ViewportArguments>&);
-    void willCommitLayerTree(uint64_t transactionID);
+    void willCommitLayerTree(TransactionID);
 
     void selectWithGesture(const WebCore::IntPoint, WebCore::TextGranularity, uint32_t gestureType, uint32_t gestureState, bool isInteractingWithFocusedElement, WTF::Function<void(const WebCore::IntPoint&, uint32_t, uint32_t, uint32_t, CallbackBase::Error)>&&);
     void updateSelectionWithTouches(const WebCore::IntPoint, uint32_t touches, bool baseIsStart, WTF::Function<void (const WebCore::IntPoint&, uint32_t, uint32_t, CallbackBase::Error)>&&);
@@ -1221,12 +1222,12 @@
     void willStartUserTriggeredZooming();
 
     void potentialTapAtPosition(const WebCore::FloatPoint&, bool shouldRequestMagnificationInformation, uint64_t& requestID);
-    void commitPotentialTap(OptionSet<WebKit::WebEvent::Modifier>, uint64_t layerTreeTransactionIdAtLastTouchStart, WebCore::PointerID);
+    void commitPotentialTap(OptionSet<WebKit::WebEvent::Modifier>, TransactionID layerTreeTransactionIdAtLastTouchStart, WebCore::PointerID);
     void cancelPotentialTap();
     void tapHighlightAtPosition(const WebCore::FloatPoint&, uint64_t& requestID);
-    void handleTap(const WebCore::FloatPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t layerTreeTransactionIdAtLastTouchStart);
+    void handleTap(const WebCore::FloatPoint&, OptionSet<WebKit::WebEvent::Modifier>, TransactionID layerTreeTransactionIdAtLastTouchStart);
     void didRecognizeLongPress();
-    void handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint&, OptionSet<WebEvent::Modifier>, uint64_t layerTreeTransactionIdAtLastTouchStart);
+    void handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint&, OptionSet<WebEvent::Modifier>, TransactionID layerTreeTransactionIdAtLastTouchStart);
 
     void inspectorNodeSearchMovedToPosition(const WebCore::FloatPoint&);
     void inspectorNodeSearchEndedAtPosition(const WebCore::FloatPoint&);
@@ -2180,7 +2181,7 @@
     Optional<WebCore::InputMode> m_pendingInputModeChange;
     Optional<WebCore::ViewportArguments> m_overrideViewportArguments;
     VisibleContentRectUpdateInfo m_lastVisibleContentRectUpdate;
-    uint64_t m_firstLayerTreeTransactionIdAfterDidCommitLoad { 0 };
+    TransactionID m_firstLayerTreeTransactionIdAfterDidCommitLoad;
     int32_t m_deviceOrientation { 0 };
     bool m_hasReceivedLayerTreeTransactionAfterDidCommitLoad { true };
     bool m_hasNetworkRequestsOnSuspended { false };

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -38,6 +38,7 @@
 #import "InteractionInformationAtPosition.h"
 #import "SyntheticEditingCommandType.h"
 #import "TextCheckingController.h"
+#import "TransactionID.h"
 #import "UIKitSPI.h"
 #import "WKActionSheetAssistant.h"
 #import "WKAirPlayRoutePicker.h"
@@ -293,7 +294,7 @@
     BlockPtr<void(::WebEvent *, BOOL)> _keyWebEventHandler;
 
     CGPoint _lastInteractionLocation;
-    uint64_t _layerTreeTransactionIdAtLastTouchStart;
+    WebKit::TransactionID _layerTreeTransactionIdAtLastTouchStart;
 
     WebKit::WKSelectionDrawingInfo _lastSelectionDrawingInfo;
 

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2019-08-26 06:16:50 UTC (rev 249093)
@@ -909,7 +909,7 @@
     [self removeGestureRecognizer:_touchActionGestureRecognizer.get()];
 #endif
 
-    _layerTreeTransactionIdAtLastTouchStart = 0;
+    _layerTreeTransactionIdAtLastTouchStart = { };
 
 #if ENABLE(DATA_INTERACTION)
     [existingLocalDragSessionContext(_dragDropInteractionState.dragSession()) cleanUpTemporaryDirectories];

Modified: trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (249092 => 249093)


--- trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm	2019-08-26 06:16:50 UTC (rev 249093)
@@ -815,7 +815,7 @@
     process().send(Messages::WebPage::PotentialTapAtPosition(requestID, position, shouldRequestMagnificationInformation), m_pageID);
 }
 
-void WebPageProxy::commitPotentialTap(OptionSet<WebEvent::Modifier> modifiers, uint64_t layerTreeTransactionIdAtLastTouchStart, WebCore::PointerID pointerId)
+void WebPageProxy::commitPotentialTap(OptionSet<WebEvent::Modifier> modifiers, TransactionID layerTreeTransactionIdAtLastTouchStart, WebCore::PointerID pointerId)
 {
     process().send(Messages::WebPage::CommitPotentialTap(modifiers, layerTreeTransactionIdAtLastTouchStart, pointerId), m_pageID);
 }
@@ -830,7 +830,7 @@
     process().send(Messages::WebPage::TapHighlightAtPosition(requestID, position), m_pageID);
 }
 
-void WebPageProxy::handleTap(const FloatPoint& location, OptionSet<WebEvent::Modifier> modifiers, uint64_t layerTreeTransactionIdAtLastTouchStart)
+void WebPageProxy::handleTap(const FloatPoint& location, OptionSet<WebEvent::Modifier> modifiers, TransactionID layerTreeTransactionIdAtLastTouchStart)
 {
     process().send(Messages::WebPage::HandleTap(roundedIntPoint(location), modifiers, layerTreeTransactionIdAtLastTouchStart), m_pageID);
 }
@@ -840,7 +840,7 @@
     process().send(Messages::WebPage::DidRecognizeLongPress(), m_pageID);
 }
 
-void WebPageProxy::handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, uint64_t layerTreeTransactionIdAtLastTouchStart)
+void WebPageProxy::handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, TransactionID layerTreeTransactionIdAtLastTouchStart)
 {
     process().send(Messages::WebPage::HandleDoubleTapForDoubleClickAtPoint(point, modifiers, layerTreeTransactionIdAtLastTouchStart), m_pageID);
 }

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (249092 => 249093)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2019-08-26 06:16:50 UTC (rev 249093)
@@ -1959,6 +1959,7 @@
 		0F08CF531D63C14000B48DF1 /* WKFormSelectPopover.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKFormSelectPopover.h; path = ios/forms/WKFormSelectPopover.h; sourceTree = "<group>"; };
 		0F0C365718C051BA00F607D7 /* RemoteLayerTreeHostIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteLayerTreeHostIOS.mm; sourceTree = "<group>"; };
 		0F0C365B18C05CA100F607D7 /* RemoteScrollingCoordinatorProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteScrollingCoordinatorProxyIOS.mm; sourceTree = "<group>"; };
+		0F11781422E39BE6008BD570 /* TransactionID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransactionID.h; sourceTree = "<group>"; };
 		0F174AA2142A4CB60039250F /* APIGeometry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIGeometry.h; sourceTree = "<group>"; };
 		0F174AA6142AAC610039250F /* WKGeometry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKGeometry.cpp; sourceTree = "<group>"; };
 		0F3C7257196F5F5000AEDD0C /* WKInspectorHighlightView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKInspectorHighlightView.mm; sourceTree = "<group>"; };
@@ -5299,6 +5300,7 @@
 				2FD43B911FA006A10083F51C /* TouchBarMenuData.h */,
 				2F809DD51FBD1BC9005FE63A /* TouchBarMenuItemData.cpp */,
 				2F809DD91FBD1BF2005FE63A /* TouchBarMenuItemData.h */,
+				0F11781422E39BE6008BD570 /* TransactionID.h */,
 				5C4B9D8A210A8C46008F14D1 /* UndoOrRedo.h */,
 				1A64245D12DE29A100CAAE2C /* UpdateInfo.cpp */,
 				1A64245C12DE29A100CAAE2C /* UpdateInfo.h */,

Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h (249092 => 249093)


--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -51,8 +51,8 @@
     RemoteLayerTreeDrawingArea(WebPage&, const WebPageCreationParameters&);
     virtual ~RemoteLayerTreeDrawingArea();
 
-    uint64_t nextTransactionID() const { return m_currentTransactionID + 1; }
-    uint64_t lastCommittedTransactionID() const { return m_currentTransactionID; }
+    TransactionID nextTransactionID() const { return m_currentTransactionID.next(); }
+    TransactionID lastCommittedTransactionID() const { return m_currentTransactionID; }
 
 private:
     // DrawingArea
@@ -119,7 +119,7 @@
 
     WebCore::TiledBacking* mainFrameTiledBacking() const;
 
-    uint64_t takeNextTransactionID() { return ++m_currentTransactionID; }
+    TransactionID takeNextTransactionID() { return m_currentTransactionID.increment(); }
 
     bool markLayersVolatileImmediatelyIfPossible() override;
 
@@ -169,7 +169,7 @@
     HashSet<RemoteLayerTreeDisplayRefreshMonitor*> m_displayRefreshMonitors;
     HashSet<RemoteLayerTreeDisplayRefreshMonitor*>* m_displayRefreshMonitorsToNotify { nullptr };
 
-    uint64_t m_currentTransactionID { 0 };
+    TransactionID m_currentTransactionID;
     Vector<RemoteLayerTreeTransaction::TransactionCallbackID> m_pendingCallbackIDs;
     ActivityStateChangeID m_activityStateChangeID { ActivityStateChangeAsynchronous };
 

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebFrame.h (249092 => 249093)


--- trunk/Source/WebKit/WebProcess/WebPage/WebFrame.h	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebFrame.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -28,6 +28,7 @@
 #include "APIObject.h"
 #include "DownloadID.h"
 #include "ShareableBitmap.h"
+#include "TransactionID.h"
 #include "WKBase.h"
 #include "WebFrameLoaderClient.h"
 #include <_javascript_Core/ConsoleTypes.h>
@@ -167,8 +168,8 @@
     RefPtr<ShareableBitmap> createSelectionSnapshot() const;
 
 #if PLATFORM(IOS_FAMILY)
-    uint64_t firstLayerTreeTransactionIDAfterDidCommitLoad() const { return m_firstLayerTreeTransactionIDAfterDidCommitLoad; }
-    void setFirstLayerTreeTransactionIDAfterDidCommitLoad(uint64_t transactionID) { m_firstLayerTreeTransactionIDAfterDidCommitLoad = transactionID; }
+    TransactionID firstLayerTreeTransactionIDAfterDidCommitLoad() const { return m_firstLayerTreeTransactionIDAfterDidCommitLoad; }
+    void setFirstLayerTreeTransactionIDAfterDidCommitLoad(TransactionID transactionID) { m_firstLayerTreeTransactionIDAfterDidCommitLoad = transactionID; }
 #endif
 
 private:
@@ -190,7 +191,7 @@
     WebCore::FrameIdentifier m_frameID;
 
 #if PLATFORM(IOS_FAMILY)
-    uint64_t m_firstLayerTreeTransactionIDAfterDidCommitLoad { 0 };
+    TransactionID m_firstLayerTreeTransactionIDAfterDidCommitLoad;
 #endif
 };
 

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (249092 => 249093)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2019-08-26 06:16:50 UTC (rev 249093)
@@ -632,15 +632,15 @@
     bool allowsUserScaling() const;
     bool hasStablePageScaleFactor() const { return m_hasStablePageScaleFactor; }
 
-    void handleTap(const WebCore::IntPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t lastLayerTreeTransactionId);
+    void handleTap(const WebCore::IntPoint&, OptionSet<WebKit::WebEvent::Modifier>, TransactionID lastLayerTreeTransactionId);
     void potentialTapAtPosition(uint64_t requestID, const WebCore::FloatPoint&, bool shouldRequestMagnificationInformation);
-    void commitPotentialTap(OptionSet<WebKit::WebEvent::Modifier>, uint64_t lastLayerTreeTransactionId, WebCore::PointerID);
+    void commitPotentialTap(OptionSet<WebKit::WebEvent::Modifier>, TransactionID lastLayerTreeTransactionId, WebCore::PointerID);
     void commitPotentialTapFailed();
     void cancelPotentialTap();
     void cancelPotentialTapInFrame(WebFrame&);
     void tapHighlightAtPosition(uint64_t requestID, const WebCore::FloatPoint&);
     void didRecognizeLongPress();
-    void handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint&, OptionSet<WebKit::WebEvent::Modifier>, uint64_t lastLayerTreeTransactionId);
+    void handleDoubleTapForDoubleClickAtPoint(const WebCore::IntPoint&, OptionSet<WebKit::WebEvent::Modifier>, TransactionID lastLayerTreeTransactionId);
 
     void inspectorNodeSearchMovedToPosition(const WebCore::FloatPoint&);
     void inspectorNodeSearchEndedAtPosition(const WebCore::FloatPoint&);
@@ -1880,7 +1880,7 @@
     FocusedElementIdentifier m_currentFocusedElementIdentifier { 0 };
     Optional<DynamicViewportSizeUpdateID> m_pendingDynamicViewportSizeUpdateID;
     double m_lastTransactionPageScaleFactor { 0 };
-    uint64_t m_lastTransactionIDWithScaleChange { 0 };
+    TransactionID m_lastTransactionIDWithScaleChange;
 
     CompletionHandler<void(InteractionInformationAtPosition&&)> m_pendingSynchronousPositionInformationReply;
 #endif

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (249092 => 249093)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2019-08-26 06:16:50 UTC (rev 249093)
@@ -53,13 +53,13 @@
     SetOverrideViewportArguments(Optional<WebCore::ViewportArguments> arguments)
     DynamicViewportSizeUpdate(WebCore::FloatSize viewLayoutSize, WebCore::FloatSize maximumUnobscuredSize, WebCore::FloatRect targetExposedContentRect, WebCore::FloatRect targetUnobscuredRect, WebCore::FloatRect targetUnobscuredRectInScrollViewCoordinates, WebCore::RectEdges<float> targetUnobscuredSafeAreaInsets, double scale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID)
 
-    HandleTap(WebCore::IntPoint point, OptionSet<WebKit::WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId)
+    HandleTap(WebCore::IntPoint point, OptionSet<WebKit::WebEvent::Modifier> modifiers, WebKit::TransactionID lastLayerTreeTransactionId)
     PotentialTapAtPosition(uint64_t requestID, WebCore::FloatPoint point, bool shouldRequestMagnificationInformation)
-    CommitPotentialTap(OptionSet<WebKit::WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId, WebCore::PointerID pointerId)
+    CommitPotentialTap(OptionSet<WebKit::WebEvent::Modifier> modifiers, WebKit::TransactionID lastLayerTreeTransactionId, WebCore::PointerID pointerId)
     CancelPotentialTap()
     TapHighlightAtPosition(uint64_t requestID, WebCore::FloatPoint point)
     DidRecognizeLongPress()
-    HandleDoubleTapForDoubleClickAtPoint(WebCore::IntPoint point, OptionSet<WebKit::WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId)
+    HandleDoubleTapForDoubleClickAtPoint(WebCore::IntPoint point, OptionSet<WebKit::WebEvent::Modifier> modifiers, WebKit::TransactionID lastLayerTreeTransactionId)
     InspectorNodeSearchMovedToPosition(WebCore::FloatPoint point)
     InspectorNodeSearchEndedAtPosition(WebCore::FloatPoint point)
     BlurFocusedElement()

Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (249092 => 249093)


--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2019-08-26 01:51:57 UTC (rev 249092)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2019-08-26 06:16:50 UTC (rev 249093)
@@ -815,7 +815,7 @@
     send(Messages::WebPageProxy::DidCompleteSyntheticClick());
 }
 
-void WebPage::handleTap(const IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId)
+void WebPage::handleTap(const IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, TransactionID lastLayerTreeTransactionId)
 {
     FloatPoint adjustedPoint;
     Node* nodeRespondingToClick = m_page->mainFrame().nodeRespondingToClickEvents(point, adjustedPoint);
@@ -835,7 +835,7 @@
         handleSyntheticClick(*nodeRespondingToClick, adjustedPoint, modifiers);
 }
 
-void WebPage::handleDoubleTapForDoubleClickAtPoint(const IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId)
+void WebPage::handleDoubleTapForDoubleClickAtPoint(const IntPoint& point, OptionSet<WebEvent::Modifier> modifiers, TransactionID lastLayerTreeTransactionId)
 {
     FloatPoint adjustedPoint;
     auto* nodeRespondingToDoubleClick = m_page->mainFrame().nodeRespondingToDoubleClickEvent(point, adjustedPoint);
@@ -1073,7 +1073,7 @@
 #endif
 }
 
-void WebPage::commitPotentialTap(OptionSet<WebEvent::Modifier> modifiers, uint64_t lastLayerTreeTransactionId, WebCore::PointerID pointerId)
+void WebPage::commitPotentialTap(OptionSet<WebEvent::Modifier> modifiers, TransactionID lastLayerTreeTransactionId, WebCore::PointerID pointerId)
 {
     auto invalidTargetForSingleClick = !m_potentialTapNode;
     if (!invalidTargetForSingleClick) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to