Title: [282756] trunk/Source/WebKit
Revision
282756
Author
commit-qu...@webkit.org
Date
2021-09-20 10:29:33 -0700 (Mon, 20 Sep 2021)

Log Message

Use ObjectIdentifier for WebURLSchemeHandler
https://bugs.webkit.org/show_bug.cgi?id=230462

Patch by Michael Catanzaro <mcatanz...@gnome.org> on 2021-09-20
Reviewed by Alex Christensen.

* Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
* Shared/URLSchemeTaskParameters.cpp:
(WebKit::URLSchemeTaskParameters::decode):
* Shared/URLSchemeTaskParameters.h:
(): Deleted.
* Shared/WebPageCreationParameters.h:
* Shared/WebURLSchemeHandlerIdentifier.h: Copied from Source/WebKit/Shared/URLSchemeTaskParameters.h.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::stopURLSchemeTask):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebURLSchemeHandler.cpp:
(WebKit::WebURLSchemeHandler::WebURLSchemeHandler):
(WebKit::generateWebURLSchemeHandlerIdentifier): Deleted.
* UIProcess/WebURLSchemeHandler.h:
(WebKit::WebURLSchemeHandler::identifier const):
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::registerURLSchemeHandler):
(WebKit::WebPage::urlSchemeTaskWillPerformRedirection):
(WebKit::WebPage::urlSchemeTaskDidPerformRedirection):
(WebKit::WebPage::urlSchemeTaskDidReceiveResponse):
(WebKit::WebPage::urlSchemeTaskDidReceiveData):
(WebKit::WebPage::urlSchemeTaskDidComplete):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp:
(WebKit::WebURLSchemeHandlerProxy::WebURLSchemeHandlerProxy):
* WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
(WebKit::WebURLSchemeHandlerProxy::create):
(WebKit::WebURLSchemeHandlerProxy::identifier const):
(): Deleted.
* WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (282755 => 282756)


--- trunk/Source/WebKit/ChangeLog	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/ChangeLog	2021-09-20 17:29:33 UTC (rev 282756)
@@ -1,3 +1,45 @@
+2021-09-20  Michael Catanzaro  <mcatanz...@gnome.org>
+
+        Use ObjectIdentifier for WebURLSchemeHandler
+        https://bugs.webkit.org/show_bug.cgi?id=230462
+
+        Reviewed by Alex Christensen.
+
+        * Scripts/webkit/messages.py:
+        (types_that_cannot_be_forward_declared):
+        * Shared/URLSchemeTaskParameters.cpp:
+        (WebKit::URLSchemeTaskParameters::decode):
+        * Shared/URLSchemeTaskParameters.h:
+        (): Deleted.
+        * Shared/WebPageCreationParameters.h:
+        * Shared/WebURLSchemeHandlerIdentifier.h: Copied from Source/WebKit/Shared/URLSchemeTaskParameters.h.
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::stopURLSchemeTask):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * UIProcess/WebURLSchemeHandler.cpp:
+        (WebKit::WebURLSchemeHandler::WebURLSchemeHandler):
+        (WebKit::generateWebURLSchemeHandlerIdentifier): Deleted.
+        * UIProcess/WebURLSchemeHandler.h:
+        (WebKit::WebURLSchemeHandler::identifier const):
+        * WebKit.xcodeproj/project.pbxproj:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::registerURLSchemeHandler):
+        (WebKit::WebPage::urlSchemeTaskWillPerformRedirection):
+        (WebKit::WebPage::urlSchemeTaskDidPerformRedirection):
+        (WebKit::WebPage::urlSchemeTaskDidReceiveResponse):
+        (WebKit::WebPage::urlSchemeTaskDidReceiveData):
+        (WebKit::WebPage::urlSchemeTaskDidComplete):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp:
+        (WebKit::WebURLSchemeHandlerProxy::WebURLSchemeHandlerProxy):
+        * WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
+        (WebKit::WebURLSchemeHandlerProxy::create):
+        (WebKit::WebURLSchemeHandlerProxy::identifier const):
+        (): Deleted.
+        * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
+
 2021-09-20  Chris Dumez  <cdu...@apple.com>
 
         Stop using makeRef(*this) / makeRefPtr(this)

Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (282755 => 282756)


