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 {