--- trunk/Source/WebKit/Scripts/webkit/messages.py	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py	2021-09-20 17:29:33 UTC (rev 282756)
@@ -354,6 +354,7 @@
         'WebKit::TransactionID',
         'WebKit::UserContentControllerIdentifier',
         'WebKit::WebPageProxyIdentifier',
+        'WebKit::WebURLSchemeHandlerIdentifier',
         'WebKit::XRDeviceIdentifier',
     ])
 

Modified: trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp (282755 => 282756)


--- trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp	2021-09-20 17:29:33 UTC (rev 282756)
@@ -47,7 +47,7 @@
 
 std::optional<URLSchemeTaskParameters> URLSchemeTaskParameters::decode(IPC::Decoder& decoder)
 {
-    std::optional<uint64_t> handlerIdentifier;
+    std::optional<WebURLSchemeHandlerIdentifier> handlerIdentifier;
     decoder >> handlerIdentifier;
     if (!handlerIdentifier)
         return std::nullopt;

Modified: trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h (282755 => 282756)


--- trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h	2021-09-20 17:29:33 UTC (rev 282756)
@@ -26,6 +26,7 @@
 #pragma once
 
 #include "FrameInfoData.h"
+#include "WebURLSchemeHandlerIdentifier.h"
 #include <WebCore/ResourceLoaderIdentifier.h>
 #include <WebCore/ResourceRequest.h>
 
@@ -37,7 +38,7 @@
 namespace WebKit {
 
 struct URLSchemeTaskParameters {
-    uint64_t handlerIdentifier { 0 };
+    WebURLSchemeHandlerIdentifier handlerIdentifier;
     WebCore::ResourceLoaderIdentifier taskIdentifier;
     WebCore::ResourceRequest request;
     FrameInfoData frameInfo;

Modified: trunk/Source/WebKit/Shared/WebPageCreationParameters.h (282755 => 282756)


--- trunk/Source/WebKit/Shared/WebPageCreationParameters.h	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/Shared/WebPageCreationParameters.h	2021-09-20 17:29:33 UTC (rev 282756)
@@ -34,6 +34,7 @@
 #include "WebPageGroupData.h"
 #include "WebPageProxyIdentifier.h"
 #include "WebPreferencesStore.h"
+#include "WebURLSchemeHandlerIdentifier.h"
 #include <WebCore/ActivityState.h>
 #include <WebCore/Color.h>
 #include <WebCore/DestinationColorSpace.h>
@@ -201,7 +202,7 @@
     String overrideContentSecurityPolicy;
     std::optional<double> cpuLimit;
 
-    HashMap<String, uint64_t> urlSchemeHandlers;
+    HashMap<String, WebURLSchemeHandlerIdentifier> urlSchemeHandlers;
     Vector<String> urlSchemesWithLegacyCustomProtocolHandlers;
 
 #if ENABLE(APPLICATION_MANIFEST)

Copied: trunk/Source/WebKit/Shared/WebURLSchemeHandlerIdentifier.h (from rev 282755, trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h) (0 => 282756)


--- trunk/Source/WebKit/Shared/WebURLSchemeHandlerIdentifier.h	                        (rev 0)
+++ trunk/Source/WebKit/Shared/WebURLSchemeHandlerIdentifier.h	2021-09-20 17:29:33 UTC (rev 282756)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 Red Hat Inc.
+ *
+ * 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/ObjectIdentifier.h>
+
+namespace WebKit {
+
+class WebURLSchemeHandler;
+
+using WebURLSchemeHandlerIdentifier = ObjectIdentifier<WebURLSchemeHandler>;
+
+}

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (282755 => 282756)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-09-20 17:29:33 UTC (rev 282756)
@@ -10002,7 +10002,7 @@
     iterator->value->startTask(*this, process, webPageID, WTFMove(parameters), nullptr);
 }
 
-void WebPageProxy::stopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier)
+void WebPageProxy::stopURLSchemeTask(WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier)
 {
     MESSAGE_CHECK(m_process, decltype(m_urlSchemeHandlersByIdentifier)::isValidKey(handlerIdentifier));
     auto iterator = m_urlSchemeHandlersByIdentifier.find(handlerIdentifier);

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (282755 => 282756)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2021-09-20 17:29:33 UTC (rev 282756)
@@ -77,6 +77,7 @@
 #include "WebPaymentCoordinatorProxy.h"
 #include "WebPopupMenuProxy.h"
 #include "WebPreferences.h"
+#include "WebURLSchemeHandlerIdentifier.h"
 #include "WebUndoStepID.h"
 #include "WebsitePoliciesData.h"
 #include "WindowKind.h"
@@ -2427,7 +2428,7 @@
 #endif
 
     void startURLSchemeTask(URLSchemeTaskParameters&&);
-    void stopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier);
+    void stopURLSchemeTask(WebURLSchemeHandlerIdentifier, WebCore::ResourceLoaderIdentifier);
     void loadSynchronousURLSchemeTask(URLSchemeTaskParameters&&, Messages::WebPageProxy::LoadSynchronousURLSchemeTaskDelayedReply&&);
 
     bool checkURLReceivedFromCurrentOrPreviousWebProcess(WebProcessProxy&, const String&);
@@ -2981,7 +2982,7 @@
     bool m_preferFasterClickOverDoubleTap { false };
 
     HashMap<String, Ref<WebURLSchemeHandler>> m_urlSchemeHandlersByScheme;
-    HashMap<uint64_t, Ref<WebURLSchemeHandler>> m_urlSchemeHandlersByIdentifier;
+    HashMap<WebURLSchemeHandlerIdentifier, Ref<WebURLSchemeHandler>> m_urlSchemeHandlersByIdentifier;
 
 #if ENABLE(ATTACHMENT_ELEMENT)
     using IdentifierToAttachmentMap = HashMap<String, Ref<API::Attachment>>;

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (282755 => 282756)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2021-09-20 17:29:33 UTC (rev 282756)
@@ -521,7 +521,7 @@
     SetIsUsingHighPerformanceWebGL(bool isUsingHighPerformanceWebGL)
 
     StartURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters)
-    StopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier)
+    StopURLSchemeTask(WebKit::WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier)
     LoadSynchronousURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters) -> (WebCore::ResourceResponse response, WebCore::ResourceError error, Vector<uint8_t> data) Synchronous
 
 #if ENABLE(DEVICE_ORIENTATION)

Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp (282755 => 282756)


--- trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp	2021-09-20 17:29:33 UTC (rev 282756)
@@ -33,14 +33,8 @@
 namespace WebKit {
 using namespace WebCore;
 
-static uint64_t generateWebURLSchemeHandlerIdentifier()
-{
-    static uint64_t nextIdentifier = 1;
-    return nextIdentifier++;
-}
-
 WebURLSchemeHandler::WebURLSchemeHandler()
-    : m_identifier(generateWebURLSchemeHandlerIdentifier())
+    : m_identifier(WebURLSchemeHandlerIdentifier::generate())
 {
 }
 

Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h (282755 => 282756)


--- trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h	2021-09-20 17:29:33 UTC (rev 282756)
@@ -25,6 +25,7 @@
 
 #pragma once
 
+#include "WebURLSchemeHandlerIdentifier.h"
 #include "WebURLSchemeTask.h"
 #include <WebCore/ResourceLoaderIdentifier.h>
 #include <wtf/HashMap.h>
@@ -49,7 +50,7 @@
 public:
     virtual ~WebURLSchemeHandler();
 
-    uint64_t identifier() const { return m_identifier; }
+    WebURLSchemeHandlerIdentifier identifier() const { return m_identifier; }
 
     void startTask(WebPageProxy&, WebProcessProxy&, WebCore::PageIdentifier, URLSchemeTaskParameters&&, SyncLoadCompletionHandler&&);
     void stopTask(WebPageProxy&, WebCore::ResourceLoaderIdentifier taskIdentifier);
@@ -67,7 +68,7 @@
     void removeTaskFromPageMap(WebPageProxyIdentifier, WebCore::ResourceLoaderIdentifier);
     WebProcessProxy* processForTaskIdentifier(WebCore::ResourceLoaderIdentifier) const;
 
-    uint64_t m_identifier;
+    WebURLSchemeHandlerIdentifier m_identifier;
 
     HashMap<WebCore::ResourceLoaderIdentifier, Ref<WebURLSchemeTask>> m_tasks;
     HashMap<WebPageProxyIdentifier, HashSet<WebCore::ResourceLoaderIdentifier>> m_tasksByPageIdentifier;

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (282755 => 282756)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2021-09-20 17:29:33 UTC (rev 282756)
@@ -4595,6 +4595,7 @@
 		5CD2864F1E722F440094FDC8 /* WKContentRuleListStoreInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContentRuleListStoreInternal.h; sourceTree = "<group>"; };
 		5CD286501E722F440094FDC8 /* WKContentRuleListStorePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContentRuleListStorePrivate.h; sourceTree = "<group>"; };
 		5CD748B523C8EB190092A9B5 /* NetworkResourceLoadIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkResourceLoadIdentifier.h; sourceTree = "<group>"; };
+		5CD748B523C8EB190092A999 /* WebURLSchemeHandlerIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebURLSchemeHandlerIdentifier.h; sourceTree = "<group>"; };
 		5CE0C366229F2D3D003695F0 /* APIContextMenuElementInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIContextMenuElementInfo.cpp; sourceTree = "<group>"; };
 		5CE0C367229F2D3E003695F0 /* APIContextMenuElementInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIContextMenuElementInfo.h; sourceTree = "<group>"; };
 		5CE0C368229F2D4A003695F0 /* WKContextMenuElementInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKContextMenuElementInfo.mm; sourceTree = "<group>"; };
@@ -6998,6 +6999,7 @@
 				8360349E1ACB34D600626549 /* WebSQLiteDatabaseTracker.h */,
 				C0337DD7127A51B6008FF4F4 /* WebTouchEvent.cpp */,
 				0F4001002527D73C00E91DA7 /* WebTouchEvent.h */,
+				5CD748B523C8EB190092A999 /* WebURLSchemeHandlerIdentifier.h */,
 				7C065F291C8CD95F00C2D950 /* WebUserContentControllerDataTypes.cpp */,
 				7C065F2A1C8CD95F00C2D950 /* WebUserContentControllerDataTypes.h */,
 				C0337DD0127A2980008FF4F4 /* WebWheelEvent.cpp */,

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (282755 => 282756)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2021-09-20 17:29:33 UTC (rev 282756)
@@ -6931,9 +6931,9 @@
         handler->stopAllTasks();
 }
 
-void WebPage::registerURLSchemeHandler(uint64_t handlerIdentifier, const String& scheme)
+void WebPage::registerURLSchemeHandler(WebURLSchemeHandlerIdentifier handlerIdentifier, const String& scheme)
 {
-    WEBPAGE_RELEASE_LOG(Process, "registerURLSchemeHandler: Registered handler %" PRIu64 " for the '%s' scheme", handlerIdentifier, scheme.utf8().data());
+    WEBPAGE_RELEASE_LOG(Process, "registerURLSchemeHandler: Registered handler %" PRIu64 " for the '%s' scheme", handlerIdentifier.toUInt64(), scheme.utf8().data());
     WebCore::LegacySchemeRegistry::registerURLSchemeAsHandledBySchemeHandler(scheme);
     WebCore::LegacySchemeRegistry::registerURLSchemeAsCORSEnabled(scheme);
     auto schemeResult = m_schemeToURLSchemeHandlerProxyMap.add(scheme, WebURLSchemeHandlerProxy::create(*this, handlerIdentifier));
@@ -6940,7 +6940,7 @@
     m_identifierToURLSchemeHandlerProxyMap.add(handlerIdentifier, schemeResult.iterator->value.get());
 }
 
-void WebPage::urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
+void WebPage::urlSchemeTaskWillPerformRedirection(WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
 {
     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     ASSERT(handler);
@@ -6949,7 +6949,7 @@
     handler->taskDidPerformRedirection(taskIdentifier, WTFMove(response), WTFMove(request), WTFMove(completionHandler));
 }
 
-void WebPage::urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request)
+void WebPage::urlSchemeTaskDidPerformRedirection(WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request)
 {
     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     ASSERT(handler);
@@ -6957,7 +6957,7 @@
     handler->taskDidPerformRedirection(taskIdentifier, WTFMove(response), WTFMove(request), [] (ResourceRequest&&) {});
 }
     
-void WebPage::urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceResponse& response)
+void WebPage::urlSchemeTaskDidReceiveResponse(WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceResponse& response)
 {
     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     ASSERT(handler);
@@ -6965,7 +6965,7 @@
     handler->taskDidReceiveResponse(taskIdentifier, response);
 }
 
-void WebPage::urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const IPC::DataReference& data)
+void WebPage::urlSchemeTaskDidReceiveData(WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const IPC::DataReference& data)
 {
     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     ASSERT(handler);
@@ -6973,7 +6973,7 @@
     handler->taskDidReceiveData(taskIdentifier, data.size(), data.data());
 }
 
-void WebPage::urlSchemeTaskDidComplete(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceError& error)
+void WebPage::urlSchemeTaskDidComplete(WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceError& error)
 {
     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     ASSERT(handler);

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (282755 => 282756)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2021-09-20 17:29:33 UTC (rev 282756)
@@ -1875,13 +1875,13 @@
 
     void frameBecameRemote(WebCore::FrameIdentifier, WebCore::GlobalFrameIdentifier&& remoteFrameIdentifier, WebCore::GlobalWindowIdentifier&& remoteWindowIdentifier);
 
-    void registerURLSchemeHandler(uint64_t identifier, const String& scheme);
+    void registerURLSchemeHandler(WebURLSchemeHandlerIdentifier, const String& scheme);
 
-    void urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
-    void urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&);
-    void urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const WebCore::ResourceResponse&);
-    void urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const IPC::DataReference&);
-    void urlSchemeTaskDidComplete(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const WebCore::ResourceError&);
+    void urlSchemeTaskWillPerformRedirection(WebURLSchemeHandlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
+    void urlSchemeTaskDidPerformRedirection(WebURLSchemeHandlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&);
+    void urlSchemeTaskDidReceiveResponse(WebURLSchemeHandlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const WebCore::ResourceResponse&);
+    void urlSchemeTaskDidReceiveData(WebURLSchemeHandlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const IPC::DataReference&);
+    void urlSchemeTaskDidComplete(WebURLSchemeHandlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const WebCore::ResourceError&);
 
     void setIsTakingSnapshotsForApplicationSuspension(bool);
     void setNeedsDOMWindowResizeEvent();
@@ -2311,7 +2311,7 @@
 #endif
 
     HashMap<String, RefPtr<WebURLSchemeHandlerProxy>> m_schemeToURLSchemeHandlerProxyMap;
-    HashMap<uint64_t, WebURLSchemeHandlerProxy*> m_identifierToURLSchemeHandlerProxyMap;
+    HashMap<WebURLSchemeHandlerIdentifier, WebURLSchemeHandlerProxy*> m_identifierToURLSchemeHandlerProxyMap;
 
     HashMap<uint64_t, Function<void(bool granted)>> m_storageAccessResponseCallbackMap;
 

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (282755 => 282756)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2021-09-20 17:29:33 UTC (rev 282756)
@@ -551,13 +551,13 @@
 
     FrameBecameRemote(WebCore::FrameIdentifier frameID, struct WebCore::GlobalFrameIdentifier remoteFrameIdentifier, struct WebCore::GlobalWindowIdentifier remoteWindowIdentifier)
 
-    RegisterURLSchemeHandler(uint64_t identifier, String scheme)
+    RegisterURLSchemeHandler(WebKit::WebURLSchemeHandlerIdentifier handlerIdentifier, String scheme)
 
-    URLSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest) -> (WebCore::ResourceRequest actualRequest) Async
-    URLSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest)
-    URLSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response)
-    URLSchemeTaskDidReceiveData(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, IPC::SharedBufferDataReference data)
-    URLSchemeTaskDidComplete(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceError error)
+    URLSchemeTaskWillPerformRedirection(WebKit::WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest) -> (WebCore::ResourceRequest actualRequest) Async
+    URLSchemeTaskDidPerformRedirection(WebKit::WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest)
+    URLSchemeTaskDidReceiveResponse(WebKit::WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response)
+    URLSchemeTaskDidReceiveData(WebKit::WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, IPC::SharedBufferDataReference data)
+    URLSchemeTaskDidComplete(WebKit::WebURLSchemeHandlerIdentifier handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceError error)
 
     SetIsSuspended(bool suspended)
 

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp (282755 => 282756)


--- trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp	2021-09-20 17:29:33 UTC (rev 282756)
@@ -43,7 +43,7 @@
 namespace WebKit {
 using namespace WebCore;
 
-WebURLSchemeHandlerProxy::WebURLSchemeHandlerProxy(WebPage& page, uint64_t identifier)
+WebURLSchemeHandlerProxy::WebURLSchemeHandlerProxy(WebPage& page, WebURLSchemeHandlerIdentifier identifier)
     : m_webPage(page)
     , m_identifier(identifier)
 {

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h (282755 => 282756)


--- trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h	2021-09-20 17:29:33 UTC (rev 282756)
@@ -25,6 +25,7 @@
 
 #pragma once
 
+#include "WebURLSchemeHandlerIdentifier.h"
 #include "WebURLSchemeTaskProxy.h"
 #include <wtf/HashMap.h>
 #include <wtf/RefCounted.h>
@@ -42,7 +43,7 @@
 
 class WebURLSchemeHandlerProxy : public RefCounted<WebURLSchemeHandlerProxy> {
 public:
-    static Ref<WebURLSchemeHandlerProxy> create(WebPage& page, uint64_t identifier)
+    static Ref<WebURLSchemeHandlerProxy> create(WebPage& page, WebURLSchemeHandlerIdentifier identifier)
     {
         return adoptRef(*new WebURLSchemeHandlerProxy(page, identifier));
     }
@@ -53,7 +54,7 @@
 
     void loadSynchronously(WebCore::ResourceLoaderIdentifier, WebFrame&, const WebCore::ResourceRequest&, WebCore::ResourceResponse&, WebCore::ResourceError&, Vector<uint8_t>&);
 
-    uint64_t identifier() const { return m_identifier; }
+    WebURLSchemeHandlerIdentifier identifier() const { return m_identifier; }
     WebPage& page() { return m_webPage; }
 
     void taskDidPerformRedirection(WebCore::ResourceLoaderIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
@@ -63,13 +64,12 @@
     void taskDidStopLoading(WebURLSchemeTaskProxy&);
 
 private:
-    WebURLSchemeHandlerProxy(WebPage&, uint64_t identifier);
+    WebURLSchemeHandlerProxy(WebPage&, WebURLSchemeHandlerIdentifier);
 
     RefPtr<WebURLSchemeTaskProxy> removeTask(WebCore::ResourceLoaderIdentifier);
 
     WebPage& m_webPage;
-    // FIXME: This should be a strongly typed identifier.
-    uint64_t m_identifier { 0 };
+    WebURLSchemeHandlerIdentifier m_identifier;
 
     HashMap<WebCore::ResourceLoaderIdentifier, RefPtr<WebURLSchemeTaskProxy>> m_tasks;
 }; // class WebURLSchemeHandlerProxy

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp (282755 => 282756)


--- trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp	2021-09-20 17:17:38 UTC (rev 282755)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp	2021-09-20 17:29:33 UTC (rev 282756)
@@ -40,7 +40,7 @@
 #include <wtf/CompletionHandler.h>
 
 #define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_TEMPLATE "[schemeHandler=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", taskID=%" PRIu64 "] WebURLSchemeTaskProxy::"
-#define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS m_urlSchemeHandler.identifier(), pageIDFromWebFrame(m_frame), frameIDFromWebFrame(m_frame), m_identifier.toUInt64()
+#define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS m_urlSchemeHandler.identifier().toUInt64(), pageIDFromWebFrame(m_frame), frameIDFromWebFrame(m_frame), m_identifier.toUInt64()
 #define WEBURLSCHEMETASKPROXY_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_TEMPLATE fmt, WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS, ##__VA_ARGS__)
 
 namespace WebKit {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to