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

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

<h3>Log Message</h3>
<pre>Use ObjectIdentifier for ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=230278

Reviewed by Michael Catanzaro.

Source/WebCore:

* Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::didReceiveResponse):
(WebCore::FetchLoader::didFinishLoading):
* Modules/fetch/FetchLoader.h:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WorkerModuleScriptLoader.h:
* dom/Document.cpp:
(WebCore::Document::processMetaHttpEquiv):
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::didReceiveResponse):
(WebCore::FileReaderLoader::didFinishLoading):
* fileapi/FileReaderLoader.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willSendRequestImpl):
(WebCore::InspectorInstrumentation::willSendRequestOfTypeImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveDataImpl):
(WebCore::InspectorInstrumentation::didFinishLoadingImpl):
(WebCore::InspectorInstrumentation::didFailLoadingImpl):
(WebCore::InspectorInstrumentation::scriptImportedImpl):
(WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
(WebCore::InspectorInstrumentation::interceptResponseImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willSendRequest):
(WebCore::InspectorInstrumentation::willSendRequestOfType):
(WebCore::InspectorInstrumentation::didReceiveResourceResponse):
(WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponse):
(WebCore::InspectorInstrumentation::didReceiveData):
(WebCore::InspectorInstrumentation::didFinishLoading):
(WebCore::InspectorInstrumentation::didFailLoading):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
(WebCore::InspectorInstrumentation::continueWithPolicyDownload):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
(WebCore::InspectorInstrumentation::scriptImported):
(WebCore::InspectorInstrumentation::didReceiveScriptResponse):
(WebCore::InspectorInstrumentation::interceptResponse):
* inspector/InspectorInstrumentationWebKit.cpp:
(WebCore::InspectorInstrumentationWebKit::interceptResponseInternal):
* inspector/InspectorInstrumentationWebKit.h:
(WebCore::InspectorInstrumentationWebKit::interceptResponse):
* inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::willSendRequest):
(WebCore::InspectorNetworkAgent::willSendRequestOfType):
(WebCore::InspectorNetworkAgent::didReceiveResponse):
(WebCore::InspectorNetworkAgent::didReceiveData):
(WebCore::InspectorNetworkAgent::didFinishLoading):
(WebCore::InspectorNetworkAgent::didFailLoading):
(WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorNetworkAgent::setInitialScriptContent):
(WebCore::InspectorNetworkAgent::didReceiveScriptResponse):
(WebCore::InspectorNetworkAgent::didReceiveThreadableLoaderResponse):
(WebCore::InspectorNetworkAgent::interceptRequest):
(WebCore::InspectorNetworkAgent::interceptResponse):
* inspector/agents/InspectorNetworkAgent.h:
* inspector/agents/WebConsoleAgent.cpp:
(WebCore::WebConsoleAgent::didReceiveResponse):
(WebCore::WebConsoleAgent::didFailLoading):
* inspector/agents/WebConsoleAgent.h:
* loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
(WebCore::CrossOriginPreflightChecker::doPreflight):
* loader/CrossOriginPreflightChecker.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::tryLoadingSubstituteData):
(WebCore::DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::disallowDataRequest const):
(WebCore::DocumentLoader::addSubresourceLoader):
(WebCore::DocumentLoader::loadMainResource):
(WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
* loader/DocumentLoader.h:
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::didReceiveData):
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::didFail):
(WebCore::DocumentThreadableLoader::preflightFailure):
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/DocumentThreadableLoader.h:
* loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::assignIdentifierToInitialRequest):
(WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage):
(WebCore::EmptyFrameLoaderClient::dispatchWillSendRequest):
(WebCore::EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebCore::EmptyFrameLoaderClient::connectionProperties):
(WebCore::EmptyFrameLoaderClient::dispatchDidReceiveResponse):
(WebCore::EmptyFrameLoaderClient::dispatchDidReceiveContentLength):
(WebCore::EmptyFrameLoaderClient::dispatchDidFinishLoading):
(WebCore::EmptyFrameLoaderClient::dispatchDidFailLoading):
(WebCore::EmptyFrameLoaderClient::willCacheResponse const):
(WebCore::EmptyFrameLoaderClient::shouldCacheResponse):
* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::willLoadMediaElementURL):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::requestFromDelegate):
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/LoaderStrategy.cpp:
(WebCore::LoaderStrategy::responseFromResourceLoadIdentifier):
(WebCore::LoaderStrategy::networkMetricsFromResourceLoadIdentifier):
(WebCore::LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):
* loader/LoaderStrategy.h:
(WebCore::LoaderStrategy::ongoingLoads const):
(): Deleted.
* loader/PingLoader.cpp:
(WebCore::PingLoader::startPingLoad):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::incrementProgress):
(WebCore::ProgressTracker::completeProgress):
(WebCore::ProgressTracker::createUniqueIdentifier):
* loader/ProgressTracker.h:
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
(WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
(WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
(WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
(WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
* loader/ResourceLoadNotifier.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::releaseResources):
(WebCore::ResourceLoader::willSendRequestInternal):
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::identifier const):
* loader/ResourceLoaderIdentifier.h: Copied from Source/WebKit/Shared/URLSchemeTaskParameters.h.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::init):
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
* loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::didSendData):
(WebCore::ThreadableLoaderClient::didReceiveResponse):
(WebCore::ThreadableLoaderClient::didReceiveData):
(WebCore::ThreadableLoaderClient::didFinishLoading):
(WebCore::ThreadableLoaderClient::didFail):
(WebCore::ThreadableLoaderClient::didFinishTiming):
(WebCore::ThreadableLoaderClient::notifyIsDone):
* loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
(WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
(WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
* loader/WorkerThreadableLoader.h:
(WebCore::WorkerThreadableLoader::create):
(WebCore::WorkerThreadableLoader::done const):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::update):
(WebCore::ApplicationCacheGroup::startLoadingEntry):
* loader/appcache/ApplicationCacheGroup.h:
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::CachedRawResource):
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::identifierForLoadWithoutResourceLoader const):
* page/EventSource.cpp:
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::didFinishLoading):
* page/EventSource.h:
* workers/Worker.cpp:
(WebCore::Worker::didReceiveResponse):
* workers/Worker.h:
* workers/WorkerFontLoadRequest.cpp:
(WebCore::WorkerFontLoadRequest::didReceiveResponse):
(WebCore::WorkerFontLoadRequest::didFinishLoading):
* workers/WorkerFontLoadRequest.h:
* workers/WorkerOrWorkletGlobalScope.h:
(WebCore::WorkerOrWorkletGlobalScope::createUniqueIdentifier): Deleted.
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::didReceiveResponse):
(WebCore::WorkerScriptLoader::didFinishLoading):
* workers/WorkerScriptLoader.h:
(WebCore::WorkerScriptLoader::identifier const):
* workers/WorkerScriptLoaderClient.h:
* workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::didReceiveResponse):
* workers/service/ServiceWorkerJob.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReceiveResponse):
* xml/XMLHttpRequest.h:

Source/WebKit:

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::resolveBlobReferences):
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
(WebKit::NetworkConnectionToWebProcess::loadPing):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
(WebKit::NetworkConnectionToWebProcess::preconnectTo):
(WebKit::NetworkConnectionToWebProcess::isResourceLoadFinished):
(WebKit::NetworkConnectionToWebProcess::didFinishPreconnection):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
(WebKit::NetworkConnectionToWebProcess::startTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::stopTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::findNetworkActivityTracker):
(WebKit::NetworkConnectionToWebProcess::prioritizeResourceLoads):
(WebKit::NetworkConnectionToWebProcess::takeNetworkResourceLoader):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationResponse):
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadIntermediateInformation):
(WebKit::NetworkConnectionToWebProcess::takeNetworkLoadInformationMetrics):
(WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformation):
(WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformationMetrics):
(WebKit::NetworkConnectionToWebProcess::removeNetworkLoadInformation):
(WebKit::NetworkConnectionToWebProcess::ResourceNetworkActivityTracker::ResourceNetworkActivityTracker):
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::prepareLoadForWebProcessTransfer):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoadMap.cpp:
(WebKit::NetworkResourceLoadMap::add):
(WebKit::NetworkResourceLoadMap::remove):
(WebKit::NetworkResourceLoadMap::take):
(WebKit::NetworkResourceLoadMap::get const):
* NetworkProcess/NetworkResourceLoadMap.h:
(WebKit::NetworkResourceLoadMap::contains const):
* NetworkProcess/NetworkResourceLoadParameters.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::transferToNewWebProcess):
(WebKit::escapeIDForJSON):
(WebKit::logBlockedCookieInformation):
(WebKit::logCookieInformationInternal):
(WebKit::NetworkResourceLoader::logCookieInformation):
* NetworkProcess/NetworkResourceLoader.h:
* Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
* Shared/URLSchemeTaskParameters.cpp:
(WebKit::URLSchemeTaskParameters::decode):
* Shared/URLSchemeTaskParameters.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::prepareLoadForWebProcessTransfer):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::decidePolicyForResponse):
* UIProcess/ProvisionalPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
(WebKit::WebPageProxy::stopURLSchemeTask):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebURLSchemeHandler.cpp:
(WebKit::WebURLSchemeHandler::startTask):
(WebKit::WebURLSchemeHandler::processForTaskIdentifier const):
(WebKit::WebURLSchemeHandler::stopAllTasksForPage):
(WebKit::WebURLSchemeHandler::stopTask):
(WebKit::WebURLSchemeHandler::removeTaskFromPageMap):
* UIProcess/WebURLSchemeHandler.h:
* UIProcess/WebURLSchemeTask.h:
(WebKit::WebURLSchemeTask::identifier const):
* WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h:
(API::InjectedBundle::ResourceLoadClient::didInitiateLoadForResource):
(API::InjectedBundle::ResourceLoadClient::willSendRequestForFrame):
(API::InjectedBundle::ResourceLoadClient::didReceiveResponseForResource):
(API::InjectedBundle::ResourceLoadClient::didReceiveContentLengthForResource):
(API::InjectedBundle::ResourceLoadClient::didFinishLoadForResource):
(API::InjectedBundle::ResourceLoadClient::didFailLoadForResource):
(API::InjectedBundle::ResourceLoadClient::shouldCacheResponse):
(API::InjectedBundle::ResourceLoadClient::shouldUseCredentialStorage):
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
(WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
(WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
(WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didFinishPingLoad):
(WebKit::NetworkProcessConnection::didFinishPreconnection):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::remove):
(WebKit::WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::WebLoaderStrategy::didFinishPingLoad):
(WebKit::WebLoaderStrategy::preconnectTo):
(WebKit::WebLoaderStrategy::didFinishPreconnection):
(WebKit::WebLoaderStrategy::responseFromResourceLoadIdentifier):
(WebKit::WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):
(WebKit::WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier):
(WebKit::WebLoaderStrategy::prioritizeResourceLoads):
(WebKit::WebLoaderStrategy::generateLoadIdentifier): Deleted.
* WebProcess/Network/WebLoaderStrategy.h:
* WebProcess/Network/WebResourceInterceptController.cpp:
(WebKit::WebResourceInterceptController::isIntercepting const):
(WebKit::WebResourceInterceptController::beginInterceptingResponse):
(WebKit::WebResourceInterceptController::continueResponse):
(WebKit::WebResourceInterceptController::interceptedResponse):
(WebKit::WebResourceInterceptController::defer):
* WebProcess/Network/WebResourceInterceptController.h:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::messageSenderDestinationID const):
(WebKit::WebResourceLoader::didReceiveResponse):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Storage/WebSWContextManagerConnection.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
(WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::willCacheResponse const):
(WebKit::WebFrameLoaderClient::sendH2Ping):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::convertMainResourceLoadToDownload):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::addConsoleMessage):
(WebKit::WebPage::addResourceRequest):
(WebKit::WebPage::removeResourceRequest):
(WebKit::WebPage::urlSchemeTaskWillPerformRedirection):
(WebKit::WebPage::urlSchemeTaskDidPerformRedirection):
(WebKit::WebPage::urlSchemeTaskDidReceiveResponse):
(WebKit::WebPage::urlSchemeTaskDidReceiveData):
(WebKit::WebPage::urlSchemeTaskDidComplete):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::addConsoleMessage):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp:
(WebKit::WebURLSchemeHandlerProxy::loadSynchronously):
(WebKit::WebURLSchemeHandlerProxy::taskDidPerformRedirection):
(WebKit::WebURLSchemeHandlerProxy::taskDidReceiveResponse):
(WebKit::WebURLSchemeHandlerProxy::taskDidReceiveData):
(WebKit::WebURLSchemeHandlerProxy::taskDidComplete):
(WebKit::WebURLSchemeHandlerProxy::removeTask):
* WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
* WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
* WebProcess/WebPage/WebURLSchemeTaskProxy.h:
(WebKit::WebURLSchemeTaskProxy::identifier const):

Source/WebKitLegacy:

* WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::loadResourceSynchronously):
* WebCoreSupport/WebResourceLoadScheduler.h:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::shouldUseCredentialStorage):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebFrameLoaderClient::connectionProperties):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::willCacheResponse const):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
* WebView/WebDocumentLoaderMac.h:
* WebView/WebDocumentLoaderMac.mm:
(WebDocumentLoaderMac::increaseLoadCount):
(WebDocumentLoaderMac::decreaseLoadCount):
* WebView/WebViewInternal.h:

Source/WebKitLegacy/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::shouldUseCredentialStorage):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
(WebFrameLoaderClient::shouldCacheResponse):
* WebCoreSupport/WebFrameLoaderClient.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreHeaderscmake">trunk/Source/WebCore/Headers.cmake</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchLoadercpp">trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchLoaderh">trunk/Source/WebCore/Modules/fetch/FetchLoader.h</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWorkerModuleScriptLoaderh">trunk/Source/WebCore/bindings/js/WorkerModuleScriptLoader.h</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCorefileapiFileReaderLoadercpp">trunk/Source/WebCore/fileapi/FileReaderLoader.cpp</a></li>
<li><a href="#trunkSourceWebCorefileapiFileReaderLoaderh">trunk/Source/WebCore/fileapi/FileReaderLoader.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationWebKitcpp">trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationWebKith">trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h</a></li>
<li><a href="#trunkSourceWebCoreinspectoragentsInspectorNetworkAgentcpp">trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectoragentsInspectorNetworkAgenth">trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectoragentsWebConsoleAgentcpp">trunk/Source/WebCore/inspector/agents/WebConsoleAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectoragentsWebConsoleAgenth">trunk/Source/WebCore/inspector/agents/WebConsoleAgent.h</a></li>
<li><a href="#trunkSourceWebCoreloaderCrossOriginPreflightCheckercpp">trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderCrossOriginPreflightCheckerh">trunk/Source/WebCore/loader/CrossOriginPreflightChecker.h</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadercpp">trunk/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoaderh">trunk/Source/WebCore/loader/DocumentLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentThreadableLoadercpp">trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentThreadableLoaderh">trunk/Source/WebCore/loader/DocumentThreadableLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyClientscpp">trunk/Source/WebCore/loader/EmptyClients.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyFrameLoaderClienth">trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderh">trunk/Source/WebCore/loader/FrameLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderClienth">trunk/Source/WebCore/loader/FrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebCoreloaderLoaderStrategycpp">trunk/Source/WebCore/loader/LoaderStrategy.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderLoaderStrategyh">trunk/Source/WebCore/loader/LoaderStrategy.h</a></li>
<li><a href="#trunkSourceWebCoreloaderPingLoadercpp">trunk/Source/WebCore/loader/PingLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderProgressTrackercpp">trunk/Source/WebCore/loader/ProgressTracker.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderProgressTrackerh">trunk/Source/WebCore/loader/ProgressTracker.h</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadNotifiercpp">trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadNotifierh">trunk/Source/WebCore/loader/ResourceLoadNotifier.h</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadercpp">trunk/Source/WebCore/loader/ResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoaderh">trunk/Source/WebCore/loader/ResourceLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderSubresourceLoadercpp">trunk/Source/WebCore/loader/SubresourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderThreadableLoaderClienth">trunk/Source/WebCore/loader/ThreadableLoaderClient.h</a></li>
<li><a href="#trunkSourceWebCoreloaderThreadableLoaderClientWrapperh">trunk/Source/WebCore/loader/ThreadableLoaderClientWrapper.h</a></li>
<li><a href="#trunkSourceWebCoreloaderWorkerThreadableLoadercpp">trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderWorkerThreadableLoaderh">trunk/Source/WebCore/loader/WorkerThreadableLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheGroupcpp">trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheGrouph">trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedRawResourcecpp">trunk/Source/WebCore/loader/cache/CachedRawResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedRawResourceh">trunk/Source/WebCore/loader/cache/CachedRawResource.h</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourcecpp">trunk/Source/WebCore/loader/cache/CachedResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceh">trunk/Source/WebCore/loader/cache/CachedResource.h</a></li>
<li><a href="#trunkSourceWebCorepageEventSourcecpp">trunk/Source/WebCore/page/EventSource.cpp</a></li>
<li><a href="#trunkSourceWebCorepageEventSourceh">trunk/Source/WebCore/page/EventSource.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkercpp">trunk/Source/WebCore/workers/Worker.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerh">trunk/Source/WebCore/workers/Worker.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerFontLoadRequestcpp">trunk/Source/WebCore/workers/WorkerFontLoadRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerFontLoadRequesth">trunk/Source/WebCore/workers/WorkerFontLoadRequest.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerOrWorkletGlobalScopeh">trunk/Source/WebCore/workers/WorkerOrWorkletGlobalScope.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerScriptLoadercpp">trunk/Source/WebCore/workers/WorkerScriptLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerScriptLoaderh">trunk/Source/WebCore/workers/WorkerScriptLoader.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerScriptLoaderClienth">trunk/Source/WebCore/workers/WorkerScriptLoaderClient.h</a></li>
<li><a href="#trunkSourceWebCoreworkersserviceServiceWorkerJobcpp">trunk/Source/WebCore/workers/service/ServiceWorkerJob.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersserviceServiceWorkerJobh">trunk/Source/WebCore/workers/service/ServiceWorkerJob.h</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequesth">trunk/Source/WebCore/xml/XMLHttpRequest.h</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkConnectionToWebProcesscpp">trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkConnectionToWebProcessh">trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkConnectionToWebProcessmessagesin">trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkProcesscpp">trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkProcessh">trunk/Source/WebKit/NetworkProcess/NetworkProcess.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkProcessmessagesin">trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoadMapcpp">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoadMaph">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoadParametersh">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoadercpp">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebKitNetworkProcessNetworkResourceLoaderh">trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h</a></li>
<li><a href="#trunkSourceWebKitScriptswebkitmessagespy">trunk/Source/WebKit/Scripts/webkit/messages.py</a></li>
<li><a href="#trunkSourceWebKitSharedURLSchemeTaskParameterscpp">trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp</a></li>
<li><a href="#trunkSourceWebKitSharedURLSchemeTaskParametersh">trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessAPIglibWebKitWebContextcpp">trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessNetworkNetworkProcessProxycpp">trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessNetworkNetworkProcessProxyh">trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessProvisionalPageProxycpp">trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessProvisionalPageProxyh">trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebPageProxycpp">trunk/Source/WebKit/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebPageProxyh">trunk/Source/WebKit/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebPageProxymessagesin">trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebURLSchemeHandlercpp">trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebURLSchemeHandlerh">trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h</a></li>
<li><a href="#trunkSourceWebKitUIProcessWebURLSchemeTaskh">trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleAPIAPIInjectedBundlePageResourceLoadClienth">trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleAPIglibWebKitWebPagecpp">trunk/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleInjectedBundlePageResourceLoadClientcpp">trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessInjectedBundleInjectedBundlePageResourceLoadClienth">trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkNetworkProcessConnectioncpp">trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkNetworkProcessConnectionh">trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkNetworkProcessConnectionmessagesin">trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.messages.in</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkWebLoaderStrategycpp">trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkWebLoaderStrategyh">trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkWebResourceInterceptControllercpp">trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkWebResourceInterceptControllerh">trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkWebResourceLoadercpp">trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessNetworkWebResourceLoaderh">trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessStorageWebSWContextManagerConnectionh">trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebCoreSupportiosWebFrameLoaderClientIOSmm">trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebFramecpp">trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebPagecpp">trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebPageh">trunk/Source/WebKit/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebPagemessagesin">trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebURLSchemeHandlerProxycpp">trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebURLSchemeHandlerProxyh">trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebURLSchemeTaskProxycpp">trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp</a></li>
<li><a href="#trunkSourceWebKitWebProcessWebPageWebURLSchemeTaskProxyh">trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.h</a></li>
<li><a href="#trunkSourceWebKitLegacyChangeLog">trunk/Source/WebKitLegacy/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitLegacyWebCoreSupportWebResourceLoadSchedulercpp">trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacyWebCoreSupportWebResourceLoadSchedulerh">trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h</a></li>
<li><a href="#trunkSourceWebKitLegacymacChangeLog">trunk/Source/WebKitLegacy/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebCoreSupportWebFrameLoaderClientmm">trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebViewWebDocumentLoaderMach">trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.h</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebViewWebDocumentLoaderMacmm">trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm</a></li>
<li><a href="#trunkSourceWebKitLegacymacWebViewWebViewInternalh">trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h</a></li>
<li><a href="#trunkSourceWebKitLegacywinChangeLog">trunk/Source/WebKitLegacy/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKitLegacywinWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreloaderResourceLoaderIdentifierh">trunk/Source/WebCore/loader/ResourceLoaderIdentifier.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/ChangeLog      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -1,3 +1,208 @@
</span><ins>+2021-09-17  Alex Christensen  <achristensen@webkit.org>
+
+        Use ObjectIdentifier for ResourceLoader
+        https://bugs.webkit.org/show_bug.cgi?id=230278
+
+        Reviewed by Michael Catanzaro.
+
+        * Modules/fetch/FetchLoader.cpp:
+        (WebCore::FetchLoader::didReceiveResponse):
+        (WebCore::FetchLoader::didFinishLoading):
+        * Modules/fetch/FetchLoader.h:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/WorkerModuleScriptLoader.h:
+        * dom/Document.cpp:
+        (WebCore::Document::processMetaHttpEquiv):
+        * fileapi/FileReaderLoader.cpp:
+        (WebCore::FileReaderLoader::didReceiveResponse):
+        (WebCore::FileReaderLoader::didFinishLoading):
+        * fileapi/FileReaderLoader.h:
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore::InspectorInstrumentation::willSendRequestImpl):
+        (WebCore::InspectorInstrumentation::willSendRequestOfTypeImpl):
+        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
+        (WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl):
+        (WebCore::InspectorInstrumentation::didReceiveDataImpl):
+        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
+        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
+        (WebCore::InspectorInstrumentation::scriptImportedImpl):
+        (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
+        (WebCore::InspectorInstrumentation::interceptResponseImpl):
+        * inspector/InspectorInstrumentation.h:
+        (WebCore::InspectorInstrumentation::willSendRequest):
+        (WebCore::InspectorInstrumentation::willSendRequestOfType):
+        (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
+        (WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponse):
+        (WebCore::InspectorInstrumentation::didReceiveData):
+        (WebCore::InspectorInstrumentation::didFinishLoading):
+        (WebCore::InspectorInstrumentation::didFailLoading):
+        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
+        (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
+        (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
+        (WebCore::InspectorInstrumentation::scriptImported):
+        (WebCore::InspectorInstrumentation::didReceiveScriptResponse):
+        (WebCore::InspectorInstrumentation::interceptResponse):
+        * inspector/InspectorInstrumentationWebKit.cpp:
+        (WebCore::InspectorInstrumentationWebKit::interceptResponseInternal):
+        * inspector/InspectorInstrumentationWebKit.h:
+        (WebCore::InspectorInstrumentationWebKit::interceptResponse):
+        * inspector/agents/InspectorNetworkAgent.cpp:
+        (WebCore::InspectorNetworkAgent::willSendRequest):
+        (WebCore::InspectorNetworkAgent::willSendRequestOfType):
+        (WebCore::InspectorNetworkAgent::didReceiveResponse):
+        (WebCore::InspectorNetworkAgent::didReceiveData):
+        (WebCore::InspectorNetworkAgent::didFinishLoading):
+        (WebCore::InspectorNetworkAgent::didFailLoading):
+        (WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
+        (WebCore::InspectorNetworkAgent::setInitialScriptContent):
+        (WebCore::InspectorNetworkAgent::didReceiveScriptResponse):
+        (WebCore::InspectorNetworkAgent::didReceiveThreadableLoaderResponse):
+        (WebCore::InspectorNetworkAgent::interceptRequest):
+        (WebCore::InspectorNetworkAgent::interceptResponse):
+        * inspector/agents/InspectorNetworkAgent.h:
+        * inspector/agents/WebConsoleAgent.cpp:
+        (WebCore::WebConsoleAgent::didReceiveResponse):
+        (WebCore::WebConsoleAgent::didFailLoading):
+        * inspector/agents/WebConsoleAgent.h:
+        * loader/CrossOriginPreflightChecker.cpp:
+        (WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
+        (WebCore::CrossOriginPreflightChecker::doPreflight):
+        * loader/CrossOriginPreflightChecker.h:
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::finishedLoading):
+        (WebCore::DocumentLoader::tryLoadingSubstituteData):
+        (WebCore::DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
+        (WebCore::DocumentLoader::responseReceived):
+        (WebCore::DocumentLoader::disallowDataRequest const):
+        (WebCore::DocumentLoader::addSubresourceLoader):
+        (WebCore::DocumentLoader::loadMainResource):
+        (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
+        * loader/DocumentLoader.h:
+        * loader/DocumentThreadableLoader.cpp:
+        (WebCore::DocumentThreadableLoader::didReceiveResponse):
+        (WebCore::DocumentThreadableLoader::didReceiveData):
+        (WebCore::DocumentThreadableLoader::didFinishLoading):
+        (WebCore::DocumentThreadableLoader::didFail):
+        (WebCore::DocumentThreadableLoader::preflightFailure):
+        (WebCore::DocumentThreadableLoader::loadRequest):
+        * loader/DocumentThreadableLoader.h:
+        * loader/EmptyClients.cpp:
+        (WebCore::EmptyFrameLoaderClient::assignIdentifierToInitialRequest):
+        (WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage):
+        (WebCore::EmptyFrameLoaderClient::dispatchWillSendRequest):
+        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
+        (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
+        (WebCore::EmptyFrameLoaderClient::connectionProperties):
+        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveResponse):
+        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveContentLength):
+        (WebCore::EmptyFrameLoaderClient::dispatchDidFinishLoading):
+        (WebCore::EmptyFrameLoaderClient::dispatchDidFailLoading):
+        (WebCore::EmptyFrameLoaderClient::willCacheResponse const):
+        (WebCore::EmptyFrameLoaderClient::shouldCacheResponse):
+        * loader/EmptyFrameLoaderClient.h:
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::willLoadMediaElementURL):
+        (WebCore::FrameLoader::commitProvisionalLoad):
+        (WebCore::FrameLoader::loadResourceSynchronously):
+        (WebCore::FrameLoader::requestFromDelegate):
+        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
+        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
+        * loader/FrameLoader.h:
+        * loader/FrameLoaderClient.h:
+        * loader/LoaderStrategy.cpp:
+        (WebCore::LoaderStrategy::responseFromResourceLoadIdentifier):
+        (WebCore::LoaderStrategy::networkMetricsFromResourceLoadIdentifier):
+        (WebCore::LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):
+        * loader/LoaderStrategy.h:
+        (WebCore::LoaderStrategy::ongoingLoads const):
+        (): Deleted.
+        * loader/PingLoader.cpp:
+        (WebCore::PingLoader::startPingLoad):
+        * loader/ProgressTracker.cpp:
+        (WebCore::ProgressTracker::incrementProgress):
+        (WebCore::ProgressTracker::completeProgress):
+        (WebCore::ProgressTracker::createUniqueIdentifier):
+        * loader/ProgressTracker.h:
+        * loader/ResourceLoadNotifier.cpp:
+        (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
+        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
+        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
+        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
+        (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
+        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
+        (WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
+        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
+        * loader/ResourceLoadNotifier.h:
+        * loader/ResourceLoader.cpp:
+        (WebCore::ResourceLoader::releaseResources):
+        (WebCore::ResourceLoader::willSendRequestInternal):
+        * loader/ResourceLoader.h:
+        (WebCore::ResourceLoader::identifier const):
+        * loader/ResourceLoaderIdentifier.h: Copied from Source/WebKit/Shared/URLSchemeTaskParameters.h.
+        * loader/SubresourceLoader.cpp:
+        (WebCore::SubresourceLoader::init):
+        (WebCore::SubresourceLoader::willSendRequestInternal):
+        (WebCore::SubresourceLoader::didReceiveResponse):
+        (WebCore::SubresourceLoader::didFinishLoading):
+        (WebCore::SubresourceLoader::didFail):
+        (WebCore::SubresourceLoader::didCancel):
+        * loader/ThreadableLoaderClient.h:
+        (WebCore::ThreadableLoaderClient::didSendData):
+        (WebCore::ThreadableLoaderClient::didReceiveResponse):
+        (WebCore::ThreadableLoaderClient::didReceiveData):
+        (WebCore::ThreadableLoaderClient::didFinishLoading):
+        (WebCore::ThreadableLoaderClient::didFail):
+        (WebCore::ThreadableLoaderClient::didFinishTiming):
+        (WebCore::ThreadableLoaderClient::notifyIsDone):
+        * loader/ThreadableLoaderClientWrapper.h:
+        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
+        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
+        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
+        * loader/WorkerThreadableLoader.cpp:
+        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
+        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
+        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
+        * loader/WorkerThreadableLoader.h:
+        (WebCore::WorkerThreadableLoader::create):
+        (WebCore::WorkerThreadableLoader::done const):
+        * loader/appcache/ApplicationCacheGroup.cpp:
+        (WebCore::ApplicationCacheGroup::update):
+        (WebCore::ApplicationCacheGroup::startLoadingEntry):
+        * loader/appcache/ApplicationCacheGroup.h:
+        * loader/cache/CachedRawResource.cpp:
+        (WebCore::CachedRawResource::CachedRawResource):
+        * loader/cache/CachedRawResource.h:
+        * loader/cache/CachedResource.cpp:
+        (WebCore::CachedResource::load):
+        * loader/cache/CachedResource.h:
+        (WebCore::CachedResource::identifierForLoadWithoutResourceLoader const):
+        * page/EventSource.cpp:
+        (WebCore::EventSource::didReceiveResponse):
+        (WebCore::EventSource::didFinishLoading):
+        * page/EventSource.h:
+        * workers/Worker.cpp:
+        (WebCore::Worker::didReceiveResponse):
+        * workers/Worker.h:
+        * workers/WorkerFontLoadRequest.cpp:
+        (WebCore::WorkerFontLoadRequest::didReceiveResponse):
+        (WebCore::WorkerFontLoadRequest::didFinishLoading):
+        * workers/WorkerFontLoadRequest.h:
+        * workers/WorkerOrWorkletGlobalScope.h:
+        (WebCore::WorkerOrWorkletGlobalScope::createUniqueIdentifier): Deleted.
+        * workers/WorkerScriptLoader.cpp:
+        (WebCore::WorkerScriptLoader::didReceiveResponse):
+        (WebCore::WorkerScriptLoader::didFinishLoading):
+        * workers/WorkerScriptLoader.h:
+        (WebCore::WorkerScriptLoader::identifier const):
+        * workers/WorkerScriptLoaderClient.h:
+        * workers/service/ServiceWorkerJob.cpp:
+        (WebCore::ServiceWorkerJob::didReceiveResponse):
+        * workers/service/ServiceWorkerJob.h:
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::XMLHttpRequest::didFinishLoading):
+        (WebCore::XMLHttpRequest::didReceiveResponse):
+        * xml/XMLHttpRequest.h:
+
</ins><span class="cx"> 2021-09-17  Myles C. Maxfield  <mmaxfield@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Fix the Xcode build
</span></span></pre></div>
<a id="trunkSourceWebCoreHeaderscmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Headers.cmake (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Headers.cmake       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/Headers.cmake  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -844,6 +844,7 @@
</span><span class="cx">     loader/ResourceLoadStatistics.h
</span><span class="cx">     loader/ResourceLoadTiming.h
</span><span class="cx">     loader/ResourceLoader.h
</span><ins>+    loader/ResourceLoaderIdentifier.h
</ins><span class="cx">     loader/ResourceLoaderOptions.h
</span><span class="cx">     loader/ResourceLoaderTypes.h
</span><span class="cx">     loader/ResourceTimingInformation.h
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx">     return firstChunk;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FetchLoader::didReceiveResponse(unsigned long, const ResourceResponse& response)
</del><ins>+void FetchLoader::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     m_client.didReceiveResponse(response);
</span><span class="cx"> }
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx">     m_consumer->append(value, size);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FetchLoader::didFinishLoading(unsigned long)
</del><ins>+void FetchLoader::didFinishLoading(ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     m_client.didSucceed();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchLoader.h 2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/Modules/fetch/FetchLoader.h    2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -57,9 +57,9 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     // ThreadableLoaderClient API.
</span><del>-    void didReceiveResponse(unsigned long, const ResourceResponse&) final;
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
</ins><span class="cx">     void didReceiveData(const uint8_t*, int) final;
</span><del>-    void didFinishLoading(unsigned long) final;
</del><ins>+    void didFinishLoading(ResourceLoaderIdentifier) final;
</ins><span class="cx">     void didFail(const ResourceError&) final;
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -2023,6 +2023,7 @@
</span><span class="cx">          5B30695E18B3D3450099D5E8 /* WebGLDrawBuffers.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B30695B18B3D3450099D5E8 /* WebGLDrawBuffers.h */; };
</span><span class="cx">          5B46656325D14C0A000CFE14 /* ScrollingEffectsController.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B46655F25D14C09000CFE14 /* ScrollingEffectsController.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">          5B46656425D14C0A000CFE14 /* ScrollSnapAnimatorState.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B46656025D14C0A000CFE14 /* ScrollSnapAnimatorState.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+               5C1B1D3F26F3978000882DA2 /* ResourceLoaderIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C1B1D3D26F3977F00882DA2 /* ResourceLoaderIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">           5C2B1AEC22397EBC00B91CF7 /* ResourceResponseCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1F78D0B1C25422C00245446 /* ResourceResponseCocoa.mm */; };
</span><span class="cx">          5C4304B1191AC908000E2BC0 /* EXTShaderTextureLOD.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4304AE191AC908000E2BC0 /* EXTShaderTextureLOD.h */; };
</span><span class="cx">          5C4304B6191AEF46000E2BC0 /* JSEXTShaderTextureLOD.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4304B4191AEF46000E2BC0 /* JSEXTShaderTextureLOD.h */; };
</span><span class="lines">@@ -9803,6 +9804,7 @@
</span><span class="cx">          5C1B1D2426F15B1A00882DA2 /* SharedWorker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SharedWorker.h; sourceTree = "<group>"; };
</span><span class="cx">          5C1B1D2526F188D800882DA2 /* WorkerOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WorkerOptions.idl; sourceTree = "<group>"; };
</span><span class="cx">          5C1B1D2626F18A4B00882DA2 /* WorkerOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerOptions.h; sourceTree = "<group>"; };
</span><ins>+               5C1B1D3D26F3977F00882DA2 /* ResourceLoaderIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoaderIdentifier.h; sourceTree = "<group>"; };
</ins><span class="cx">           5C2EBE012577198900D55B05 /* SerializedNFA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedNFA.h; sourceTree = "<group>"; };
</span><span class="cx">          5C2EBE0325771A4C00D55B05 /* SerializedNFA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SerializedNFA.cpp; sourceTree = "<group>"; };
</span><span class="cx">          5C39305D1AA0F6A90029C816 /* DFABytecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DFABytecode.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -27825,6 +27827,7 @@
</span><span class="cx">                          7C2FA6101EA95A3200A03108 /* ResourceCryptographicDigest.h */,
</span><span class="cx">                          93E227DE0AF589AD00D48324 /* ResourceLoader.cpp */,
</span><span class="cx">                          656D37270ADBA5DE00A4554D /* ResourceLoader.h */,
</span><ins>+                               5C1B1D3D26F3977F00882DA2 /* ResourceLoaderIdentifier.h */,
</ins><span class="cx">                           D0A3A7301405A39800FB8ED3 /* ResourceLoaderOptions.h */,
</span><span class="cx">                          51AF503516F100F60095B2E8 /* ResourceLoaderTypes.h */,
</span><span class="cx">                          51EE7B391AA5123100F92B21 /* ResourceLoadInfo.cpp */,
</span><span class="lines">@@ -34787,6 +34790,7 @@
</span><span class="cx">                          514C767A0CE923A1007EF3CD /* ResourceHandleClient.h in Headers */,
</span><span class="cx">                          514C767B0CE923A1007EF3CD /* ResourceHandleInternal.h in Headers */,
</span><span class="cx">                          656D373F0ADBA5DE00A4554D /* ResourceLoader.h in Headers */,
</span><ins>+                               5C1B1D3F26F3978000882DA2 /* ResourceLoaderIdentifier.h in Headers */,
</ins><span class="cx">                           D0A3A7311405A39800FB8ED3 /* ResourceLoaderOptions.h in Headers */,
</span><span class="cx">                          51AF503616F100F60095B2E8 /* ResourceLoaderTypes.h in Headers */,
</span><span class="cx">                          51EE7B381AA50B0500F92B21 /* ResourceLoadInfo.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWorkerModuleScriptLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WorkerModuleScriptLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WorkerModuleScriptLoader.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/bindings/js/WorkerModuleScriptLoader.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> private:
</span><span class="cx">     WorkerModuleScriptLoader(ModuleScriptLoaderClient&, DeferredPromise&, WorkerScriptFetcher&, RefPtr<ModuleFetchParameters>&&);
</span><span class="cx"> 
</span><del>-    void didReceiveResponse(unsigned long, const ResourceResponse&) final { }
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final { }
</ins><span class="cx">     void notifyFinished() final;
</span><span class="cx"> 
</span><span class="cx">     void notifyClientFinished();
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/dom/Document.cpp       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -3833,12 +3833,12 @@
</span><span class="cx">     case HTTPHeaderName::XFrameOptions:
</span><span class="cx">         if (frame) {
</span><span class="cx">             FrameLoader& frameLoader = frame->loader();
</span><del>-            unsigned long requestIdentifier = 0;
</del><ins>+            ResourceLoaderIdentifier requestIdentifier;
</ins><span class="cx">             if (frameLoader.activeDocumentLoader() && frameLoader.activeDocumentLoader()->mainResourceLoader())
</span><span class="cx">                 requestIdentifier = frameLoader.activeDocumentLoader()->mainResourceLoader()->identifier();
</span><span class="cx"> 
</span><span class="cx">             String message = "The X-Frame-Option '" + content + "' supplied in a <meta> element was ignored. X-Frame-Options may only be provided by an HTTP header sent with the document.";
</span><del>-            addConsoleMessage(MessageSource::Security, MessageLevel::Error, message, requestIdentifier);
</del><ins>+            addConsoleMessage(MessageSource::Security, MessageLevel::Error, message, requestIdentifier.toUInt64());
</ins><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiFileReaderLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/FileReaderLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/FileReaderLoader.cpp        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/fileapi/FileReaderLoader.cpp   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FileReaderLoader::didReceiveResponse(unsigned long, const ResourceResponse& response)
</del><ins>+void FileReaderLoader::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     if (response.httpStatusCode() != 200) {
</span><span class="cx">         failed(httpStatusCodeToErrorCode(response.httpStatusCode()));
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx">         m_client->didReceiveData();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FileReaderLoader::didFinishLoading(unsigned long)
</del><ins>+void FileReaderLoader::didFinishLoading(ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     if (m_variableLength && m_totalBytes > m_bytesLoaded) {
</span><span class="cx">         m_rawData = m_rawData->slice(0, m_bytesLoaded);
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiFileReaderLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/FileReaderLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/FileReaderLoader.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/fileapi/FileReaderLoader.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -69,9 +69,9 @@
</span><span class="cx">     WEBCORE_EXPORT void cancel();
</span><span class="cx"> 
</span><span class="cx">     // ThreadableLoaderClient
</span><del>-    void didReceiveResponse(unsigned long, const ResourceResponse&) override;
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override;
</ins><span class="cx">     void didReceiveData(const uint8_t*, int) override;
</span><del>-    void didFinishLoading(unsigned long) override;
</del><ins>+    void didFinishLoading(ResourceLoaderIdentifier) override;
</ins><span class="cx">     void didFail(const ResourceError&) override;
</span><span class="cx"> 
</span><span class="cx">     String stringResult();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -575,13 +575,13 @@
</span><span class="cx">         pageAgent->applyEmulatedMedia(media);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::willSendRequestImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
</del><ins>+void InspectorInstrumentation::willSendRequestImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->willSendRequest(identifier, loader, request, redirectResponse, cachedResource);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::willSendRequestOfTypeImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)
</del><ins>+void InspectorInstrumentation::willSendRequestOfTypeImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->willSendRequestOfType(identifier, loader, request, loadType);
</span><span class="lines">@@ -596,7 +596,7 @@
</span><span class="cx">         networkAgent->didLoadResourceFromMemoryCache(loader, *cachedResource);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::didReceiveResourceResponseImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
</del><ins>+void InspectorInstrumentation::didReceiveResourceResponseImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     if (LIKELY(!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled()))
</span><span class="cx">         return;
</span><span class="lines">@@ -607,25 +607,25 @@
</span><span class="cx">         consoleAgent->didReceiveResponse(identifier, response); // This should come AFTER resource notification, front-end relies on this.
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl(InstrumentingAgents& instrumentingAgents, DocumentThreadableLoader& documentThreadableLoader, unsigned long identifier)
</del><ins>+void InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl(InstrumentingAgents& instrumentingAgents, DocumentThreadableLoader& documentThreadableLoader, ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->didReceiveThreadableLoaderResponse(identifier, documentThreadableLoader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::didReceiveDataImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength)
</del><ins>+void InspectorInstrumentation::didReceiveDataImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->didReceiveData(identifier, data, dataLength, encodedDataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::didFinishLoadingImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
</del><ins>+void InspectorInstrumentation::didFinishLoadingImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->didFinishLoading(identifier, loader, networkLoadMetrics, resourceLoader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::didFailLoadingImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, const ResourceError& error)
</del><ins>+void InspectorInstrumentation::didFailLoadingImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     if (LIKELY(!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled()))
</span><span class="cx">         return;
</span><span class="lines">@@ -648,7 +648,7 @@
</span><span class="cx">         networkAgent->didLoadXHRSynchronously();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::scriptImportedImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, const String& sourceString)
</del><ins>+void InspectorInstrumentation::scriptImportedImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, const String& sourceString)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->setInitialScriptContent(identifier, sourceString);
</span><span class="lines">@@ -660,7 +660,7 @@
</span><span class="cx">         webDebuggerAgent->scriptExecutionBlockedByCSP(directiveText);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::didReceiveScriptResponseImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier)
</del><ins>+void InspectorInstrumentation::didReceiveScriptResponseImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->didReceiveScriptResponse(identifier);
</span><span class="lines">@@ -850,7 +850,7 @@
</span><span class="cx">         networkAgent->interceptRequest(loader, WTFMove(handler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::interceptResponseImpl(InstrumentingAgents& instrumentingAgents, const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+void InspectorInstrumentation::interceptResponseImpl(InstrumentingAgents& instrumentingAgents, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
</span><span class="cx">         networkAgent->interceptResponse(response, identifier, WTFMove(handler));
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -45,6 +45,7 @@
</span><span class="cx"> #include "InspectorInstrumentationPublic.h"
</span><span class="cx"> #include "Page.h"
</span><span class="cx"> #include "ResourceLoader.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "StorageArea.h"
</span><span class="cx"> #include "WebAnimation.h"
</span><span class="cx"> #include "WorkerInspectorProxy.h"
</span><span class="lines">@@ -184,34 +185,34 @@
</span><span class="cx">     static void applyUserAgentOverride(Frame&, String&);
</span><span class="cx">     static void applyEmulatedMedia(Frame&, String&);
</span><span class="cx"> 
</span><del>-    static void willSendRequest(Frame*, unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
</del><ins>+    static void willSendRequest(Frame*, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
</ins><span class="cx">     static void didLoadResourceFromMemoryCache(Page&, DocumentLoader*, CachedResource*);
</span><del>-    static void didReceiveResourceResponse(Frame&, unsigned long identifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
-    static void didReceiveThreadableLoaderResponse(DocumentThreadableLoader&, unsigned long identifier);
-    static void didReceiveData(Frame*, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength);
-    static void didFinishLoading(Frame*, DocumentLoader*, unsigned long identifier, const NetworkLoadMetrics&, ResourceLoader*);
-    static void didFailLoading(Frame*, DocumentLoader*, unsigned long identifier, const ResourceError&);
</del><ins>+    static void didReceiveResourceResponse(Frame&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
+    static void didReceiveThreadableLoaderResponse(DocumentThreadableLoader&, ResourceLoaderIdentifier);
+    static void didReceiveData(Frame*, ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength);
+    static void didFinishLoading(Frame*, DocumentLoader*, ResourceLoaderIdentifier, const NetworkLoadMetrics&, ResourceLoader*);
+    static void didFailLoading(Frame*, DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&);
</ins><span class="cx"> 
</span><del>-    static void willSendRequest(WorkerOrWorkletGlobalScope&, unsigned long identifier, ResourceRequest&);
-    static void didReceiveResourceResponse(WorkerOrWorkletGlobalScope&, unsigned long identifier, const ResourceResponse&);
-    static void didReceiveData(WorkerOrWorkletGlobalScope&, unsigned long identifier, const uint8_t* data, int dataLength);
-    static void didFinishLoading(WorkerOrWorkletGlobalScope&, unsigned long identifier, const NetworkLoadMetrics&);
-    static void didFailLoading(WorkerOrWorkletGlobalScope&, unsigned long identifier, const ResourceError&);
</del><ins>+    static void willSendRequest(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, ResourceRequest&);
+    static void didReceiveResourceResponse(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const ResourceResponse&);
+    static void didReceiveData(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const uint8_t* data, int dataLength);
+    static void didFinishLoading(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const NetworkLoadMetrics&);
+    static void didFailLoading(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const ResourceError&);
</ins><span class="cx"> 
</span><span class="cx">     // Some network requests do not go through the normal network loading path.
</span><span class="cx">     // These network requests have to issue their own willSendRequest / didReceiveResponse / didFinishLoading / didFailLoading
</span><span class="cx">     // instrumentation calls. Some of these loads are for resources that lack a CachedResource::Type.
</span><span class="cx">     enum class LoadType { Ping, Beacon };
</span><del>-    static void willSendRequestOfType(Frame*, unsigned long identifier, DocumentLoader*, ResourceRequest&, LoadType);
</del><ins>+    static void willSendRequestOfType(Frame*, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, LoadType);
</ins><span class="cx"> 
</span><del>-    static void continueAfterXFrameOptionsDenied(Frame&, unsigned long identifier, DocumentLoader&, const ResourceResponse&);
-    static void continueWithPolicyDownload(Frame&, unsigned long identifier, DocumentLoader&, const ResourceResponse&);
-    static void continueWithPolicyIgnore(Frame&, unsigned long identifier, DocumentLoader&, const ResourceResponse&);
</del><ins>+    static void continueAfterXFrameOptionsDenied(Frame&, ResourceLoaderIdentifier, DocumentLoader&, const ResourceResponse&);
+    static void continueWithPolicyDownload(Frame&, ResourceLoaderIdentifier, DocumentLoader&, const ResourceResponse&);
+    static void continueWithPolicyIgnore(Frame&, ResourceLoaderIdentifier, DocumentLoader&, const ResourceResponse&);
</ins><span class="cx">     static void willLoadXHRSynchronously(ScriptExecutionContext*);
</span><span class="cx">     static void didLoadXHRSynchronously(ScriptExecutionContext*);
</span><del>-    static void scriptImported(ScriptExecutionContext&, unsigned long identifier, const String& sourceString);
</del><ins>+    static void scriptImported(ScriptExecutionContext&, ResourceLoaderIdentifier, const String& sourceString);
</ins><span class="cx">     static void scriptExecutionBlockedByCSP(ScriptExecutionContext*, const String& directiveText);
</span><del>-    static void didReceiveScriptResponse(ScriptExecutionContext*, unsigned long identifier);
</del><ins>+    static void didReceiveScriptResponse(ScriptExecutionContext*, ResourceLoaderIdentifier);
</ins><span class="cx">     static void domContentLoadedEventFired(Frame&);
</span><span class="cx">     static void loadEventFired(Frame*);
</span><span class="cx">     static void frameDetachedFromParent(Frame&);
</span><span class="lines">@@ -231,7 +232,7 @@
</span><span class="cx">     static bool shouldInterceptRequest(const Frame&, const ResourceRequest&);
</span><span class="cx">     static bool shouldInterceptResponse(const Frame&, const ResourceResponse&);
</span><span class="cx">     static void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><del>-    static void interceptResponse(const Frame&, const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    static void interceptResponse(const Frame&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</ins><span class="cx"> 
</span><span class="cx">     static void addMessageToConsole(Page&, std::unique_ptr<Inspector::ConsoleMessage>);
</span><span class="cx">     static void addMessageToConsole(WorkerOrWorkletGlobalScope&, std::unique_ptr<Inspector::ConsoleMessage>);
</span><span class="lines">@@ -403,20 +404,20 @@
</span><span class="cx">     static void applyUserAgentOverrideImpl(InstrumentingAgents&, String&);
</span><span class="cx">     static void applyEmulatedMediaImpl(InstrumentingAgents&, String&);
</span><span class="cx"> 
</span><del>-    static void willSendRequestImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
-    static void willSendRequestOfTypeImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, ResourceRequest&, LoadType);
-    static void markResourceAsCachedImpl(InstrumentingAgents&, unsigned long identifier);
</del><ins>+    static void willSendRequestImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
+    static void willSendRequestOfTypeImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, LoadType);
+    static void markResourceAsCachedImpl(InstrumentingAgents&, ResourceLoaderIdentifier);
</ins><span class="cx">     static void didLoadResourceFromMemoryCacheImpl(InstrumentingAgents&, DocumentLoader*, CachedResource*);
</span><del>-    static void didReceiveResourceResponseImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
-    static void didReceiveThreadableLoaderResponseImpl(InstrumentingAgents&, DocumentThreadableLoader&, unsigned long identifier);
-    static void didReceiveDataImpl(InstrumentingAgents&, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength);
-    static void didFinishLoadingImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*);
-    static void didFailLoadingImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, const ResourceError&);
</del><ins>+    static void didReceiveResourceResponseImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
+    static void didReceiveThreadableLoaderResponseImpl(InstrumentingAgents&, DocumentThreadableLoader&, ResourceLoaderIdentifier);
+    static void didReceiveDataImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength);
+    static void didFinishLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*);
+    static void didFailLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceError&);
</ins><span class="cx">     static void willLoadXHRSynchronouslyImpl(InstrumentingAgents&);
</span><span class="cx">     static void didLoadXHRSynchronouslyImpl(InstrumentingAgents&);
</span><del>-    static void scriptImportedImpl(InstrumentingAgents&, unsigned long identifier, const String& sourceString);
</del><ins>+    static void scriptImportedImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const String& sourceString);
</ins><span class="cx">     static void scriptExecutionBlockedByCSPImpl(InstrumentingAgents&, const String& directiveText);
</span><del>-    static void didReceiveScriptResponseImpl(InstrumentingAgents&, unsigned long identifier);
</del><ins>+    static void didReceiveScriptResponseImpl(InstrumentingAgents&, ResourceLoaderIdentifier);
</ins><span class="cx">     static void domContentLoadedEventFiredImpl(InstrumentingAgents&, Frame&);
</span><span class="cx">     static void loadEventFiredImpl(InstrumentingAgents&, Frame*);
</span><span class="cx">     static void frameDetachedFromParentImpl(InstrumentingAgents&, Frame&);
</span><span class="lines">@@ -436,7 +437,7 @@
</span><span class="cx">     static bool shouldInterceptRequestImpl(InstrumentingAgents&, const ResourceRequest&);
</span><span class="cx">     static bool shouldInterceptResponseImpl(InstrumentingAgents&, const ResourceResponse&);
</span><span class="cx">     static void interceptRequestImpl(InstrumentingAgents&, ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><del>-    static void interceptResponseImpl(InstrumentingAgents&, const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    static void interceptResponseImpl(InstrumentingAgents&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</ins><span class="cx"> 
</span><span class="cx">     static void addMessageToConsoleImpl(InstrumentingAgents&, std::unique_ptr<Inspector::ConsoleMessage>);
</span><span class="cx"> 
</span><span class="lines">@@ -1033,7 +1034,7 @@
</span><span class="cx">         applyEmulatedMediaImpl(*agents, media);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::willSendRequest(Frame* frame, unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
</del><ins>+inline void InspectorInstrumentation::willSendRequest(Frame* frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="lines">@@ -1040,13 +1041,13 @@
</span><span class="cx">         willSendRequestImpl(*agents, identifier, loader, request, redirectResponse, cachedResource);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::willSendRequest(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, ResourceRequest& request)
</del><ins>+inline void InspectorInstrumentation::willSendRequest(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, ResourceRequest& request)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     willSendRequestImpl(instrumentingAgents(globalScope), identifier, nullptr, request, ResourceResponse { }, nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::willSendRequestOfType(Frame* frame, unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)
</del><ins>+inline void InspectorInstrumentation::willSendRequestOfType(Frame* frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="lines">@@ -1059,18 +1060,18 @@
</span><span class="cx">     didLoadResourceFromMemoryCacheImpl(instrumentingAgents(page), loader, resource);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didReceiveResourceResponse(Frame& frame, unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
</del><ins>+inline void InspectorInstrumentation::didReceiveResourceResponse(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="cx">         didReceiveResourceResponseImpl(*agents, identifier, loader, response, resourceLoader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didReceiveResourceResponse(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, const ResourceResponse& response)
</del><ins>+inline void InspectorInstrumentation::didReceiveResourceResponse(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     didReceiveResourceResponseImpl(instrumentingAgents(globalScope), identifier, nullptr, response, nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didReceiveThreadableLoaderResponse(DocumentThreadableLoader& documentThreadableLoader, unsigned long identifier)
</del><ins>+inline void InspectorInstrumentation::didReceiveThreadableLoaderResponse(DocumentThreadableLoader& documentThreadableLoader, ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (auto* agents = instrumentingAgents(documentThreadableLoader.document()))
</span><span class="lines">@@ -1077,7 +1078,7 @@
</span><span class="cx">         didReceiveThreadableLoaderResponseImpl(*agents, documentThreadableLoader, identifier);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-inline void InspectorInstrumentation::didReceiveData(Frame* frame, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength)
</del><ins>+inline void InspectorInstrumentation::didReceiveData(Frame* frame, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="lines">@@ -1084,13 +1085,13 @@
</span><span class="cx">         didReceiveDataImpl(*agents, identifier, data, dataLength, encodedDataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didReceiveData(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, const uint8_t* data, int dataLength)
</del><ins>+inline void InspectorInstrumentation::didReceiveData(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     didReceiveDataImpl(instrumentingAgents(globalScope), identifier, data, dataLength, dataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didFinishLoading(Frame* frame, DocumentLoader* loader, unsigned long identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
</del><ins>+inline void InspectorInstrumentation::didFinishLoading(Frame* frame, DocumentLoader* loader, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="lines">@@ -1097,24 +1098,24 @@
</span><span class="cx">         didFinishLoadingImpl(*agents, identifier, loader, networkLoadMetrics, resourceLoader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didFinishLoading(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, const NetworkLoadMetrics& networkLoadMetrics)
</del><ins>+inline void InspectorInstrumentation::didFinishLoading(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     didFinishLoadingImpl(instrumentingAgents(globalScope), identifier, nullptr, networkLoadMetrics, nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didFailLoading(Frame* frame, DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
</del><ins>+inline void InspectorInstrumentation::didFailLoading(Frame* frame, DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="cx">         didFailLoadingImpl(*agents, identifier, loader, error);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, const ResourceError& error)
</del><ins>+inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     didFailLoadingImpl(instrumentingAgents(globalScope), identifier, nullptr, error);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(Frame& frame, unsigned long identifier, DocumentLoader& loader, const ResourceResponse& response)
</del><ins>+inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     // Treat the same as didReceiveResponse.
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="lines">@@ -1121,7 +1122,7 @@
</span><span class="cx">         didReceiveResourceResponseImpl(*agents, identifier, &loader, response, nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::continueWithPolicyDownload(Frame& frame, unsigned long identifier, DocumentLoader& loader, const ResourceResponse& response)
</del><ins>+inline void InspectorInstrumentation::continueWithPolicyDownload(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     // Treat the same as didReceiveResponse.
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="lines">@@ -1128,7 +1129,7 @@
</span><span class="cx">         didReceiveResourceResponseImpl(*agents, identifier, &loader, response, nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::continueWithPolicyIgnore(Frame& frame, unsigned long identifier, DocumentLoader& loader, const ResourceResponse& response)
</del><ins>+inline void InspectorInstrumentation::continueWithPolicyIgnore(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     // Treat the same as didReceiveResponse.
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span><span class="lines">@@ -1149,7 +1150,7 @@
</span><span class="cx">         didLoadXHRSynchronouslyImpl(*agents);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::scriptImported(ScriptExecutionContext& context, unsigned long identifier, const String& sourceString)
</del><ins>+inline void InspectorInstrumentation::scriptImported(ScriptExecutionContext& context, ResourceLoaderIdentifier identifier, const String& sourceString)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (auto* agents = instrumentingAgents(context))
</span><span class="lines">@@ -1163,7 +1164,7 @@
</span><span class="cx">         scriptExecutionBlockedByCSPImpl(*agents, directiveText);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::didReceiveScriptResponse(ScriptExecutionContext* context, unsigned long identifier)
</del><ins>+inline void InspectorInstrumentation::didReceiveScriptResponse(ScriptExecutionContext* context, ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (auto* agents = instrumentingAgents(context))
</span><span class="lines">@@ -1284,7 +1285,7 @@
</span><span class="cx">         interceptRequestImpl(*agents, loader, WTFMove(handler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::interceptResponse(const Frame& frame, const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+inline void InspectorInstrumentation::interceptResponse(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(InspectorInstrumentation::shouldInterceptResponse(frame, response));
</span><span class="cx">     if (auto* agents = instrumentingAgents(frame))
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationWebKitcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     InspectorInstrumentation::interceptRequest(loader, WTFMove(handler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentationWebKit::interceptResponseInternal(const Frame& frame, const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+void InspectorInstrumentationWebKit::interceptResponseInternal(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     InspectorInstrumentation::interceptResponse(frame, response, identifier, WTFMove(handler));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationWebKith"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -43,13 +43,13 @@
</span><span class="cx">     static bool shouldInterceptRequest(const Frame*, const ResourceRequest&);
</span><span class="cx">     static bool shouldInterceptResponse(const Frame*, const ResourceResponse&);
</span><span class="cx">     static void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><del>-    static void interceptResponse(const Frame*, const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    static void interceptResponse(const Frame*, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     static bool shouldInterceptRequestInternal(const Frame&, const ResourceRequest&);
</span><span class="cx">     static bool shouldInterceptResponseInternal(const Frame&, const ResourceResponse&);
</span><span class="cx">     static void interceptRequestInternal(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><del>-    static void interceptResponseInternal(const Frame&, const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    static void interceptResponseInternal(const Frame&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> inline bool InspectorInstrumentationWebKit::shouldInterceptRequest(const Frame* frame, const ResourceRequest& request)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     interceptRequestInternal(loader, WTFMove(handler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentationWebKit::interceptResponse(const Frame* frame, const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+inline void InspectorInstrumentationWebKit::interceptResponse(const Frame* frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(InspectorInstrumentationWebKit::shouldInterceptResponse(frame, response));
</span><span class="cx">     interceptResponseInternal(*frame, response, identifier, WTFMove(handler));
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectoragentsInspectorNetworkAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx"> 
</span><span class="cx">     ~InspectorThreadableLoaderClient() override = default;
</span><span class="cx"> 
</span><del>-    void didReceiveResponse(unsigned long, const ResourceResponse& response) override
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) override
</ins><span class="cx">     {
</span><span class="cx">         m_mimeType = response.mimeType();
</span><span class="cx">         m_statusCode = response.httpStatusCode();
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">         m_responseText.append(m_decoder->decode(data, dataLength));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void didFinishLoading(unsigned long) override
</del><ins>+    void didFinishLoading(ResourceLoaderIdentifier) override
</ins><span class="cx">     {
</span><span class="cx">         if (m_decoder)
</span><span class="cx">             m_responseText.append(m_decoder->flush());
</span><span class="lines">@@ -416,7 +416,7 @@
</span><span class="cx">     return m_environment.executionStopwatch().elapsedTime().seconds();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::willSendRequest(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType type)
</del><ins>+void InspectorNetworkAgent::willSendRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType type)
</ins><span class="cx"> {
</span><span class="cx">     if (request.hiddenFromInspector()) {
</span><span class="cx">         m_hiddenRequestIdentifiers.add(identifier);
</span><span class="lines">@@ -426,7 +426,7 @@
</span><span class="cx">     double sendTimestamp = timestamp();
</span><span class="cx">     WallTime walltime = WallTime::now();
</span><span class="cx"> 
</span><del>-    auto requestId = IdentifiersFactory::requestId(identifier);
</del><ins>+    auto requestId = IdentifiersFactory::requestId(identifier.toUInt64());
</ins><span class="cx">     auto frameId = frameIdentifier(loader);
</span><span class="cx">     auto loaderId = loaderIdentifier(loader);
</span><span class="cx">     String targetId = request.initiatorIdentifier();
</span><span class="lines">@@ -486,7 +486,7 @@
</span><span class="cx">     return InspectorPageAgent::OtherResource;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::willSendRequest(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
</del><ins>+void InspectorNetworkAgent::willSendRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
</ins><span class="cx"> {
</span><span class="cx">     if (!cachedResource && loader)
</span><span class="cx">         cachedResource = InspectorPageAgent::cachedResource(loader->frame(), request.url());
</span><span class="lines">@@ -493,17 +493,17 @@
</span><span class="cx">     willSendRequest(identifier, loader, request, redirectResponse, resourceTypeForCachedResource(cachedResource));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::willSendRequestOfType(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, InspectorInstrumentation::LoadType loadType)
</del><ins>+void InspectorNetworkAgent::willSendRequestOfType(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, InspectorInstrumentation::LoadType loadType)
</ins><span class="cx"> {
</span><span class="cx">     willSendRequest(identifier, loader, request, ResourceResponse(), resourceTypeForLoadType(loadType));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::didReceiveResponse(unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
</del><ins>+void InspectorNetworkAgent::didReceiveResponse(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     if (m_hiddenRequestIdentifiers.contains(identifier))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    String requestId = IdentifiersFactory::requestId(identifier);
</del><ins>+    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     std::optional<ResourceResponse> realResponse;
</span><span class="cx">     if (platformStrategies()->loaderStrategy()->havePerformedSecurityChecks(response)) {
</span><span class="lines">@@ -575,12 +575,12 @@
</span><span class="cx">         didReceiveData(identifier, nullptr, cachedResource->encodedSize(), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::didReceiveData(unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength)
</del><ins>+void InspectorNetworkAgent::didReceiveData(ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength)
</ins><span class="cx"> {
</span><span class="cx">     if (m_hiddenRequestIdentifiers.contains(identifier))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    String requestId = IdentifiersFactory::requestId(identifier);
</del><ins>+    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     if (data) {
</span><span class="cx">         NetworkResourcesData::ResourceData const* resourceData = m_resourcesData->maybeAddResourceData(requestId, data, dataLength);
</span><span class="lines">@@ -595,7 +595,7 @@
</span><span class="cx">     m_frontendDispatcher->dataReceived(requestId, timestamp(), dataLength, encodedDataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::didFinishLoading(unsigned long identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader*)
</del><ins>+void InspectorNetworkAgent::didFinishLoading(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader*)
</ins><span class="cx"> {
</span><span class="cx">     if (m_hiddenRequestIdentifiers.remove(identifier))
</span><span class="cx">         return;
</span><span class="lines">@@ -606,7 +606,7 @@
</span><span class="cx">     else
</span><span class="cx">         elapsedFinishTime = timestamp();
</span><span class="cx"> 
</span><del>-    String requestId = IdentifiersFactory::requestId(identifier);
</del><ins>+    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
</ins><span class="cx">     if (loader && m_resourcesData->resourceType(requestId) == InspectorPageAgent::DocumentResource)
</span><span class="cx">         m_resourcesData->addResourceSharedBuffer(requestId, loader->frameLoader()->documentLoader()->mainResourceData(), loader->frame()->document()->encoding());
</span><span class="cx"> 
</span><span class="lines">@@ -628,12 +628,12 @@
</span><span class="cx">     m_frontendDispatcher->loadingFinished(requestId, elapsedFinishTime, sourceMappingURL, WTFMove(metrics));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::didFailLoading(unsigned long identifier, DocumentLoader* loader, const ResourceError& error)
</del><ins>+void InspectorNetworkAgent::didFailLoading(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     if (m_hiddenRequestIdentifiers.remove(identifier))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    String requestId = IdentifiersFactory::requestId(identifier);
</del><ins>+    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     if (loader && m_resourcesData->resourceType(requestId) == InspectorPageAgent::DocumentResource) {
</span><span class="cx">         Frame* frame = loader->frame();
</span><span class="lines">@@ -653,8 +653,8 @@
</span><span class="cx">     if (!loader)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    unsigned long identifier = loader->frame()->page()->progress().createUniqueIdentifier();
-    String requestId = IdentifiersFactory::requestId(identifier);
</del><ins>+    auto identifier = ResourceLoaderIdentifier::generate();
+    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
</ins><span class="cx">     Protocol::Network::LoaderId loaderId = loaderIdentifier(loader);
</span><span class="cx">     Protocol::Network::FrameId frameId = frameIdentifier(loader);
</span><span class="cx"> 
</span><span class="lines">@@ -669,23 +669,23 @@
</span><span class="cx">     m_frontendDispatcher->requestServedFromMemoryCache(requestId, frameId, loaderId, loader->url().string(), timestamp(), WTFMove(initiatorObject), buildObjectForCachedResource(&resource));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::setInitialScriptContent(unsigned long identifier, const String& sourceString)
</del><ins>+void InspectorNetworkAgent::setInitialScriptContent(ResourceLoaderIdentifier identifier, const String& sourceString)
</ins><span class="cx"> {
</span><del>-    m_resourcesData->setResourceContent(IdentifiersFactory::requestId(identifier), sourceString);
</del><ins>+    m_resourcesData->setResourceContent(IdentifiersFactory::requestId(identifier.toUInt64()), sourceString);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::didReceiveScriptResponse(unsigned long identifier)
</del><ins>+void InspectorNetworkAgent::didReceiveScriptResponse(ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><del>-    m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier), InspectorPageAgent::ScriptResource);
</del><ins>+    m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::ScriptResource);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::didReceiveThreadableLoaderResponse(unsigned long identifier, DocumentThreadableLoader& documentThreadableLoader)
</del><ins>+void InspectorNetworkAgent::didReceiveThreadableLoaderResponse(ResourceLoaderIdentifier identifier, DocumentThreadableLoader& documentThreadableLoader)
</ins><span class="cx"> {
</span><span class="cx">     String initiator = documentThreadableLoader.options().initiator;
</span><span class="cx">     if (initiator == cachedResourceRequestInitiators().fetch)
</span><del>-        m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier), InspectorPageAgent::FetchResource);
</del><ins>+        m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::FetchResource);
</ins><span class="cx">     else if (initiator == cachedResourceRequestInitiators().xmlhttprequest)
</span><del>-        m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier), InspectorPageAgent::XHRResource);
</del><ins>+        m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::XHRResource);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorNetworkAgent::willLoadXHRSynchronously()
</span><span class="lines">@@ -1129,7 +1129,7 @@
</span><span class="cx">     ASSERT(m_enabled);
</span><span class="cx">     ASSERT(m_interceptionEnabled);
</span><span class="cx"> 
</span><del>-    String requestId = IdentifiersFactory::requestId(loader.identifier());
</del><ins>+    String requestId = IdentifiersFactory::requestId(loader.identifier().toUInt64());
</ins><span class="cx">     if (m_pendingInterceptRequests.contains(requestId)) {
</span><span class="cx">         handler(loader.request());
</span><span class="cx">         return;
</span><span class="lines">@@ -1138,12 +1138,12 @@
</span><span class="cx">     m_frontendDispatcher->requestIntercepted(requestId, buildObjectForResourceRequest(loader.request()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetworkAgent::interceptResponse(const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</del><ins>+void InspectorNetworkAgent::interceptResponse(const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_enabled);
</span><span class="cx">     ASSERT(m_interceptionEnabled);
</span><span class="cx"> 
</span><del>-    String requestId = IdentifiersFactory::requestId(identifier);
</del><ins>+    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
</ins><span class="cx">     if (m_pendingInterceptResponses.contains(requestId)) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         handler(response, nullptr);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectoragentsInspectorNetworkAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -98,17 +98,17 @@
</span><span class="cx">     // InspectorInstrumentation
</span><span class="cx">     void willRecalculateStyle();
</span><span class="cx">     void didRecalculateStyle();
</span><del>-    void willSendRequest(unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
-    void willSendRequestOfType(unsigned long identifier, DocumentLoader*, ResourceRequest&, InspectorInstrumentation::LoadType);
-    void didReceiveResponse(unsigned long identifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
-    void didReceiveData(unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength);
-    void didFinishLoading(unsigned long identifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*);
-    void didFailLoading(unsigned long identifier, DocumentLoader*, const ResourceError&);
</del><ins>+    void willSendRequest(ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
+    void willSendRequestOfType(ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, InspectorInstrumentation::LoadType);
+    void didReceiveResponse(ResourceLoaderIdentifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
+    void didReceiveData(ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength);
+    void didFinishLoading(ResourceLoaderIdentifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*);
+    void didFailLoading(ResourceLoaderIdentifier, DocumentLoader*, const ResourceError&);
</ins><span class="cx">     void didLoadResourceFromMemoryCache(DocumentLoader*, CachedResource&);
</span><del>-    void didReceiveThreadableLoaderResponse(unsigned long identifier, DocumentThreadableLoader&);
</del><ins>+    void didReceiveThreadableLoaderResponse(ResourceLoaderIdentifier, DocumentThreadableLoader&);
</ins><span class="cx">     void willLoadXHRSynchronously();
</span><span class="cx">     void didLoadXHRSynchronously();
</span><del>-    void didReceiveScriptResponse(unsigned long identifier);
</del><ins>+    void didReceiveScriptResponse(ResourceLoaderIdentifier);
</ins><span class="cx">     void willDestroyCachedResource(CachedResource&);
</span><span class="cx">     void didCreateWebSocket(unsigned long identifier, const URL& requestURL);
</span><span class="cx">     void willSendWebSocketHandshakeRequest(unsigned long identifier, const ResourceRequest&);
</span><span class="lines">@@ -118,12 +118,12 @@
</span><span class="cx">     void didSendWebSocketFrame(unsigned long identifier, const WebSocketFrame&);
</span><span class="cx">     void didReceiveWebSocketFrameError(unsigned long identifier, const String&);
</span><span class="cx">     void mainFrameNavigated(DocumentLoader&);
</span><del>-    void setInitialScriptContent(unsigned long identifier, const String& sourceString);
</del><ins>+    void setInitialScriptContent(ResourceLoaderIdentifier, const String& sourceString);
</ins><span class="cx">     void didScheduleStyleRecalculation(Document&);
</span><span class="cx">     bool willIntercept(const ResourceRequest&);
</span><span class="cx">     bool shouldInterceptRequest(const ResourceRequest&);
</span><span class="cx">     bool shouldInterceptResponse(const ResourceResponse&);
</span><del>-    void interceptResponse(const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</del><ins>+    void interceptResponse(const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
</ins><span class="cx">     void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
</span><span class="cx"> 
</span><span class="cx">     void searchOtherRequests(const JSC::Yarr::RegularExpression&, Ref<JSON::ArrayOf<Inspector::Protocol::Page::SearchResult>>&);
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx">     virtual bool shouldForceBufferingNetworkResourceData() const = 0;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    void willSendRequest(unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType);
</del><ins>+    void willSendRequest(ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType);
</ins><span class="cx"> 
</span><span class="cx">     bool shouldIntercept(URL, Inspector::Protocol::Network::NetworkStage);
</span><span class="cx">     void continuePendingRequests();
</span><span class="lines">@@ -226,7 +226,7 @@
</span><span class="cx">     std::unique_ptr<NetworkResourcesData> m_resourcesData;
</span><span class="cx"> 
</span><span class="cx">     HashMap<String, String> m_extraRequestHeaders;
</span><del>-    HashSet<unsigned long> m_hiddenRequestIdentifiers;
</del><ins>+    HashSet<ResourceLoaderIdentifier> m_hiddenRequestIdentifiers;
</ins><span class="cx"> 
</span><span class="cx">     struct Intercept {
</span><span class="cx">         String url;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectoragentsWebConsoleAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/agents/WebConsoleAgent.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/agents/WebConsoleAgent.cpp        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/inspector/agents/WebConsoleAgent.cpp   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -65,15 +65,15 @@
</span><span class="cx">     static_cast<WebInjectedScriptManager&>(m_injectedScriptManager).discardInjectedScriptsFor(window);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebConsoleAgent::didReceiveResponse(unsigned long requestIdentifier, const ResourceResponse& response)
</del><ins>+void WebConsoleAgent::didReceiveResponse(ResourceLoaderIdentifier requestIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     if (response.httpStatusCode() >= 400) {
</span><span class="cx">         auto message = makeString("Failed to load resource: the server responded with a status of ", response.httpStatusCode(), " (", ScriptArguments::truncateStringForConsoleMessage(response.httpStatusText()), ')');
</span><del>-        addMessageToConsole(makeUnique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message, response.url().string(), 0, 0, nullptr, requestIdentifier));
</del><ins>+        addMessageToConsole(makeUnique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message, response.url().string(), 0, 0, nullptr, requestIdentifier.toUInt64()));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebConsoleAgent::didFailLoading(unsigned long requestIdentifier, const ResourceError& error)
</del><ins>+void WebConsoleAgent::didFailLoading(ResourceLoaderIdentifier requestIdentifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     // Report failures only.
</span><span class="cx">     if (error.isCancellation())
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     auto message = makeString("Failed to load resource", error.localizedDescription().isEmpty() ? "" : ": ", error.localizedDescription());
</span><del>-    addMessageToConsole(makeUnique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message, error.failingURL().string(), 0, 0, nullptr, requestIdentifier));
</del><ins>+    addMessageToConsole(makeUnique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message, error.failingURL().string(), 0, 0, nullptr, requestIdentifier.toUInt64()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectoragentsWebConsoleAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/agents/WebConsoleAgent.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/agents/WebConsoleAgent.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/inspector/agents/WebConsoleAgent.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include "InspectorWebAgentBase.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include <JavaScriptCore/InspectorConsoleAgent.h>
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -43,8 +44,8 @@
</span><span class="cx"> 
</span><span class="cx">     // InspectorInstrumentation
</span><span class="cx">     void frameWindowDiscarded(DOMWindow*);
</span><del>-    void didReceiveResponse(unsigned long requestIdentifier, const ResourceResponse&);
-    void didFailLoading(unsigned long requestIdentifier, const ResourceError&);
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&);
+    void didFailLoading(ResourceLoaderIdentifier, const ResourceError&);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderCrossOriginPreflightCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">         m_resource->removeClient(*this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CrossOriginPreflightChecker::validatePreflightResponse(DocumentThreadableLoader& loader, ResourceRequest&& request, unsigned long identifier, const ResourceResponse& response)
</del><ins>+void CrossOriginPreflightChecker::validatePreflightResponse(DocumentThreadableLoader& loader, ResourceRequest&& request, ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     auto* frame = loader.document().frame();
</span><span class="cx">     if (!frame) {
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">     ResourceResponse response;
</span><span class="cx">     RefPtr<SharedBuffer> data;
</span><span class="cx"> 
</span><del>-    unsigned identifier = loader.document().frame()->loader().loadResourceSynchronously(preflightRequest, ClientCredentialPolicy::CannotAskClientForCredentials, FetchOptions { }, { }, error, response, data);
</del><ins>+    auto identifier = loader.document().frame()->loader().loadResourceSynchronously(preflightRequest, ClientCredentialPolicy::CannotAskClientForCredentials, FetchOptions { }, { }, error, response, data);
</ins><span class="cx"> 
</span><span class="cx">     if (!error.isNull()) {
</span><span class="cx">         // If the preflight was cancelled by underlying code, it probably means the request was blocked due to some access control policy.
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderCrossOriginPreflightCheckerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/CrossOriginPreflightChecker.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/CrossOriginPreflightChecker.h        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/CrossOriginPreflightChecker.h   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include "CachedRawResourceClient.h"
</span><span class="cx"> #include "CachedResourceHandle.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "ResourceRequest.h"
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -57,7 +58,7 @@
</span><span class="cx">     void redirectReceived(CachedResource&, ResourceRequest&&, const ResourceResponse&, CompletionHandler<void(ResourceRequest&&)>&&) final;
</span><span class="cx"> 
</span><span class="cx">     static void handleLoadingFailure(DocumentThreadableLoader&, unsigned long, const ResourceError&);
</span><del>-    static void validatePreflightResponse(DocumentThreadableLoader&, ResourceRequest&&, unsigned long, const ResourceResponse&);
</del><ins>+    static void validatePreflightResponse(DocumentThreadableLoader&, ResourceRequest&&, ResourceLoaderIdentifier, const ResourceResponse&);
</ins><span class="cx"> 
</span><span class="cx">     DocumentThreadableLoader& m_loader;
</span><span class="cx">     CachedResourceHandle<CachedRawResource> m_resource;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -464,8 +464,8 @@
</span><span class="cx">         // before calling dispatchDidFinishLoading so that we don't later try to
</span><span class="cx">         // cancel the already-finished substitute load.
</span><span class="cx">         NetworkLoadMetrics emptyMetrics;
</span><del>-        unsigned long identifier = m_identifierForLoadWithoutResourceLoader;
-        m_identifierForLoadWithoutResourceLoader = 0;
</del><ins>+        ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader;
+        m_identifierForLoadWithoutResourceLoader = { };
</ins><span class="cx">         frameLoader()->notifier().dispatchDidFinishLoading(this, identifier, emptyMetrics, nullptr);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -886,7 +886,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     DOCUMENTLOADER_RELEASE_LOG("startLoadingMainResource: Returning substitute data");
</span><del>-    m_identifierForLoadWithoutResourceLoader = m_frame->page()->progress().createUniqueIdentifier();
</del><ins>+    m_identifierForLoadWithoutResourceLoader = ResourceLoaderIdentifier::generate();
</ins><span class="cx">     frameLoader()->notifier().assignIdentifierToInitialRequest(m_identifierForLoadWithoutResourceLoader, this, m_request);
</span><span class="cx">     frameLoader()->notifier().dispatchWillSendRequest(this, m_identifierForLoadWithoutResourceLoader, m_request, ResourceResponse(), nullptr);
</span><span class="cx"> 
</span><span class="lines">@@ -939,7 +939,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(unsigned long identifier, const ResourceResponse& response)
</del><ins>+void DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     Ref<DocumentLoader> protectedThis { *this };
</span><span class="cx">     InspectorInstrumentation::continueAfterXFrameOptionsDenied(*m_frame, identifier, *this, response);
</span><span class="lines">@@ -1037,7 +1037,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ASSERT(m_identifierForLoadWithoutResourceLoader || m_mainResource);
</span><del>-    unsigned long identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();
</del><ins>+    ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();
</ins><span class="cx">     ASSERT(identifier);
</span><span class="cx"> 
</span><span class="cx">     if (m_substituteData.isValid() || !platformStrategies()->loaderStrategy()->havePerformedSecurityChecks(response)) {
</span><span class="lines">@@ -1054,7 +1054,7 @@
</span><span class="cx">             if (!frameOptions.isNull()) {
</span><span class="cx">                 if (frameLoader()->shouldInterruptLoadForXFrameOptions(frameOptions, url, identifier)) {
</span><span class="cx">                     String message = "Refused to display '" + url.stringCenterEllipsizedToLength() + "' in a frame because it set 'X-Frame-Options' to '" + frameOptions + "'.";
</span><del>-                    m_frame->document()->addConsoleMessage(MessageSource::Security, MessageLevel::Error, message, identifier);
</del><ins>+                    m_frame->document()->addConsoleMessage(MessageSource::Security, MessageLevel::Error, message, identifier.toUInt64());
</ins><span class="cx">                     stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(identifier, response);
</span><span class="cx">                     return;
</span><span class="cx">                 }
</span><span class="lines">@@ -1180,10 +1180,10 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (auto* currentDocument = frame()->document()) {
</span><del>-        unsigned long identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();
</del><ins>+        ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();
</ins><span class="cx">         ASSERT(identifier);
</span><span class="cx"> 
</span><del>-        currentDocument->addConsoleMessage(MessageSource::Security, MessageLevel::Error, makeString("Not allowed to navigate top frame to data URL '", m_response.url().stringCenterEllipsizedToLength(), "'."), identifier);
</del><ins>+        currentDocument->addConsoleMessage(MessageSource::Security, MessageLevel::Error, makeString("Not allowed to navigate top frame to data URL '", m_response.url().stringCenterEllipsizedToLength(), "'."), identifier.toUInt64());
</ins><span class="cx">     }
</span><span class="cx">     DOCUMENTLOADER_RELEASE_LOG("continueAfterContentPolicy: cannot show URL");
</span><span class="cx"> 
</span><span class="lines">@@ -2016,7 +2016,7 @@
</span><span class="cx">     ASSERT(m_subresourceLoaders.isEmpty());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentLoader::addSubresourceLoader(ResourceLoader* loader)
</del><ins>+void DocumentLoader::addSubresourceLoader(ResourceLoader& loader)
</ins><span class="cx"> {
</span><span class="cx">     // The main resource's underlying ResourceLoader will ask to be added here.
</span><span class="cx">     // It is much simpler to handle special casing of main resource loads if we don't
</span><span class="lines">@@ -2025,12 +2025,12 @@
</span><span class="cx">     // if we are just starting the main resource load.
</span><span class="cx">     if (!m_gotFirstByte)
</span><span class="cx">         return;
</span><del>-    ASSERT(loader->identifier());
-    ASSERT(!m_subresourceLoaders.contains(loader->identifier()));
-    ASSERT(!mainResourceLoader() || mainResourceLoader() != loader);
</del><ins>+    ASSERT(loader.identifier());
+    ASSERT(!m_subresourceLoaders.contains(loader.identifier()));
+    ASSERT(!mainResourceLoader() || mainResourceLoader() != &loader);
</ins><span class="cx"> 
</span><span class="cx">     // Application Cache loaders are handled by their ApplicationCacheGroup directly.
</span><del>-    if (loader->options().applicationCacheMode == ApplicationCacheMode::Bypass)
</del><ins>+    if (loader.options().applicationCacheMode == ApplicationCacheMode::Bypass)
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx"> #if ASSERT_ENABLED
</span><span class="lines">@@ -2040,7 +2040,7 @@
</span><span class="cx">             break;
</span><span class="cx">         case Document::AboutToEnterBackForwardCache: {
</span><span class="cx">             // A page about to enter the BackForwardCache should only be able to start ping loads.
</span><del>-            auto* cachedResource = downcast<SubresourceLoader>(loader)->cachedResource();
</del><ins>+            auto* cachedResource = downcast<SubresourceLoader>(loader).cachedResource();
</ins><span class="cx">             ASSERT(cachedResource && (CachedResource::shouldUsePingLoad(cachedResource->type()) || cachedResource->options().keepAlive));
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="lines">@@ -2052,7 +2052,7 @@
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    m_subresourceLoaders.add(loader->identifier(), loader);
</del><ins>+    m_subresourceLoaders.add(loader.identifier(), &loader);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DocumentLoader::removeSubresourceLoader(LoadCompletionType type, ResourceLoader* loader)
</span><span class="lines">@@ -2278,7 +2278,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     if (!mainResourceLoader()) {
</span><del>-        m_identifierForLoadWithoutResourceLoader = m_frame->page()->progress().createUniqueIdentifier();
</del><ins>+        m_identifierForLoadWithoutResourceLoader = ResourceLoaderIdentifier::generate();
</ins><span class="cx">         frameLoader()->notifier().assignIdentifierToInitialRequest(m_identifierForLoadWithoutResourceLoader, this, mainResourceRequest.resourceRequest());
</span><span class="cx">         frameLoader()->notifier().dispatchWillSendRequest(this, m_identifierForLoadWithoutResourceLoader, mainResourceRequest.resourceRequest(), ResourceResponse(), nullptr);
</span><span class="cx">     }
</span><span class="lines">@@ -2344,13 +2344,13 @@
</span><span class="cx">     unregisterTemporaryServiceWorkerClient();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentLoader::subresourceLoaderFinishedLoadingOnePart(ResourceLoader* loader)
</del><ins>+void DocumentLoader::subresourceLoaderFinishedLoadingOnePart(ResourceLoader& loader)
</ins><span class="cx"> {
</span><del>-    unsigned long identifier = loader->identifier();
</del><ins>+    ResourceLoaderIdentifier identifier = loader.identifier();
</ins><span class="cx">     ASSERT(identifier);
</span><span class="cx"> 
</span><del>-    if (!m_multipartSubresourceLoaders.add(identifier, loader).isNewEntry) {
-        ASSERT(m_multipartSubresourceLoaders.get(identifier) == loader);
</del><ins>+    if (!m_multipartSubresourceLoaders.add(identifier, &loader).isNewEntry) {
+        ASSERT(m_multipartSubresourceLoaders.get(identifier) == &loader);
</ins><span class="cx">         ASSERT(!m_subresourceLoaders.contains(identifier));
</span><span class="cx">     } else {
</span><span class="cx">         ASSERT(m_subresourceLoaders.contains(identifier));
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/DocumentLoader.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx"> #include "LinkIcon.h"
</span><span class="cx"> #include "NavigationAction.h"
</span><span class="cx"> #include "ResourceError.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "ResourceLoaderOptions.h"
</span><span class="cx"> #include "ResourceRequest.h"
</span><span class="cx"> #include "ResourceResponse.h"
</span><span class="lines">@@ -89,7 +90,7 @@
</span><span class="cx"> 
</span><span class="cx"> enum class ShouldContinue;
</span><span class="cx"> 
</span><del>-using ResourceLoaderMap = HashMap<unsigned long, RefPtr<ResourceLoader>>;
</del><ins>+using ResourceLoaderMap = HashMap<ResourceLoaderIdentifier, RefPtr<ResourceLoader>>;
</ins><span class="cx"> 
</span><span class="cx"> enum class AutoplayPolicy : uint8_t {
</span><span class="cx">     Default, // Uses policies specified in document settings.
</span><span class="lines">@@ -295,7 +296,7 @@
</span><span class="cx"> 
</span><span class="cx">     void stopLoadingPlugIns();
</span><span class="cx">     void stopLoadingSubresources();
</span><del>-    WEBCORE_EXPORT void stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(unsigned long identifier, const ResourceResponse&);
</del><ins>+    WEBCORE_EXPORT void stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(ResourceLoaderIdentifier, const ResourceResponse&);
</ins><span class="cx"> 
</span><span class="cx">     bool userContentExtensionsEnabled() const { return m_userContentExtensionsEnabled; }
</span><span class="cx">     void setUserContentExtensionsEnabled(bool enabled) { m_userContentExtensionsEnabled = enabled; }
</span><span class="lines">@@ -338,12 +339,12 @@
</span><span class="cx">     WEBCORE_EXPORT MouseEventPolicy mouseEventPolicy() const;
</span><span class="cx">     void setMouseEventPolicy(MouseEventPolicy policy) { m_mouseEventPolicy = policy; }
</span><span class="cx"> 
</span><del>-    void addSubresourceLoader(ResourceLoader*);
</del><ins>+    void addSubresourceLoader(ResourceLoader&);
</ins><span class="cx">     void removeSubresourceLoader(LoadCompletionType, ResourceLoader*);
</span><span class="cx">     void addPlugInStreamLoader(ResourceLoader&);
</span><span class="cx">     void removePlugInStreamLoader(ResourceLoader&);
</span><span class="cx"> 
</span><del>-    void subresourceLoaderFinishedLoadingOnePart(ResourceLoader*);
</del><ins>+    void subresourceLoaderFinishedLoadingOnePart(ResourceLoader&);
</ins><span class="cx"> 
</span><span class="cx">     void setDeferMainResourceDataLoad(bool defer) { m_deferMainResourceDataLoad = defer; }
</span><span class="cx">     
</span><span class="lines">@@ -610,7 +611,7 @@
</span><span class="cx">     bool m_loadingMainResource { false };
</span><span class="cx">     DocumentLoadTiming m_loadTiming;
</span><span class="cx"> 
</span><del>-    unsigned long m_identifierForLoadWithoutResourceLoader { 0 };
</del><ins>+    ResourceLoaderIdentifier m_identifierForLoadWithoutResourceLoader;
</ins><span class="cx"> 
</span><span class="cx">     DataLoadToken m_dataLoadToken;
</span><span class="cx">     bool m_waitingForContentPolicy { false };
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp 2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp    2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -399,7 +399,7 @@
</span><span class="cx">         completionHandler();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentThreadableLoader::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
</del><ins>+void DocumentThreadableLoader::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_client);
</span><span class="cx">     ASSERT(response.type() != ResourceResponse::Type::Error);
</span><span class="lines">@@ -433,7 +433,7 @@
</span><span class="cx">     didReceiveData(m_resource->identifier(), data, dataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentThreadableLoader::didReceiveData(unsigned long, const uint8_t* data, int dataLength)
</del><ins>+void DocumentThreadableLoader::didReceiveData(ResourceLoaderIdentifier, const uint8_t* data, int dataLength)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_client);
</span><span class="cx"> 
</span><span class="lines">@@ -469,7 +469,7 @@
</span><span class="cx">         didFinishLoading(m_resource->identifier());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentThreadableLoader::didFinishLoading(unsigned long identifier)
</del><ins>+void DocumentThreadableLoader::didFinishLoading(ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_client);
</span><span class="cx"> 
</span><span class="lines">@@ -503,7 +503,7 @@
</span><span class="cx">     m_client->didFinishLoading(identifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentThreadableLoader::didFail(unsigned long, const ResourceError& error)
</del><ins>+void DocumentThreadableLoader::didFail(ResourceLoaderIdentifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_client);
</span><span class="cx"> #if ENABLE(SERVICE_WORKER)
</span><span class="lines">@@ -535,7 +535,7 @@
</span><span class="cx">     loadRequest(WTFMove(actualRequest), SecurityCheckPolicy::SkipSecurityCheck);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void DocumentThreadableLoader::preflightFailure(unsigned long identifier, const ResourceError& error)
</del><ins>+void DocumentThreadableLoader::preflightFailure(ResourceLoaderIdentifier identifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     m_preflightChecker = std::nullopt;
</span><span class="cx"> 
</span><span class="lines">@@ -598,7 +598,7 @@
</span><span class="cx">     RefPtr<SharedBuffer> data;
</span><span class="cx">     ResourceError error;
</span><span class="cx">     ResourceResponse response;
</span><del>-    unsigned long identifier = std::numeric_limits<unsigned long>::max();
</del><ins>+    auto identifier = makeObjectIdentifier<ResourceLoader>(std::numeric_limits<uint64_t>::max());
</ins><span class="cx">     if (auto* frame = m_document.frame()) {
</span><span class="cx">         if (!MixedContentChecker::canRunInsecureContent(*frame, m_document.securityOrigin(), requestURL))
</span><span class="cx">             return;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentThreadableLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentThreadableLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentThreadableLoader.h   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/DocumentThreadableLoader.h      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include "ContentSecurityPolicy.h"
</span><span class="cx"> #include "CrossOriginPreflightChecker.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "ResourceResponse.h"
</span><span class="cx"> #include "SecurityOrigin.h"
</span><span class="cx"> #include "ThreadableLoader.h"
</span><span class="lines">@@ -91,15 +92,15 @@
</span><span class="cx">         void finishedTimingForWorkerLoad(const ResourceTiming&);
</span><span class="cx">         void notifyFinished(CachedResource&, const NetworkLoadMetrics&) override;
</span><span class="cx"> 
</span><del>-        void didReceiveResponse(unsigned long identifier, const ResourceResponse&);
-        void didReceiveData(unsigned long identifier, const uint8_t* data, int dataLength);
-        void didFinishLoading(unsigned long identifier);
-        void didFail(unsigned long identifier, const ResourceError&);
</del><ins>+        void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&);
+        void didReceiveData(ResourceLoaderIdentifier, const uint8_t* data, int dataLength);
+        void didFinishLoading(ResourceLoaderIdentifier);
+        void didFail(ResourceLoaderIdentifier, const ResourceError&);
</ins><span class="cx">         void makeCrossOriginAccessRequest(ResourceRequest&&);
</span><span class="cx">         void makeSimpleCrossOriginAccessRequest(ResourceRequest&&);
</span><span class="cx">         void makeCrossOriginAccessRequestWithPreflight(ResourceRequest&&);
</span><span class="cx">         void preflightSuccess(ResourceRequest&&);
</span><del>-        void preflightFailure(unsigned long identifier, const ResourceError&);
</del><ins>+        void preflightFailure(ResourceLoaderIdentifier, const ResourceError&);
</ins><span class="cx"> 
</span><span class="cx">         void loadRequest(ResourceRequest&&, SecurityCheckPolicy);
</span><span class="cx">         bool isAllowedRedirect(const URL&);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyClientscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/EmptyClients.cpp     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/EmptyClients.cpp        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -673,26 +673,26 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EmptyFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long, DocumentLoader*, const ResourceRequest&)
</del><ins>+void EmptyFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool EmptyFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, unsigned long)
</del><ins>+bool EmptyFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EmptyFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, const ResourceResponse&)
</del><ins>+void EmptyFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse&)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)
</del><ins>+void EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, ResourceLoaderIdentifier, const AuthenticationChallenge&)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
</span><span class="cx"> 
</span><del>-bool EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace&)
</del><ins>+bool EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, ResourceLoaderIdentifier, const ProtectionSpace&)
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="lines">@@ -701,7 +701,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS_FAMILY)
</span><span class="cx"> 
</span><del>-RetainPtr<CFDictionaryRef> EmptyFrameLoaderClient::connectionProperties(DocumentLoader*, unsigned long)
</del><ins>+RetainPtr<CFDictionaryRef> EmptyFrameLoaderClient::connectionProperties(DocumentLoader*, ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -708,15 +708,15 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void EmptyFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse&)
</del><ins>+void EmptyFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EmptyFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, unsigned long, int)
</del><ins>+void EmptyFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier, int)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EmptyFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, unsigned long)
</del><ins>+void EmptyFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -728,7 +728,7 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void EmptyFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&)
</del><ins>+void EmptyFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1067,7 +1067,7 @@
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EmptyFrameLoaderClient::willCacheResponse(DocumentLoader*, unsigned long, NSCachedURLResponse *response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
</del><ins>+void EmptyFrameLoaderClient::willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, NSCachedURLResponse *response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
</ins><span class="cx"> {
</span><span class="cx">     completionHandler(response);
</span><span class="cx"> }
</span><span class="lines">@@ -1076,7 +1076,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if USE(CFURLCONNECTION)
</span><span class="cx"> 
</span><del>-bool EmptyFrameLoaderClient::shouldCacheResponse(DocumentLoader*, unsigned long, const ResourceResponse&, const unsigned char*, unsigned long long)
</del><ins>+bool EmptyFrameLoaderClient::shouldCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, const unsigned char*, unsigned long long)
</ins><span class="cx"> {
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -53,25 +53,25 @@
</span><span class="cx"> 
</span><span class="cx">     void convertMainResourceLoadToDownload(DocumentLoader*, const ResourceRequest&, const ResourceResponse&) final;
</span><span class="cx"> 
</span><del>-    void assignIdentifierToInitialRequest(unsigned long, DocumentLoader*, const ResourceRequest&) final;
-    bool shouldUseCredentialStorage(DocumentLoader*, unsigned long) override;
-    void dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, const ResourceResponse&) final;
-    void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&) final;
</del><ins>+    void assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&) final;
+    bool shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier) override;
+    void dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse&) final;
+    void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, ResourceLoaderIdentifier, const AuthenticationChallenge&) final;
</ins><span class="cx"> #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
</span><del>-    bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace&) final;
</del><ins>+    bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, ResourceLoaderIdentifier, const ProtectionSpace&) final;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS_FAMILY)
</span><del>-    RetainPtr<CFDictionaryRef> connectionProperties(DocumentLoader*, unsigned long) final;
</del><ins>+    RetainPtr<CFDictionaryRef> connectionProperties(DocumentLoader*, ResourceLoaderIdentifier) final;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse&) final;
-    void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long, int) final;
-    void dispatchDidFinishLoading(DocumentLoader*, unsigned long) final;
</del><ins>+    void dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&) final;
+    void dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier, int) final;
+    void dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier) final;
</ins><span class="cx"> #if ENABLE(DATA_DETECTION)
</span><span class="cx">     void dispatchDidFinishDataDetection(NSArray *) final;
</span><span class="cx"> #endif
</span><del>-    void dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&) final;
</del><ins>+    void dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&) final;
</ins><span class="cx">     bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int) final;
</span><span class="cx"> 
</span><span class="cx">     void dispatchDidDispatchOnloadEvents() final;
</span><span class="lines">@@ -182,11 +182,11 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     RemoteAXObjectRef accessibilityRemoteObject() final;
</span><del>-    void willCacheResponse(DocumentLoader*, unsigned long, NSCachedURLResponse *, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
</del><ins>+    void willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, NSCachedURLResponse *, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if USE(CFURLCONNECTION)
</span><del>-    bool shouldCacheResponse(DocumentLoader*, unsigned long, const ResourceResponse&, const unsigned char*, unsigned long long) final;
</del><ins>+    bool shouldCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, const unsigned char*, unsigned long long) final;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     Ref<FrameNetworkingContext> createNetworkingContext() final;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -1689,7 +1689,7 @@
</span><span class="cx">     ResourceRequest request(url);
</span><span class="cx">     request.setInspectorInitiatorNodeIdentifier(InspectorInstrumentation::identifierForNode(initiatorNode));
</span><span class="cx"> 
</span><del>-    unsigned long identifier;
</del><ins>+    ResourceLoaderIdentifier identifier;
</ins><span class="cx">     ResourceError error;
</span><span class="cx">     requestFromDelegate(request, identifier, error);
</span><span class="cx">     notifier().sendRemainingDelegateMessages(m_documentLoader.get(), identifier, request, ResourceResponse(url, String(), -1, String()), 0, -1, -1, error);
</span><span class="lines">@@ -2068,7 +2068,7 @@
</span><span class="cx">         // Start request for the main resource and dispatch didReceiveResponse before the load is committed for
</span><span class="cx">         // consistency with all other loads. See https://bugs.webkit.org/show_bug.cgi?id=150927.
</span><span class="cx">         ResourceError mainResouceError;
</span><del>-        unsigned long mainResourceIdentifier;
</del><ins>+        ResourceLoaderIdentifier mainResourceIdentifier;
</ins><span class="cx">         ResourceRequest mainResourceRequest(cachedPage->documentLoader()->request());
</span><span class="cx">         requestFromDelegate(mainResourceRequest, mainResourceIdentifier, mainResouceError);
</span><span class="cx">         notifier().dispatchDidReceiveResponse(cachedPage->documentLoader(), mainResourceIdentifier, cachedPage->documentLoader()->response());
</span><span class="lines">@@ -2133,7 +2133,7 @@
</span><span class="cx">             const auto& response = m_documentLoader->responses()[i];
</span><span class="cx">             // FIXME: If the WebKit client changes or cancels the request, this is not respected.
</span><span class="cx">             ResourceError error;
</span><del>-            unsigned long identifier;
</del><ins>+            ResourceLoaderIdentifier identifier;
</ins><span class="cx">             ResourceRequest request(response.url());
</span><span class="cx">             requestFromDelegate(request, identifier, error);
</span><span class="cx">             // FIXME: If we get a resource with more than 2B bytes, this code won't do the right thing.
</span><span class="lines">@@ -3106,7 +3106,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-unsigned long FrameLoader::loadResourceSynchronously(const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data)
</del><ins>+ResourceLoaderIdentifier FrameLoader::loadResourceSynchronously(const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_frame.document());
</span><span class="cx">     String referrer = SecurityPolicy::generateReferrerHeader(m_frame.document()->referrerPolicy(), request.url(), outgoingReferrer());
</span><span class="lines">@@ -3124,7 +3124,7 @@
</span><span class="cx"> 
</span><span class="cx">     applyUserAgentIfNeeded(initialRequest);
</span><span class="cx"> 
</span><del>-    unsigned long identifier = 0;    
</del><ins>+    ResourceLoaderIdentifier identifier;    
</ins><span class="cx">     ResourceRequest newRequest(initialRequest);
</span><span class="cx">     requestFromDelegate(newRequest, identifier, error);
</span><span class="cx"> 
</span><span class="lines">@@ -3587,15 +3587,12 @@
</span><span class="cx">     mainFrame->loader().loadWithNavigationAction(request, WTFMove(newAction), FrameLoadType::Standard, formState, allowNavigationToInvalidURL);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FrameLoader::requestFromDelegate(ResourceRequest& request, unsigned long& identifier, ResourceError& error)
</del><ins>+void FrameLoader::requestFromDelegate(ResourceRequest& request, ResourceLoaderIdentifier& identifier, ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!request.isNull());
</span><span class="cx"> 
</span><del>-    identifier = 0;
-    if (Page* page = m_frame.page()) {
-        identifier = page->progress().createUniqueIdentifier();
-        notifier().assignIdentifierToInitialRequest(identifier, m_documentLoader.get(), request);
-    }
</del><ins>+    identifier = ResourceLoaderIdentifier::generate();
+    notifier().assignIdentifierToInitialRequest(identifier, m_documentLoader.get(), request);
</ins><span class="cx"> 
</span><span class="cx">     ResourceRequest newRequest(request);
</span><span class="cx">     notifier().dispatchWillSendRequest(m_documentLoader.get(), identifier, newRequest, ResourceResponse(), nullptr);
</span><span class="lines">@@ -3634,7 +3631,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    unsigned long identifier;
</del><ins>+    ResourceLoaderIdentifier identifier;
</ins><span class="cx">     requestFromDelegate(newRequest, identifier, error);
</span><span class="cx"> 
</span><span class="cx">     ResourceResponse response = resource.response();
</span><span class="lines">@@ -3651,7 +3648,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool FrameLoader::shouldInterruptLoadForXFrameOptions(const String& content, const URL& url, unsigned long requestIdentifier)
</del><ins>+bool FrameLoader::shouldInterruptLoadForXFrameOptions(const String& content, const URL& url, ResourceLoaderIdentifier requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     Frame& topFrame = m_frame.tree().top();
</span><span class="cx">     if (&m_frame == &topFrame)
</span><span class="lines">@@ -3675,10 +3672,10 @@
</span><span class="cx">     case XFrameOptionsDisposition::AllowAll:
</span><span class="cx">         return false;
</span><span class="cx">     case XFrameOptionsDisposition::Conflict:
</span><del>-        m_frame.document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, "Multiple 'X-Frame-Options' headers with conflicting values ('" + content + "') encountered when loading '" + url.stringCenterEllipsizedToLength() + "'. Falling back to 'DENY'.", requestIdentifier);
</del><ins>+        m_frame.document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, "Multiple 'X-Frame-Options' headers with conflicting values ('" + content + "') encountered when loading '" + url.stringCenterEllipsizedToLength() + "'. Falling back to 'DENY'.", requestIdentifier.toUInt64());
</ins><span class="cx">         return true;
</span><span class="cx">     case XFrameOptionsDisposition::Invalid:
</span><del>-        m_frame.document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, "Invalid 'X-Frame-Options' header encountered when loading '" + url.stringCenterEllipsizedToLength() + "': '" + content + "' is not a recognized directive. The header will be ignored.", requestIdentifier);
</del><ins>+        m_frame.document()->addConsoleMessage(MessageSource::JS, MessageLevel::Error, "Invalid 'X-Frame-Options' header encountered when loading '" + url.stringCenterEllipsizedToLength() + "': '" + content + "' is not a recognized directive. The header will be ignored.", requestIdentifier.toUInt64());
</ins><span class="cx">         return false;
</span><span class="cx">     case XFrameOptionsDisposition::None:
</span><span class="cx">         return false;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.h        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/FrameLoader.h   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -127,7 +127,7 @@
</span><span class="cx"> #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
</span><span class="cx">     WEBCORE_EXPORT void loadArchive(Ref<Archive>&&);
</span><span class="cx"> #endif
</span><del>-    unsigned long loadResourceSynchronously(const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, RefPtr<SharedBuffer>& data);
</del><ins>+    ResourceLoaderIdentifier loadResourceSynchronously(const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, RefPtr<SharedBuffer>& data);
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void changeLocation(const URL&, const String& target, Event*, const ReferrerPolicy&, ShouldOpenExternalURLsPolicy, std::optional<NewFrameOpenerPolicy> = std::nullopt, const AtomString& downloadAttribute = nullAtom(), const SystemPreviewInfo& = { }, std::optional<PrivateClickMeasurement>&& = std::nullopt);
</span><span class="cx">     void changeLocation(FrameLoadRequest&&, Event* = nullptr, std::optional<PrivateClickMeasurement>&& = std::nullopt);
</span><span class="lines">@@ -275,7 +275,7 @@
</span><span class="cx"> 
</span><span class="cx">     void applyUserAgentIfNeeded(ResourceRequest&);
</span><span class="cx"> 
</span><del>-    bool shouldInterruptLoadForXFrameOptions(const String&, const URL&, unsigned long requestIdentifier);
</del><ins>+    bool shouldInterruptLoadForXFrameOptions(const String&, const URL&, ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     void completed();
</span><span class="cx">     bool allAncestorsAreComplete() const; // including this
</span><span class="lines">@@ -386,7 +386,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool shouldReload(const URL& currentURL, const URL& destinationURL);
</span><span class="cx"> 
</span><del>-    void requestFromDelegate(ResourceRequest&, unsigned long& identifier, ResourceError&);
</del><ins>+    void requestFromDelegate(ResourceRequest&, ResourceLoaderIdentifier&, ResourceError&);
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void detachChildren();
</span><span class="cx">     void closeAndRemoveChild(Frame&);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoaderClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoaderClient.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/FrameLoaderClient.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include "LinkIcon.h"
</span><span class="cx"> #include "PageIdentifier.h"
</span><span class="cx"> #include "RegistrableDomain.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include <wtf/Expected.h>
</span><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx"> #include <wtf/WallTime.h>
</span><span class="lines">@@ -138,23 +139,23 @@
</span><span class="cx">     virtual void detachedFromParent2() = 0;
</span><span class="cx">     virtual void detachedFromParent3() = 0;
</span><span class="cx"> 
</span><del>-    virtual void assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&) = 0;
</del><ins>+    virtual void assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&) = 0;
</ins><span class="cx"> 
</span><del>-    virtual void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse) = 0;
-    virtual bool shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier) = 0;
-    virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&) = 0;
</del><ins>+    virtual void dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse& redirectResponse) = 0;
+    virtual bool shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier) = 0;
+    virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, ResourceLoaderIdentifier, const AuthenticationChallenge&) = 0;
</ins><span class="cx"> #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
</span><del>-    virtual bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long identifier, const ProtectionSpace&) = 0;
</del><ins>+    virtual bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, ResourceLoaderIdentifier, const ProtectionSpace&) = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS_FAMILY)
</span><del>-    virtual RetainPtr<CFDictionaryRef> connectionProperties(DocumentLoader*, unsigned long identifier) = 0;
</del><ins>+    virtual RetainPtr<CFDictionaryRef> connectionProperties(DocumentLoader*, ResourceLoaderIdentifier) = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    virtual void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&) = 0;
-    virtual void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long identifier, int dataLength) = 0;
-    virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier) = 0;
-    virtual void dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&) = 0;
</del><ins>+    virtual void dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&) = 0;
+    virtual void dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier, int dataLength) = 0;
+    virtual void dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier) = 0;
+    virtual void dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&) = 0;
</ins><span class="cx">     virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length) = 0;
</span><span class="cx"> 
</span><span class="cx">     virtual void dispatchDidDispatchOnloadEvents() = 0;
</span><span class="lines">@@ -298,13 +299,13 @@
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     // Allow an accessibility object to retrieve a Frame parent if there's no PlatformWidget.
</span><span class="cx">     virtual RemoteAXObjectRef accessibilityRemoteObject() = 0;
</span><del>-    virtual void willCacheResponse(DocumentLoader*, unsigned long identifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const = 0;
</del><ins>+    virtual void willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const = 0;
</ins><span class="cx">     virtual NSDictionary *dataDetectionContext() { return nullptr; }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if USE(CFURLCONNECTION)
</span><span class="cx">     // FIXME: Windows should use willCacheResponse - <https://bugs.webkit.org/show_bug.cgi?id=57257>.
</span><del>-    virtual bool shouldCacheResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const unsigned char* data, unsigned long long length) = 0;
</del><ins>+    virtual bool shouldCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, const unsigned char* data, unsigned long long length) = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldAlwaysUsePluginDocument(const String& /*mimeType*/) const { return false; }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderLoaderStrategycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/LoaderStrategy.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LoaderStrategy.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/LoaderStrategy.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -41,17 +41,17 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ResourceResponse LoaderStrategy::responseFromResourceLoadIdentifier(uint64_t /* resourceLoadIdentifier */)
</del><ins>+ResourceResponse LoaderStrategy::responseFromResourceLoadIdentifier(ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NetworkLoadMetrics LoaderStrategy::networkMetricsFromResourceLoadIdentifier(uint64_t /* resourceLoadIdentifier */)
</del><ins>+NetworkLoadMetrics LoaderStrategy::networkMetricsFromResourceLoadIdentifier(ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Vector<NetworkTransactionInformation> LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(uint64_t /* resourceLoadIdentifier */)
</del><ins>+Vector<NetworkTransactionInformation> LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     return { };
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderLoaderStrategyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/LoaderStrategy.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LoaderStrategy.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/LoaderStrategy.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include "LoadSchedulingMode.h"
</span><span class="cx"> #include "PageIdentifier.h"
</span><span class="cx"> #include "ResourceLoadPriority.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "ResourceLoaderOptions.h"
</span><span class="cx"> #include "StoredCredentialsPolicy.h"
</span><span class="cx"> #include <wtf/Forward.h>
</span><span class="lines">@@ -58,7 +59,7 @@
</span><span class="cx"> class WEBCORE_EXPORT LoaderStrategy {
</span><span class="cx"> public:
</span><span class="cx">     virtual void loadResource(Frame&, CachedResource&, ResourceRequest&&, const ResourceLoaderOptions&, CompletionHandler<void(RefPtr<SubresourceLoader>&&)>&&) = 0;
</span><del>-    virtual void loadResourceSynchronously(FrameLoader&, unsigned long identifier, const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, Vector<uint8_t>& data) = 0;
</del><ins>+    virtual void loadResourceSynchronously(FrameLoader&, ResourceLoaderIdentifier, const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, Vector<uint8_t>& data) = 0;
</ins><span class="cx">     virtual void pageLoadCompleted(Page&) = 0;
</span><span class="cx">     virtual void browsingContextRemoved(Frame&) = 0;
</span><span class="cx"> 
</span><span class="lines">@@ -88,14 +89,14 @@
</span><span class="cx">     virtual bool shouldPerformSecurityChecks() const { return false; }
</span><span class="cx">     virtual bool havePerformedSecurityChecks(const ResourceResponse&) const { return false; }
</span><span class="cx"> 
</span><del>-    virtual ResourceResponse responseFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier);
-    virtual Vector<NetworkTransactionInformation> intermediateLoadInformationFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier);
-    virtual NetworkLoadMetrics networkMetricsFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier);
</del><ins>+    virtual ResourceResponse responseFromResourceLoadIdentifier(ResourceLoaderIdentifier);
+    virtual Vector<NetworkTransactionInformation> intermediateLoadInformationFromResourceLoadIdentifier(ResourceLoaderIdentifier);
+    virtual NetworkLoadMetrics networkMetricsFromResourceLoadIdentifier(ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     virtual void isResourceLoadFinished(CachedResource&, CompletionHandler<void(bool)>&& callback) = 0;
</span><span class="cx"> 
</span><span class="cx">     // Used for testing only.
</span><del>-    virtual Vector<uint64_t> ongoingLoads() const { return { }; }
</del><ins>+    virtual Vector<ResourceLoaderIdentifier> ongoingLoads() const { return { }; }
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     virtual ~LoaderStrategy();
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderPingLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/PingLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/PingLoader.cpp       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/PingLoader.cpp  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -200,7 +200,7 @@
</span><span class="cx"> 
</span><span class="cx"> void PingLoader::startPingLoad(Frame& frame, ResourceRequest& request, HTTPHeaderMap&& originalRequestHeaders, ShouldFollowRedirects shouldFollowRedirects, ContentSecurityPolicyImposition policyCheck, ReferrerPolicy referrerPolicy, std::optional<ViolationReportType> violationReportType)
</span><span class="cx"> {
</span><del>-    unsigned long identifier = frame.page()->progress().createUniqueIdentifier();
</del><ins>+    auto identifier = ResourceLoaderIdentifier::generate();
</ins><span class="cx">     // FIXME: Why activeDocumentLoader? I would have expected documentLoader().
</span><span class="cx">     // It seems like the PingLoader should be associated with the current
</span><span class="cx">     // Document in the Frame, but the activeDocumentLoader will be associated
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderProgressTrackercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ProgressTracker.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ProgressTracker.cpp  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/ProgressTracker.cpp     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx">     InspectorInstrumentation::frameStoppedLoading(*frame);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ProgressTracker::incrementProgress(unsigned long identifier, const ResourceResponse& response)
</del><ins>+void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Progress, "Progress incremented (%p) - value %f, tracked frames %d, originating frame %p", this, m_progressValue, m_numProgressTrackedFrames, m_originatingProgressFrame.get());
</span><span class="cx"> 
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">     item->estimatedLength = estimatedLength;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ProgressTracker::incrementProgress(unsigned long identifier, unsigned bytesReceived)
</del><ins>+void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, unsigned bytesReceived)
</ins><span class="cx"> {
</span><span class="cx">     ProgressItem* item = m_progressItems.get(identifier);
</span><span class="cx"> 
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx">     m_client->didChangeEstimatedProgress();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ProgressTracker::completeProgress(unsigned long identifier)
</del><ins>+void ProgressTracker::completeProgress(ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     auto it = m_progressItems.find(identifier);
</span><span class="cx"> 
</span><span class="lines">@@ -285,6 +285,7 @@
</span><span class="cx"> 
</span><span class="cx"> unsigned long ProgressTracker::createUniqueIdentifier()
</span><span class="cx"> {
</span><ins>+    // FIXME: Use a strongly typed identifier for websockets and remove this.
</ins><span class="cx">     return ++s_uniqueIdentifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderProgressTrackerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ProgressTracker.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ProgressTracker.h    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/ProgressTracker.h       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "Timer.h"
</span><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx"> #include <wtf/HashMap.h>
</span><span class="lines">@@ -55,9 +56,9 @@
</span><span class="cx">     void progressStarted(Frame&);
</span><span class="cx">     void progressCompleted(Frame&);
</span><span class="cx"> 
</span><del>-    void incrementProgress(unsigned long identifier, const ResourceResponse&);
-    void incrementProgress(unsigned long identifier, unsigned bytesReceived);
-    void completeProgress(unsigned long identifier);
</del><ins>+    void incrementProgress(ResourceLoaderIdentifier, const ResourceResponse&);
+    void incrementProgress(ResourceLoaderIdentifier, unsigned bytesReceived);
+    void completeProgress(ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     long long totalPageAndResourceBytesToLoad() const { return m_totalPageAndResourceBytesToLoad; }
</span><span class="cx">     long long totalBytesReceived() const { return m_totalBytesReceived; }
</span><span class="lines">@@ -74,7 +75,7 @@
</span><span class="cx"> 
</span><span class="cx">     UniqueRef<ProgressTrackerClient> m_client;
</span><span class="cx">     RefPtr<Frame> m_originatingProgressFrame;
</span><del>-    HashMap<unsigned long, std::unique_ptr<ProgressItem>> m_progressItems;
</del><ins>+    HashMap<ResourceLoaderIdentifier, std::unique_ptr<ProgressItem>> m_progressItems;
</ins><span class="cx">     Timer m_progressHeartbeatTimer;
</span><span class="cx"> 
</span><span class="cx">     long long m_totalPageAndResourceBytesToLoad { 0 };
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadNotifiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     didReceiveAuthenticationChallenge(loader->identifier(), loader->documentLoader(), currentWebChallenge);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoadNotifier::didReceiveAuthenticationChallenge(unsigned long identifier, DocumentLoader* loader, const AuthenticationChallenge& currentWebChallenge)
</del><ins>+void ResourceLoadNotifier::didReceiveAuthenticationChallenge(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const AuthenticationChallenge& currentWebChallenge)
</ins><span class="cx"> {
</span><span class="cx">     m_frame.loader().client().dispatchDidReceiveAuthenticationChallenge(loader, identifier, currentWebChallenge);
</span><span class="cx"> }
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">     InspectorInstrumentation::didFailLoading(&m_frame, loader->documentLoader(), loader->identifier(), error);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoadNotifier::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
</del><ins>+void ResourceLoadNotifier::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request)
</ins><span class="cx"> {
</span><span class="cx">     bool pageIsProvisionallyLoading = false;
</span><span class="cx">     if (auto* frameLoader = loader ? loader->frameLoader() : nullptr)
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">     m_frame.loader().client().assignIdentifierToInitialRequest(identifier, loader, request);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoadNotifier::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
</del><ins>+void ResourceLoadNotifier::dispatchWillSendRequest(DocumentLoader* loader, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
</ins><span class="cx"> {
</span><span class="cx"> #if USE(QUICK_LOOK)
</span><span class="cx">     // Always allow QuickLook-generated URLs based on the protocol scheme.
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx">     InspectorInstrumentation::willSendRequest(&m_frame, identifier, loader, request, redirectResponse, cachedResource);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoadNotifier::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& r, ResourceLoader* resourceLoader)
</del><ins>+void ResourceLoadNotifier::dispatchDidReceiveResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& r, ResourceLoader* resourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     // Notifying the FrameLoaderClient may cause the frame to be destroyed.
</span><span class="cx">     Ref<Frame> protect(m_frame);
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx">     InspectorInstrumentation::didReceiveResourceResponse(m_frame, identifier, loader, r, resourceLoader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoadNotifier::dispatchDidReceiveData(DocumentLoader* loader, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength)
</del><ins>+void ResourceLoadNotifier::dispatchDidReceiveData(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength)
</ins><span class="cx"> {
</span><span class="cx">     // Notifying the FrameLoaderClient may cause the frame to be destroyed.
</span><span class="cx">     Ref<Frame> protect(m_frame);
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx">     InspectorInstrumentation::didReceiveData(&m_frame, identifier, data, dataLength, encodedDataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoadNotifier::dispatchDidFinishLoading(DocumentLoader* loader, unsigned long identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
</del><ins>+void ResourceLoadNotifier::dispatchDidFinishLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     // Notifying the FrameLoaderClient may cause the frame to be destroyed.
</span><span class="cx">     Ref<Frame> protect(m_frame);
</span><span class="lines">@@ -177,7 +177,7 @@
</span><span class="cx">     InspectorInstrumentation::didFinishLoading(&m_frame, loader, identifier, networkLoadMetrics, resourceLoader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoadNotifier::dispatchDidFailLoading(DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
</del><ins>+void ResourceLoadNotifier::dispatchDidFailLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     // Notifying the FrameLoaderClient may cause the frame to be destroyed.
</span><span class="cx">     Ref<Frame> protect(m_frame);
</span><span class="lines">@@ -186,7 +186,7 @@
</span><span class="cx">     InspectorInstrumentation::didFailLoading(&m_frame, loader, identifier, error);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, unsigned long identifier, const ResourceRequest& request, const ResourceResponse& response, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError& error)
</del><ins>+void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceRequest& request, const ResourceResponse& response, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     // If the request is null, willSendRequest cancelled the load. We should
</span><span class="cx">     // only dispatch didFailLoading in this case.
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadNotifierh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoadNotifier.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoadNotifier.h       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/ResourceLoadNotifier.h  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include <optional>
</span><span class="cx"> #include <wtf/Noncopyable.h>
</span><span class="cx"> 
</span><span class="lines">@@ -50,7 +51,7 @@
</span><span class="cx">     explicit ResourceLoadNotifier(Frame&);
</span><span class="cx"> 
</span><span class="cx">     void didReceiveAuthenticationChallenge(ResourceLoader*, const AuthenticationChallenge&);
</span><del>-    void didReceiveAuthenticationChallenge(unsigned long identifier, DocumentLoader*, const AuthenticationChallenge&);
</del><ins>+    void didReceiveAuthenticationChallenge(ResourceLoaderIdentifier, DocumentLoader*, const AuthenticationChallenge&);
</ins><span class="cx"> 
</span><span class="cx">     void willSendRequest(ResourceLoader*, ResourceRequest&, const ResourceResponse& redirectResponse);
</span><span class="cx">     void didReceiveResponse(ResourceLoader*, const ResourceResponse&);
</span><span class="lines">@@ -58,18 +59,18 @@
</span><span class="cx">     void didFinishLoad(ResourceLoader*, const NetworkLoadMetrics&);
</span><span class="cx">     void didFailToLoad(ResourceLoader*, const ResourceError&);
</span><span class="cx"> 
</span><del>-    void assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&);
-    void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
-    void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&, ResourceLoader* = nullptr);
-    void dispatchDidReceiveData(DocumentLoader*, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength);
-    void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier, const NetworkLoadMetrics&, ResourceLoader*);
-    void dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&);
</del><ins>+    void assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&);
+    void dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
+    void dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, ResourceLoader* = nullptr);
+    void dispatchDidReceiveData(DocumentLoader*, ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength);
+    void dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier, const NetworkLoadMetrics&, ResourceLoader*);
+    void dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&);
</ins><span class="cx"> 
</span><del>-    void sendRemainingDelegateMessages(DocumentLoader*, unsigned long identifier, const ResourceRequest&, const ResourceResponse&, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError&);
</del><ins>+    void sendRemainingDelegateMessages(DocumentLoader*, ResourceLoaderIdentifier, const ResourceRequest&, const ResourceResponse&, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError&);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     Frame& m_frame;
</span><del>-    std::optional<unsigned long> m_initialRequestIdentifier;
</del><ins>+    std::optional<ResourceLoaderIdentifier> m_initialRequestIdentifier;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoader.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/ResourceLoader.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> #undef RESOURCELOADER_RELEASE_LOG
</span><span class="cx"> #define PAGE_ID ((frame() ? frame()->pageID().value_or(PageIdentifier()) : PageIdentifier()).toUInt64())
</span><span class="cx"> #define FRAME_ID ((frame() ? frame()->frameID().value_or(FrameIdentifier()) : FrameIdentifier()).toUInt64())
</span><del>-#define RESOURCELOADER_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, "%p - [pageID=%" PRIu64 ", frameID=%" PRIu64 ", frameLoader=%p, resourceID=%lu] ResourceLoader::" fmt, this, PAGE_ID, FRAME_ID, frameLoader(), identifier(), ##__VA_ARGS__)
</del><ins>+#define RESOURCELOADER_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, "%p - [pageID=%" PRIu64 ", frameID=%" PRIu64 ", frameLoader=%p, resourceID=%" PRIu64 "] ResourceLoader::" fmt, this, PAGE_ID, FRAME_ID, frameLoader(), identifier().toUInt64(), ##__VA_ARGS__)
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx"> 
</span><span class="cx">     finishNetworkLoad();
</span><span class="cx"> 
</span><del>-    m_identifier = 0;
</del><ins>+    m_identifier = { };
</ins><span class="cx"> 
</span><span class="cx">     m_resourceData = nullptr;
</span><span class="cx">     m_deferredRequest = ResourceRequest();
</span><span class="lines">@@ -373,7 +373,7 @@
</span><span class="cx">     // We need a resource identifier for all requests, even if FrameLoader is never going to see it (such as with CORS preflight requests).
</span><span class="cx">     bool createdResourceIdentifier = false;
</span><span class="cx">     if (!m_identifier) {
</span><del>-        m_identifier = m_frame->page()->progress().createUniqueIdentifier();
</del><ins>+        m_identifier = ResourceLoaderIdentifier::generate();
</ins><span class="cx">         createdResourceIdentifier = true;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoader.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/ResourceLoader.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include "ResourceHandleClient.h"
</span><span class="cx"> #include "ResourceLoadTiming.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "ResourceLoaderOptions.h"
</span><span class="cx"> #include "ResourceLoaderTypes.h"
</span><span class="cx"> #include "ResourceRequest.h"
</span><span class="lines">@@ -90,7 +91,7 @@
</span><span class="cx">     virtual void setDefersLoading(bool);
</span><span class="cx">     bool defersLoading() const { return m_defersLoading; }
</span><span class="cx"> 
</span><del>-    unsigned long identifier() const { return m_identifier; }
</del><ins>+    ResourceLoaderIdentifier identifier() const { return m_identifier; }
</ins><span class="cx"> 
</span><span class="cx">     bool wasAuthenticationChallengeBlocked() const { return m_wasAuthenticationChallengeBlocked; }
</span><span class="cx"> 
</span><span class="lines">@@ -228,7 +229,7 @@
</span><span class="cx">     ResourceRequest m_originalRequest; // Before redirects.
</span><span class="cx">     RefPtr<SharedBuffer> m_resourceData;
</span><span class="cx">     
</span><del>-    unsigned long m_identifier { 0 };
</del><ins>+    ResourceLoaderIdentifier m_identifier;
</ins><span class="cx"> 
</span><span class="cx">     bool m_reachedTerminalState { false };
</span><span class="cx">     bool m_notifiedLoadComplete { false };
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoaderIdentifierh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/loader/ResourceLoaderIdentifier.h (0 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoaderIdentifier.h                           (rev 0)
+++ trunk/Source/WebCore/loader/ResourceLoaderIdentifier.h      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+/*
+ * Copyright (C) 2021 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/ObjectIdentifier.h>
+
+namespace WebCore {
+
+class ResourceLoader;
+
+using ResourceLoaderIdentifier = ObjectIdentifier<ResourceLoader>;
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCoreloaderSubresourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/SubresourceLoader.cpp        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/SubresourceLoader.cpp   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -75,8 +75,8 @@
</span><span class="cx"> #define SUBRESOURCELOADER_RELEASE_LOG(fmt, ...) UNUSED_VARIABLE(this)
</span><span class="cx"> #define SUBRESOURCELOADER_RELEASE_LOG_ERROR(fmt, ...) UNUSED_VARIABLE(this)
</span><span class="cx"> #else
</span><del>-#define SUBRESOURCELOADER_RELEASE_LOG(fmt, ...) RELEASE_LOG(ResourceLoading, "%p - [pageID=%" PRIu64 ", frameID=%" PRIu64 ", frameLoader=%p, resourceID=%lu] SubresourceLoader::" fmt, this, PAGE_ID, FRAME_ID, frameLoader(), identifier(), ##__VA_ARGS__)
-#define SUBRESOURCELOADER_RELEASE_LOG_ERROR(fmt, ...) RELEASE_LOG_ERROR(ResourceLoading, "%p - [pageID=%" PRIu64 ", frameID=%" PRIu64 ", frameLoader=%p, resourceID=%lu] SubresourceLoader::" fmt, this, PAGE_ID, FRAME_ID, frameLoader(), identifier(), ##__VA_ARGS__)
</del><ins>+#define SUBRESOURCELOADER_RELEASE_LOG(fmt, ...) RELEASE_LOG(ResourceLoading, "%p - [pageID=%" PRIu64 ", frameID=%" PRIu64 ", frameLoader=%p, resourceID=%" PRIu64 "] SubresourceLoader::" fmt, this, PAGE_ID, FRAME_ID, frameLoader(), identifier().toUInt64(), ##__VA_ARGS__)
+#define SUBRESOURCELOADER_RELEASE_LOG_ERROR(fmt, ...) RELEASE_LOG_ERROR(ResourceLoading, "%p - [pageID=%" PRIu64 ", frameID=%" PRIu64 ", frameLoader=%p, resourceID=%" PRIu64 "] SubresourceLoader::" fmt, this, PAGE_ID, FRAME_ID, frameLoader(), identifier().toUInt64(), ##__VA_ARGS__)
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx">         }
</span><span class="cx">         ASSERT(!reachedTerminalState());
</span><span class="cx">         m_state = Initialized;
</span><del>-        m_documentLoader->addSubresourceLoader(this);
</del><ins>+        m_documentLoader->addSubresourceLoader(*this);
</ins><span class="cx">         m_origin = m_resource->origin();
</span><span class="cx">         completionHandler(true);
</span><span class="cx">     });
</span><span class="lines">@@ -210,7 +210,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         ResourceLoader::willSendRequestInternal(WTFMove(newRequest), redirectResponse, [this, protectedThis = WTFMove(protectedThis), completionHandler = WTFMove(completionHandler), redirectResponse] (ResourceRequest&& request) mutable {
</span><del>-            tracePoint(SubresourceLoadWillStart, identifier(), PAGE_ID, FRAME_ID);
</del><ins>+            tracePoint(SubresourceLoadWillStart, identifier().toUInt64(), PAGE_ID, FRAME_ID);
</ins><span class="cx"> 
</span><span class="cx">             if (reachedTerminalState()) {
</span><span class="cx">                 SUBRESOURCELOADER_RELEASE_LOG("willSendRequestInternal: reached terminal state; calling completion handler");
</span><span class="lines">@@ -491,7 +491,7 @@
</span><span class="cx">             // Since a subresource loader does not load multipart sections progressively, data was delivered to the loader all at once.
</span><span class="cx">             // After the first multipart section is complete, signal to delegates that this load is "finished"
</span><span class="cx">             NetworkLoadMetrics emptyMetrics;
</span><del>-            m_documentLoader->subresourceLoaderFinishedLoadingOnePart(this);
</del><ins>+            m_documentLoader->subresourceLoaderFinishedLoadingOnePart(*this);
</ins><span class="cx">             didFinishLoadingOnePart(emptyMetrics);
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -745,7 +745,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_resource->type() != CachedResource::Type::MainResource)
</span><del>-        tracePoint(SubresourceLoadDidEnd, identifier());
</del><ins>+        tracePoint(SubresourceLoadDidEnd, identifier().toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     m_state = Finishing;
</span><span class="cx">     m_resource->finishLoading(resourceData(), networkLoadMetrics);
</span><span class="lines">@@ -791,7 +791,7 @@
</span><span class="cx">     m_state = Finishing;
</span><span class="cx"> 
</span><span class="cx">     if (m_resource->type() != CachedResource::Type::MainResource)
</span><del>-        tracePoint(SubresourceLoadDidEnd, identifier());
</del><ins>+        tracePoint(SubresourceLoadDidEnd, identifier().toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     if (m_resource->resourceToRevalidate())
</span><span class="cx">         MemoryCache::singleton().revalidationFailed(*m_resource);
</span><span class="lines">@@ -844,7 +844,7 @@
</span><span class="cx">     ASSERT(m_resource);
</span><span class="cx"> 
</span><span class="cx">     if (m_resource->type() != CachedResource::Type::MainResource)
</span><del>-        tracePoint(SubresourceLoadDidEnd, identifier());
</del><ins>+        tracePoint(SubresourceLoadDidEnd, identifier().toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     m_resource->cancelLoad();
</span><span class="cx">     notifyDone(LoadCompletionType::Cancel);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderThreadableLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ThreadableLoaderClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ThreadableLoaderClient.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/ThreadableLoaderClient.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -30,27 +30,29 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><ins>+#include "ResourceLoaderIdentifier.h"
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-    class ResourceError;
-    class ResourceResponse;
-    class ResourceTiming;
</del><ins>+class ResourceError;
+class ResourceResponse;
+class ResourceTiming;
</ins><span class="cx"> 
</span><del>-    class ThreadableLoaderClient {
-        WTF_MAKE_NONCOPYABLE(ThreadableLoaderClient); WTF_MAKE_FAST_ALLOCATED;
-    public:
-        virtual void didSendData(unsigned long long /*bytesSent*/, unsigned long long /*totalBytesToBeSent*/) { }
</del><ins>+class ThreadableLoaderClient {
+    WTF_MAKE_NONCOPYABLE(ThreadableLoaderClient); WTF_MAKE_FAST_ALLOCATED;
+public:
+    virtual void didSendData(unsigned long long /*bytesSent*/, unsigned long long /*totalBytesToBeSent*/) { }
</ins><span class="cx"> 
</span><del>-        virtual void didReceiveResponse(unsigned long /*identifier*/, const ResourceResponse&) { }
-        virtual void didReceiveData(const uint8_t*, int /*dataLength*/) { }
-        virtual void didFinishLoading(unsigned long /*identifier*/) { }
-        virtual void didFail(const ResourceError&) { }
-        virtual void didFinishTiming(const ResourceTiming&) { }
-        virtual void notifyIsDone(bool) { ASSERT_NOT_REACHED(); }
</del><ins>+    virtual void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) { }
+    virtual void didReceiveData(const uint8_t*, int /*dataLength*/) { }
+    virtual void didFinishLoading(ResourceLoaderIdentifier) { }
+    virtual void didFail(const ResourceError&) { }
+    virtual void didFinishTiming(const ResourceTiming&) { }
+    virtual void notifyIsDone(bool) { ASSERT_NOT_REACHED(); }
</ins><span class="cx"> 
</span><del>-    protected:
-        ThreadableLoaderClient() = default;
-        virtual ~ThreadableLoaderClient() = default;
-    };
</del><ins>+protected:
+    ThreadableLoaderClient() = default;
+    virtual ~ThreadableLoaderClient() = default;
+};
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderThreadableLoaderClientWrapperh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ThreadableLoaderClientWrapper.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ThreadableLoaderClientWrapper.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/ThreadableLoaderClientWrapper.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">             m_client->didSendData(bytesSent, totalBytesToBeSent);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx">     {
</span><span class="cx">         if (m_client)
</span><span class="cx">             m_client->didReceiveResponse(identifier, response);
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">             m_client->didReceiveData(data, dataLength);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void didFinishLoading(unsigned long identifier)
</del><ins>+    void didFinishLoading(ResourceLoaderIdentifier identifier)
</ins><span class="cx">     {
</span><span class="cx">         m_done = true;
</span><span class="cx">         if (m_client)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">             m_client->didFail(error);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void didReceiveAuthenticationCancellation(unsigned long identifier, const ResourceResponse& response)
</del><ins>+    void didReceiveAuthenticationCancellation(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx">     {
</span><span class="cx">         if (m_client)
</span><span class="cx">             m_client->didReceiveResponse(identifier, response);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderWorkerThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -113,7 +113,7 @@
</span><span class="cx">     : m_workerClientWrapper(&workerClientWrapper)
</span><span class="cx">     , m_loaderProxy(loaderProxy)
</span><span class="cx">     , m_taskMode(taskMode.isolatedCopy())
</span><del>-    , m_workerRequestIdentifier(globalScope.createUniqueIdentifier())
</del><ins>+    , m_workerRequestIdentifier { ResourceLoaderIdentifier::generate() }
</ins><span class="cx"> {
</span><span class="cx">     auto* securityOrigin = globalScope.securityOrigin();
</span><span class="cx">     auto* contentSecurityPolicy = globalScope.contentSecurityPolicy();
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx">     }, m_taskMode);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerThreadableLoader::MainThreadBridge::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
</del><ins>+void WorkerThreadableLoader::MainThreadBridge::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     m_loaderProxy.postTaskForModeToWorkerOrWorkletGlobalScope([protectedWorkerClientWrapper = makeRef(*m_workerClientWrapper), workerRequestIdentifier = m_workerRequestIdentifier, identifier, responseData = response.crossThreadData()] (ScriptExecutionContext& context) mutable {
</span><span class="cx">         ASSERT(context.isWorkerGlobalScope() || context.isWorkletGlobalScope());
</span><span class="lines">@@ -242,7 +242,7 @@
</span><span class="cx">     }, m_taskMode);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerThreadableLoader::MainThreadBridge::didFinishLoading(unsigned long identifier)
</del><ins>+void WorkerThreadableLoader::MainThreadBridge::didFinishLoading(ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     m_loadingFinished = true;
</span><span class="cx">     m_loaderProxy.postTaskForModeToWorkerOrWorkletGlobalScope([protectedWorkerClientWrapper = makeRef(*m_workerClientWrapper), workerRequestIdentifier = m_workerRequestIdentifier, networkLoadMetrics = m_networkLoadMetrics.isolatedCopy(), identifier] (ScriptExecutionContext& context) mutable {
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderWorkerThreadableLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/WorkerThreadableLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/WorkerThreadableLoader.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/WorkerThreadableLoader.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include "NetworkLoadMetrics.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "ThreadableLoader.h"
</span><span class="cx"> #include "ThreadableLoaderClient.h"
</span><span class="cx"> #include "ThreadableLoaderClientWrapper.h"
</span><span class="lines">@@ -38,102 +39,102 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-    class ContentSecurityPolicy;
-    class DocumentThreadableLoader;
-    class ResourceError;
-    class ResourceRequest;
-    class SecurityOrigin;
-    class WorkerOrWorkletGlobalScope;
-    class WorkerLoaderProxy;
</del><ins>+class ContentSecurityPolicy;
+class DocumentThreadableLoader;
+class ResourceError;
+class ResourceRequest;
+class SecurityOrigin;
+class WorkerOrWorkletGlobalScope;
+class WorkerLoaderProxy;
</ins><span class="cx"> 
</span><del>-    class WorkerThreadableLoader : public RefCounted<WorkerThreadableLoader>, public ThreadableLoader {
-        WTF_MAKE_FAST_ALLOCATED;
-    public:
-        static void loadResourceSynchronously(WorkerOrWorkletGlobalScope&, ResourceRequest&&, ThreadableLoaderClient&, const ThreadableLoaderOptions&);
-        static Ref<WorkerThreadableLoader> create(WorkerOrWorkletGlobalScope& WorkerOrWorkletGlobalScope, ThreadableLoaderClient& client, const String& taskMode, ResourceRequest&& request, const ThreadableLoaderOptions& options, const String& referrer)
-        {
-            return adoptRef(*new WorkerThreadableLoader(WorkerOrWorkletGlobalScope, client, taskMode, WTFMove(request), options, referrer));
-        }
</del><ins>+class WorkerThreadableLoader : public RefCounted<WorkerThreadableLoader>, public ThreadableLoader {
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    static void loadResourceSynchronously(WorkerOrWorkletGlobalScope&, ResourceRequest&&, ThreadableLoaderClient&, const ThreadableLoaderOptions&);
+    static Ref<WorkerThreadableLoader> create(WorkerOrWorkletGlobalScope& WorkerOrWorkletGlobalScope, ThreadableLoaderClient& client, const String& taskMode, ResourceRequest&& request, const ThreadableLoaderOptions& options, const String& referrer)
+    {
+        return adoptRef(*new WorkerThreadableLoader(WorkerOrWorkletGlobalScope, client, taskMode, WTFMove(request), options, referrer));
+    }
</ins><span class="cx"> 
</span><del>-        ~WorkerThreadableLoader();
</del><ins>+    ~WorkerThreadableLoader();
</ins><span class="cx"> 
</span><del>-        void cancel() override;
</del><ins>+    void cancel() override;
</ins><span class="cx"> 
</span><del>-        bool done() const { return m_workerClientWrapper->done(); }
</del><ins>+    bool done() const { return m_workerClientWrapper->done(); }
</ins><span class="cx"> 
</span><del>-        void notifyIsDone(bool isDone);
</del><ins>+    void notifyIsDone(bool isDone);
</ins><span class="cx"> 
</span><del>-        using RefCounted<WorkerThreadableLoader>::ref;
-        using RefCounted<WorkerThreadableLoader>::deref;
</del><ins>+    using RefCounted<WorkerThreadableLoader>::ref;
+    using RefCounted<WorkerThreadableLoader>::deref;
</ins><span class="cx"> 
</span><del>-    protected:
-        void refThreadableLoader() override { ref(); }
-        void derefThreadableLoader() override { deref(); }
</del><ins>+protected:
+    void refThreadableLoader() override { ref(); }
+    void derefThreadableLoader() override { deref(); }
</ins><span class="cx"> 
</span><ins>+private:
+    // Creates a loader on the main thread and bridges communication between
+    // the main thread and the worker context's thread where WorkerThreadableLoader runs.
+    //
+    // Regarding the bridge and lifetimes of items used in callbacks, there are a few cases:
+    //
+    // all cases. All tasks posted from the worker context's thread are ok because
+    //    the last task posted always is "mainThreadDestroy", so MainThreadBridge is
+    //    around for all tasks that use it on the main thread.
+    //
+    // case 1. worker.terminate is called.
+    //    In this case, no more tasks are posted from the worker object's thread to the worker
+    //    context's thread -- WorkerOrWorkletGlobalScopeProxy implementation enforces this.
+    //
+    // case 2. xhr gets aborted and the worker context continues running.
+    //    The ThreadableLoaderClientWrapper has the underlying client cleared, so no more calls
+    //    go through it. All tasks posted from the worker object's thread to the worker context's
+    //    thread contain the RefPtr<ThreadableLoaderClientWrapper> object, so the
+    //    ThreadableLoaderClientWrapper instance is there until all tasks are executed.
+    class MainThreadBridge : public ThreadableLoaderClient {
+    public:
+        // All executed on the worker context's thread.
+        MainThreadBridge(ThreadableLoaderClientWrapper&, WorkerLoaderProxy&, const String& taskMode, ResourceRequest&&, const ThreadableLoaderOptions&, const String& outgoingReferrer, WorkerOrWorkletGlobalScope&);
+        void cancel();
+        void destroy();
+        void computeIsDone();
+
</ins><span class="cx">     private:
</span><del>-        // Creates a loader on the main thread and bridges communication between
-        // the main thread and the worker context's thread where WorkerThreadableLoader runs.
-        //
-        // Regarding the bridge and lifetimes of items used in callbacks, there are a few cases:
-        //
-        // all cases. All tasks posted from the worker context's thread are ok because
-        //    the last task posted always is "mainThreadDestroy", so MainThreadBridge is
-        //    around for all tasks that use it on the main thread.
-        //
-        // case 1. worker.terminate is called.
-        //    In this case, no more tasks are posted from the worker object's thread to the worker
-        //    context's thread -- WorkerOrWorkletGlobalScopeProxy implementation enforces this.
-        //
-        // case 2. xhr gets aborted and the worker context continues running.
-        //    The ThreadableLoaderClientWrapper has the underlying client cleared, so no more calls
-        //    go through it.  All tasks posted from the worker object's thread to the worker context's
-        //    thread contain the RefPtr<ThreadableLoaderClientWrapper> object, so the
-        //    ThreadableLoaderClientWrapper instance is there until all tasks are executed.
-        class MainThreadBridge : public ThreadableLoaderClient {
-        public:
-            // All executed on the worker context's thread.
-            MainThreadBridge(ThreadableLoaderClientWrapper&, WorkerLoaderProxy&, const String& taskMode, ResourceRequest&&, const ThreadableLoaderOptions&, const String& outgoingReferrer, WorkerOrWorkletGlobalScope&);
-            void cancel();
-            void destroy();
-            void computeIsDone();
</del><ins>+        // Executed on the worker context's thread.
+        void clearClientWrapper();
</ins><span class="cx"> 
</span><del>-        private:
-            // Executed on the worker context's thread.
-            void clearClientWrapper();
</del><ins>+        // All executed on the main thread.
+        void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
+        void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override;
+        void didReceiveData(const uint8_t*, int dataLength) override;
+        void didFinishLoading(ResourceLoaderIdentifier) override;
+        void didFail(const ResourceError&) override;
+        void didFinishTiming(const ResourceTiming&) override;
+        void notifyIsDone(bool isDone) final;
</ins><span class="cx"> 
</span><del>-            // All executed on the main thread.
-            void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
-            void didReceiveResponse(unsigned long identifier, const ResourceResponse&) override;
-            void didReceiveData(const uint8_t*, int dataLength) override;
-            void didFinishLoading(unsigned long identifier) override;
-            void didFail(const ResourceError&) override;
-            void didFinishTiming(const ResourceTiming&) override;
-            void notifyIsDone(bool isDone) final;
</del><ins>+        // Only to be used on the main thread.
+        RefPtr<DocumentThreadableLoader> m_mainThreadLoader;
+        bool m_loadingFinished { false };
</ins><span class="cx"> 
</span><del>-            // Only to be used on the main thread.
-            RefPtr<DocumentThreadableLoader> m_mainThreadLoader;
-            bool m_loadingFinished { false };
</del><ins>+        // ThreadableLoaderClientWrapper is to be used on the worker context thread.
+        // The ref counting is done on either thread.
+        RefPtr<ThreadableLoaderClientWrapper> m_workerClientWrapper;
</ins><span class="cx"> 
</span><del>-            // ThreadableLoaderClientWrapper is to be used on the worker context thread.
-            // The ref counting is done on either thread.
-            RefPtr<ThreadableLoaderClientWrapper> m_workerClientWrapper;
</del><ins>+        // May be used on either thread.
+        WorkerLoaderProxy& m_loaderProxy;
</ins><span class="cx"> 
</span><del>-            // May be used on either thread.
-            WorkerLoaderProxy& m_loaderProxy;
</del><ins>+        // For use on the main thread.
+        String m_taskMode;
+        ResourceLoaderIdentifier m_workerRequestIdentifier;
+        NetworkLoadMetrics m_networkLoadMetrics;
+    };
</ins><span class="cx"> 
</span><del>-            // For use on the main thread.
-            String m_taskMode;
-            unsigned long m_workerRequestIdentifier { 0 };
-            NetworkLoadMetrics m_networkLoadMetrics;
-        };
</del><ins>+    WorkerThreadableLoader(WorkerOrWorkletGlobalScope&, ThreadableLoaderClient&, const String& taskMode, ResourceRequest&&, const ThreadableLoaderOptions&, const String& referrer);
</ins><span class="cx"> 
</span><del>-        WorkerThreadableLoader(WorkerOrWorkletGlobalScope&, ThreadableLoaderClient&, const String& taskMode, ResourceRequest&&, const ThreadableLoaderOptions&, const String& referrer);
</del><ins>+    void computeIsDone() final;
</ins><span class="cx"> 
</span><del>-        void computeIsDone() final;
</del><ins>+    Ref<WorkerOrWorkletGlobalScope> m_WorkerOrWorkletGlobalScope;
+    Ref<ThreadableLoaderClientWrapper> m_workerClientWrapper;
+    MainThreadBridge& m_bridge;
+};
</ins><span class="cx"> 
</span><del>-        Ref<WorkerOrWorkletGlobalScope> m_WorkerOrWorkletGlobalScope;
-        Ref<ThreadableLoaderClientWrapper> m_workerClientWrapper;
-        MainThreadBridge& m_bridge;
-    };
-
</del><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheGroupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -437,7 +437,7 @@
</span><span class="cx"> 
</span><span class="cx">     auto request = createRequest(URL { m_manifestURL }, m_newestCache ? m_newestCache->manifestResource() : nullptr);
</span><span class="cx"> 
</span><del>-    m_currentResourceIdentifier = m_frame->page()->progress().createUniqueIdentifier();
</del><ins>+    m_currentResourceIdentifier = ResourceLoaderIdentifier::generate();
</ins><span class="cx">     InspectorInstrumentation::willSendRequest(m_frame.get(), m_currentResourceIdentifier, m_frame->loader().documentLoader(), request, ResourceResponse { }, nullptr);
</span><span class="cx"> 
</span><span class="cx">     m_manifestLoader = ApplicationCacheResourceLoader::create(ApplicationCacheResource::Type::Manifest, documentLoader.cachedResourceLoader(), WTFMove(request), [this] (auto&& resourceOrError) {
</span><span class="lines">@@ -898,7 +898,7 @@
</span><span class="cx"> 
</span><span class="cx">     auto request = createRequest(URL { { }, firstPendingEntryURL }, m_newestCache ? m_newestCache->resourceForURL(firstPendingEntryURL) : nullptr);
</span><span class="cx"> 
</span><del>-    m_currentResourceIdentifier = m_frame->page()->progress().createUniqueIdentifier();
</del><ins>+    m_currentResourceIdentifier = ResourceLoaderIdentifier::generate();
</ins><span class="cx">     InspectorInstrumentation::willSendRequest(m_frame.get(), m_currentResourceIdentifier, m_frame->loader().documentLoader(), request, ResourceResponse { }, nullptr);
</span><span class="cx"> 
</span><span class="cx">     auto& documentLoader = *m_frame->loader().documentLoader();
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheGrouph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -181,7 +181,7 @@
</span><span class="cx">     
</span><span class="cx">     RefPtr<ApplicationCacheResource> m_currentResource;
</span><span class="cx">     RefPtr<ApplicationCacheResourceLoader> m_entryLoader;
</span><del>-    unsigned long m_currentResourceIdentifier;
</del><ins>+    ResourceLoaderIdentifier m_currentResourceIdentifier;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr<ApplicationCacheResource> m_manifestResource;
</span><span class="cx">     RefPtr<ApplicationCacheResourceLoader> m_manifestLoader;
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedRawResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedRawResource.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedRawResource.cpp  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/cache/CachedRawResource.cpp     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> 
</span><span class="cx"> CachedRawResource::CachedRawResource(CachedResourceRequest&& request, Type type, PAL::SessionID sessionID, const CookieJar* cookieJar)
</span><span class="cx">     : CachedResource(WTFMove(request), type, sessionID, cookieJar)
</span><del>-    , m_identifier(0)
</del><span class="cx">     , m_allowEncodedDataReplacement(true)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isMainOrMediaOrIconOrRawResource());
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedRawResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedRawResource.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedRawResource.h    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/cache/CachedRawResource.h       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     void setDataBufferingPolicy(DataBufferingPolicy);
</span><span class="cx"> 
</span><span class="cx">     // FIXME: This is exposed for the InspectorInstrumentation for preflights in DocumentThreadableLoader. It's also really lame.
</span><del>-    unsigned long identifier() const { return m_identifier; }
</del><ins>+    ResourceLoaderIdentifier identifier() const { return m_identifier; }
</ins><span class="cx"> 
</span><span class="cx">     void clear();
</span><span class="cx"> 
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx">     void previewResponseReceived(const ResourceResponse&) final;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    unsigned long m_identifier;
</del><ins>+    ResourceLoaderIdentifier m_identifier;
</ins><span class="cx">     bool m_allowEncodedDataReplacement;
</span><span class="cx">     bool m_inIncrementalDataNotify { false };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResource.cpp     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx">         ASSERT(m_originalRequest);
</span><span class="cx">         CachedResourceHandle<CachedResource> protectedThis(this);
</span><span class="cx"> 
</span><del>-        unsigned long identifier = frame.page()->progress().createUniqueIdentifier();
</del><ins>+        auto identifier = ResourceLoaderIdentifier::generate();
</ins><span class="cx">         InspectorInstrumentation::willSendRequestOfType(&frame, identifier, frameLoader.activeDocumentLoader(), request, InspectorInstrumentation::LoadType::Beacon);
</span><span class="cx"> 
</span><span class="cx">         platformStrategies()->loaderStrategy()->startPingLoad(frame, request, m_originalRequest->httpHeaderFields(), m_options, m_options.contentSecurityPolicyImposition, [this, protectedThis = WTFMove(protectedThis), protectedFrame = makeRef(frame), identifier] (const ResourceError& error, const ResourceResponse& response) {
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResource.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResource.h       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/loader/cache/CachedResource.h  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include "FrameLoaderTypes.h"
</span><span class="cx"> #include "ResourceError.h"
</span><span class="cx"> #include "ResourceLoadPriority.h"
</span><ins>+#include "ResourceLoaderIdentifier.h"
</ins><span class="cx"> #include "ResourceLoaderOptions.h"
</span><span class="cx"> #include "ResourceRequest.h"
</span><span class="cx"> #include "ResourceResponse.h"
</span><span class="lines">@@ -286,7 +287,7 @@
</span><span class="cx">     WEBCORE_EXPORT void tryReplaceEncodedData(SharedBuffer&);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    unsigned long identifierForLoadWithoutResourceLoader() const { return m_identifierForLoadWithoutResourceLoader; }
</del><ins>+    ResourceLoaderIdentifier identifierForLoadWithoutResourceLoader() const { return m_identifierForLoadWithoutResourceLoader; }
</ins><span class="cx"> 
</span><span class="cx">     void setOriginalRequest(std::unique_ptr<ResourceRequest>&& originalRequest) { m_originalRequest = WTFMove(originalRequest); }
</span><span class="cx">     const std::unique_ptr<ResourceRequest>& originalRequest() const { return m_originalRequest; }
</span><span class="lines">@@ -342,7 +343,7 @@
</span><span class="cx">     PAL::SessionID m_sessionID;
</span><span class="cx">     RefPtr<const CookieJar> m_cookieJar;
</span><span class="cx">     WallTime m_responseTimestamp;
</span><del>-    unsigned long m_identifierForLoadWithoutResourceLoader { 0 };
</del><ins>+    ResourceLoaderIdentifier m_identifierForLoadWithoutResourceLoader;
</ins><span class="cx"> 
</span><span class="cx">     HashMap<CachedResourceClient*, std::unique_ptr<Callback>> m_clientsAwaitingCallback;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventSource.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventSource.cpp        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/page/EventSource.cpp   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EventSource::didReceiveResponse(unsigned long, const ResourceResponse& response)
</del><ins>+void EventSource::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_state == CONNECTING);
</span><span class="cx">     ASSERT(m_requestInFlight);
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx">     parseEventStream();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void EventSource::didFinishLoading(unsigned long)
</del><ins>+void EventSource::didFinishLoading(ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_state == OPEN);
</span><span class="cx">     ASSERT(m_requestInFlight);
</span></span></pre></div>
<a id="trunkSourceWebCorepageEventSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/EventSource.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/EventSource.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/page/EventSource.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -83,9 +83,9 @@
</span><span class="cx">     void doExplicitLoadCancellation();
</span><span class="cx"> 
</span><span class="cx">     // ThreadableLoaderClient
</span><del>-    void didReceiveResponse(unsigned long, const ResourceResponse&) final;
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
</ins><span class="cx">     void didReceiveData(const uint8_t*, int) final;
</span><del>-    void didFinishLoading(unsigned long) final;
</del><ins>+    void didFinishLoading(ResourceLoaderIdentifier) final;
</ins><span class="cx">     void didFail(const ResourceError&) final;
</span><span class="cx"> 
</span><span class="cx">     // ActiveDOMObject
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/Worker.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/Worker.cpp  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/Worker.cpp     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx">     m_contextProxy.notifyNetworkStateChange(isOnLine);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Worker::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
</del><ins>+void Worker::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     const URL& responseURL = response.url();
</span><span class="cx">     if (!responseURL.protocolIsBlob() && !responseURL.protocolIs("file") && !SecurityOrigin::create(responseURL)->isUnique())
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/Worker.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/Worker.h    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/Worker.h       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> 
</span><span class="cx">     void notifyNetworkStateChange(bool isOnline);
</span><span class="cx"> 
</span><del>-    void didReceiveResponse(unsigned long identifier, const ResourceResponse&) final;
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
</ins><span class="cx">     void notifyFinished() final;
</span><span class="cx"> 
</span><span class="cx">     // ActiveDOMObject.
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerFontLoadRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerFontLoadRequest.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerFontLoadRequest.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/WorkerFontLoadRequest.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerFontLoadRequest::didReceiveResponse(unsigned long, const ResourceResponse& response)
</del><ins>+void WorkerFontLoadRequest::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     if (response.httpStatusCode() / 100 != 2 && response.httpStatusCode())
</span><span class="cx">         m_errorOccurred = true;
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx">     m_data->append(data, dataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerFontLoadRequest::didFinishLoading(unsigned long)
</del><ins>+void WorkerFontLoadRequest::didFinishLoading(ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     m_isLoading = false;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerFontLoadRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerFontLoadRequest.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerFontLoadRequest.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/WorkerFontLoadRequest.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -60,9 +60,9 @@
</span><span class="cx"> 
</span><span class="cx">     bool isWorkerFontLoadRequest() const final { return true; }
</span><span class="cx"> 
</span><del>-    void didReceiveResponse(unsigned long identifier, const ResourceResponse&) final;
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
</ins><span class="cx">     void didReceiveData(const uint8_t* data, int dataLength) final;
</span><del>-    void didFinishLoading(unsigned long identifier) final;
</del><ins>+    void didFinishLoading(ResourceLoaderIdentifier) final;
</ins><span class="cx">     void didFail(const ResourceError&) final;
</span><span class="cx"> 
</span><span class="cx">     URL m_url;
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerOrWorkletGlobalScopeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerOrWorkletGlobalScope.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerOrWorkletGlobalScope.h        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/WorkerOrWorkletGlobalScope.h   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -54,8 +54,6 @@
</span><span class="cx">     JSC::VM& vm() final;
</span><span class="cx">     WorkerInspectorController& inspectorController() const { return *m_inspectorController; }
</span><span class="cx"> 
</span><del>-    unsigned long createUniqueIdentifier() { return m_uniqueIdentifier++; }
-
</del><span class="cx">     ScriptModuleLoader& moduleLoader() { return *m_moduleLoader; }
</span><span class="cx"> 
</span><span class="cx">     // ScriptExecutionContext.
</span><span class="lines">@@ -99,7 +97,6 @@
</span><span class="cx">     RefPtr<WorkerEventLoop> m_eventLoop;
</span><span class="cx">     std::unique_ptr<EventLoopTaskGroup> m_defaultTaskGroup;
</span><span class="cx">     std::unique_ptr<WorkerInspectorController> m_inspectorController;
</span><del>-    unsigned long m_uniqueIdentifier { 1 };
</del><span class="cx">     bool m_isClosing { false };
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerScriptLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerScriptLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerScriptLoader.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/WorkerScriptLoader.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerScriptLoader::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
</del><ins>+void WorkerScriptLoader::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     m_error = validateWorkerResponse(response, m_destination);
</span><span class="cx">     if (!m_error.isNull()) {
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx">     m_script.append(m_decoder->decode(data, len));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerScriptLoader::didFinishLoading(unsigned long identifier)
</del><ins>+void WorkerScriptLoader::didFinishLoading(ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     if (m_failed) {
</span><span class="cx">         notifyError();
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerScriptLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerScriptLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerScriptLoader.h        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/WorkerScriptLoader.h   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -75,12 +75,12 @@
</span><span class="cx">     const CertificateInfo& certificateInfo() const { return m_certificateInfo; }
</span><span class="cx">     const String& responseMIMEType() const { return m_responseMIMEType; }
</span><span class="cx">     bool failed() const { return m_failed; }
</span><del>-    unsigned long identifier() const { return m_identifier; }
</del><ins>+    ResourceLoaderIdentifier identifier() const { return m_identifier; }
</ins><span class="cx">     const ResourceError& error() const { return m_error; }
</span><span class="cx"> 
</span><del>-    void didReceiveResponse(unsigned long identifier, const ResourceResponse&) override;
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override;
</ins><span class="cx">     void didReceiveData(const uint8_t* data, int dataLength) override;
</span><del>-    void didFinishLoading(unsigned long identifier) override;
</del><ins>+    void didFinishLoading(ResourceLoaderIdentifier) override;
</ins><span class="cx">     void didFail(const ResourceError&) override;
</span><span class="cx"> 
</span><span class="cx">     void cancel();
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx">     ContentSecurityPolicyResponseHeaders m_contentSecurityPolicy;
</span><span class="cx">     String m_referrerPolicy;
</span><span class="cx">     CrossOriginEmbedderPolicy m_crossOriginEmbedderPolicy;
</span><del>-    unsigned long m_identifier { 0 };
</del><ins>+    ResourceLoaderIdentifier m_identifier;
</ins><span class="cx">     bool m_failed { false };
</span><span class="cx">     bool m_finishing { false };
</span><span class="cx">     bool m_isRedirected { false };
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerScriptLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerScriptLoaderClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerScriptLoaderClient.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/WorkerScriptLoaderClient.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> class WorkerScriptLoaderClient {
</span><span class="cx"> public:
</span><del>-    virtual void didReceiveResponse(unsigned long identifier, const ResourceResponse&) = 0;
</del><ins>+    virtual void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) = 0;
</ins><span class="cx">     virtual void notifyFinished() = 0;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersserviceServiceWorkerJobcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/service/ServiceWorkerJob.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/service/ServiceWorkerJob.cpp        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerJob.cpp   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ServiceWorkerJob::didReceiveResponse(unsigned long, const ResourceResponse& response)
</del><ins>+void ServiceWorkerJob::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_creationThread.ptr() == &Thread::current());
</span><span class="cx">     ASSERT(!m_completed);
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersserviceServiceWorkerJobh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/service/ServiceWorkerJob.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/service/ServiceWorkerJob.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerJob.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     // WorkerScriptLoaderClient
</span><del>-    void didReceiveResponse(unsigned long identifier, const ResourceResponse&) final;
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
</ins><span class="cx">     void notifyFinished() final;
</span><span class="cx"> 
</span><span class="cx">     ServiceWorkerJobClient& m_client;
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -926,7 +926,7 @@
</span><span class="cx">     networkError();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void XMLHttpRequest::didFinishLoading(unsigned long)
</del><ins>+void XMLHttpRequest::didFinishLoading(ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     auto protectedThis = makeRef(*this);
</span><span class="cx"> 
</span><span class="lines">@@ -970,7 +970,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void XMLHttpRequest::didReceiveResponse(unsigned long, const ResourceResponse& response)
</del><ins>+void XMLHttpRequest::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     m_response = response;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.h        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.h   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -161,9 +161,9 @@
</span><span class="cx"> 
</span><span class="cx">     // ThreadableLoaderClient
</span><span class="cx">     void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
</span><del>-    void didReceiveResponse(unsigned long identifier, const ResourceResponse&) override;
</del><ins>+    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override;
</ins><span class="cx">     void didReceiveData(const uint8_t* data, int dataLength) override;
</span><del>-    void didFinishLoading(unsigned long identifier) override;
</del><ins>+    void didFinishLoading(ResourceLoaderIdentifier) override;
</ins><span class="cx">     void didFail(const ResourceError&) override;
</span><span class="cx">     void notifyIsDone(bool) final;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/ChangeLog       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -1,3 +1,173 @@
</span><ins>+2021-09-17  Alex Christensen  <achristensen@webkit.org>
+
+        Use ObjectIdentifier for ResourceLoader
+        https://bugs.webkit.org/show_bug.cgi?id=230278
+
+        Reviewed by Michael Catanzaro.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
+        (WebKit::NetworkConnectionToWebProcess::resolveBlobReferences):
+        (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
+        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
+        (WebKit::NetworkConnectionToWebProcess::loadPing):
+        (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
+        (WebKit::NetworkConnectionToWebProcess::preconnectTo):
+        (WebKit::NetworkConnectionToWebProcess::isResourceLoadFinished):
+        (WebKit::NetworkConnectionToWebProcess::didFinishPreconnection):
+        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
+        (WebKit::NetworkConnectionToWebProcess::startTrackingResourceLoad):
+        (WebKit::NetworkConnectionToWebProcess::stopTrackingResourceLoad):
+        (WebKit::NetworkConnectionToWebProcess::findNetworkActivityTracker):
+        (WebKit::NetworkConnectionToWebProcess::prioritizeResourceLoads):
+        (WebKit::NetworkConnectionToWebProcess::takeNetworkResourceLoader):
+        * NetworkProcess/NetworkConnectionToWebProcess.h:
+        (WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationResponse):
+        (WebKit::NetworkConnectionToWebProcess::getNetworkLoadIntermediateInformation):
+        (WebKit::NetworkConnectionToWebProcess::takeNetworkLoadInformationMetrics):
+        (WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformation):
+        (WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformationMetrics):
+        (WebKit::NetworkConnectionToWebProcess::removeNetworkLoadInformation):
+        (WebKit::NetworkConnectionToWebProcess::ResourceNetworkActivityTracker::ResourceNetworkActivityTracker):
+        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::prepareLoadForWebProcessTransfer):
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkProcess.messages.in:
+        * NetworkProcess/NetworkResourceLoadMap.cpp:
+        (WebKit::NetworkResourceLoadMap::add):
+        (WebKit::NetworkResourceLoadMap::remove):
+        (WebKit::NetworkResourceLoadMap::take):
+        (WebKit::NetworkResourceLoadMap::get const):
+        * NetworkProcess/NetworkResourceLoadMap.h:
+        (WebKit::NetworkResourceLoadMap::contains const):
+        * NetworkProcess/NetworkResourceLoadParameters.h:
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::transferToNewWebProcess):
+        (WebKit::escapeIDForJSON):
+        (WebKit::logBlockedCookieInformation):
+        (WebKit::logCookieInformationInternal):
+        (WebKit::NetworkResourceLoader::logCookieInformation):
+        * NetworkProcess/NetworkResourceLoader.h:
+        * Scripts/webkit/messages.py:
+        (types_that_cannot_be_forward_declared):
+        * Shared/URLSchemeTaskParameters.cpp:
+        (WebKit::URLSchemeTaskParameters::decode):
+        * Shared/URLSchemeTaskParameters.h:
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::prepareLoadForWebProcessTransfer):
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/ProvisionalPageProxy.cpp:
+        (WebKit::ProvisionalPageProxy::decidePolicyForResponse):
+        * UIProcess/ProvisionalPageProxy.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::decidePolicyForResponse):
+        (WebKit::WebPageProxy::decidePolicyForResponseShared):
+        (WebKit::WebPageProxy::stopURLSchemeTask):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * UIProcess/WebURLSchemeHandler.cpp:
+        (WebKit::WebURLSchemeHandler::startTask):
+        (WebKit::WebURLSchemeHandler::processForTaskIdentifier const):
+        (WebKit::WebURLSchemeHandler::stopAllTasksForPage):
+        (WebKit::WebURLSchemeHandler::stopTask):
+        (WebKit::WebURLSchemeHandler::removeTaskFromPageMap):
+        * UIProcess/WebURLSchemeHandler.h:
+        * UIProcess/WebURLSchemeTask.h:
+        (WebKit::WebURLSchemeTask::identifier const):
+        * WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h:
+        (API::InjectedBundle::ResourceLoadClient::didInitiateLoadForResource):
+        (API::InjectedBundle::ResourceLoadClient::willSendRequestForFrame):
+        (API::InjectedBundle::ResourceLoadClient::didReceiveResponseForResource):
+        (API::InjectedBundle::ResourceLoadClient::didReceiveContentLengthForResource):
+        (API::InjectedBundle::ResourceLoadClient::didFinishLoadForResource):
+        (API::InjectedBundle::ResourceLoadClient::didFailLoadForResource):
+        (API::InjectedBundle::ResourceLoadClient::shouldCacheResponse):
+        (API::InjectedBundle::ResourceLoadClient::shouldUseCredentialStorage):
+        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
+        (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
+        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
+        (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
+        (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
+        (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
+        (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
+        (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
+        (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):
+        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
+        * WebProcess/Network/NetworkProcessConnection.cpp:
+        (WebKit::NetworkProcessConnection::didReceiveMessage):
+        (WebKit::NetworkProcessConnection::didFinishPingLoad):
+        (WebKit::NetworkProcessConnection::didFinishPreconnection):
+        * WebProcess/Network/NetworkProcessConnection.h:
+        * WebProcess/Network/NetworkProcessConnection.messages.in:
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::scheduleLoad):
+        (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
+        (WebKit::WebLoaderStrategy::remove):
+        (WebKit::WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler):
+        (WebKit::WebLoaderStrategy::loadResourceSynchronously):
+        (WebKit::WebLoaderStrategy::startPingLoad):
+        (WebKit::WebLoaderStrategy::didFinishPingLoad):
+        (WebKit::WebLoaderStrategy::preconnectTo):
+        (WebKit::WebLoaderStrategy::didFinishPreconnection):
+        (WebKit::WebLoaderStrategy::responseFromResourceLoadIdentifier):
+        (WebKit::WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):
+        (WebKit::WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier):
+        (WebKit::WebLoaderStrategy::prioritizeResourceLoads):
+        (WebKit::WebLoaderStrategy::generateLoadIdentifier): Deleted.
+        * WebProcess/Network/WebLoaderStrategy.h:
+        * WebProcess/Network/WebResourceInterceptController.cpp:
+        (WebKit::WebResourceInterceptController::isIntercepting const):
+        (WebKit::WebResourceInterceptController::beginInterceptingResponse):
+        (WebKit::WebResourceInterceptController::continueResponse):
+        (WebKit::WebResourceInterceptController::interceptedResponse):
+        (WebKit::WebResourceInterceptController::defer):
+        * WebProcess/Network/WebResourceInterceptController.h:
+        * WebProcess/Network/WebResourceLoader.cpp:
+        (WebKit::WebResourceLoader::messageSenderDestinationID const):
+        (WebKit::WebResourceLoader::didReceiveResponse):
+        * WebProcess/Network/WebResourceLoader.h:
+        * WebProcess/Storage/WebSWContextManagerConnection.h:
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
+        (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
+        (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
+        (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
+        (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
+        (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
+        (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
+        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
+        (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
+        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
+        (WebKit::WebFrameLoaderClient::willCacheResponse const):
+        (WebKit::WebFrameLoaderClient::sendH2Ping):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+        * WebProcess/WebPage/WebFrame.cpp:
+        (WebKit::WebFrame::convertMainResourceLoadToDownload):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::addConsoleMessage):
+        (WebKit::WebPage::addResourceRequest):
+        (WebKit::WebPage::removeResourceRequest):
+        (WebKit::WebPage::urlSchemeTaskWillPerformRedirection):
+        (WebKit::WebPage::urlSchemeTaskDidPerformRedirection):
+        (WebKit::WebPage::urlSchemeTaskDidReceiveResponse):
+        (WebKit::WebPage::urlSchemeTaskDidReceiveData):
+        (WebKit::WebPage::urlSchemeTaskDidComplete):
+        * WebProcess/WebPage/WebPage.h:
+        (WebKit::WebPage::addConsoleMessage):
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp:
+        (WebKit::WebURLSchemeHandlerProxy::loadSynchronously):
+        (WebKit::WebURLSchemeHandlerProxy::taskDidPerformRedirection):
+        (WebKit::WebURLSchemeHandlerProxy::taskDidReceiveResponse):
+        (WebKit::WebURLSchemeHandlerProxy::taskDidReceiveData):
+        (WebKit::WebURLSchemeHandlerProxy::taskDidComplete):
+        (WebKit::WebURLSchemeHandlerProxy::removeTask):
+        * WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
+        * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
+        * WebProcess/WebPage/WebURLSchemeTaskProxy.h:
+        (WebKit::WebURLSchemeTaskProxy::identifier const):
+
</ins><span class="cx"> 2021-09-17  Kate Cheney  <katherine_cheney@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Remove unnecessary ITP memory store code
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkConnectionToWebProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">     if (decoder.messageReceiverName() == Messages::NetworkResourceLoader::messageReceiverName()) {
</span><span class="cx">         RELEASE_ASSERT(RunLoop::isMain());
</span><span class="cx">         RELEASE_ASSERT(decoder.destinationID());
</span><del>-        if (auto* loader = m_networkResourceLoaders.get(decoder.destinationID()))
</del><ins>+        if (auto* loader = m_networkResourceLoaders.get(makeObjectIdentifier<WebCore::ResourceLoader>(decoder.destinationID())))
</ins><span class="cx">             loader->didReceiveNetworkResourceLoaderMessage(connection, decoder);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -459,7 +459,7 @@
</span><span class="cx"> 
</span><span class="cx"> Vector<RefPtr<WebCore::BlobDataFileReference>> NetworkConnectionToWebProcess::resolveBlobReferences(const NetworkResourceLoadParameters& loadParameters)
</span><span class="cx"> {
</span><del>-    CONNECTION_RELEASE_LOG(Loading, "resolveBlobReferences: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier);
</del><ins>+    CONNECTION_RELEASE_LOG(Loading, "resolveBlobReferences: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier.toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     auto* session = networkSession();
</span><span class="cx">     if (!session)
</span><span class="lines">@@ -488,7 +488,7 @@
</span><span class="cx"> 
</span><span class="cx"> void NetworkConnectionToWebProcess::scheduleResourceLoad(NetworkResourceLoadParameters&& loadParameters, std::optional<NetworkResourceLoadIdentifier> existingLoaderToResume)
</span><span class="cx"> {
</span><del>-    CONNECTION_RELEASE_LOG(Loading, "scheduleResourceLoad: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ", existingLoaderToResume=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier, existingLoaderToResume.value_or(NetworkResourceLoadIdentifier { }).toUInt64());
</del><ins>+    CONNECTION_RELEASE_LOG(Loading, "scheduleResourceLoad: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ", existingLoaderToResume=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier.toUInt64(), existingLoaderToResume.value_or(NetworkResourceLoadIdentifier { }).toUInt64());
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(SERVICE_WORKER)
</span><span class="cx">     auto& server = m_networkProcess->swServerForSession(m_sessionID);
</span><span class="lines">@@ -532,7 +532,7 @@
</span><span class="cx"> 
</span><span class="cx"> void NetworkConnectionToWebProcess::performSynchronousLoad(NetworkResourceLoadParameters&& loadParameters, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply)
</span><span class="cx"> {
</span><del>-    CONNECTION_RELEASE_LOG(Loading, "performSynchronousLoad: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier);
</del><ins>+    CONNECTION_RELEASE_LOG(Loading, "performSynchronousLoad: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier.toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     auto identifier = loadParameters.identifier;
</span><span class="cx">     RELEASE_ASSERT(identifier);
</span><span class="lines">@@ -554,7 +554,7 @@
</span><span class="cx"> 
</span><span class="cx"> void NetworkConnectionToWebProcess::loadPing(NetworkResourceLoadParameters&& loadParameters)
</span><span class="cx"> {
</span><del>-    CONNECTION_RELEASE_LOG(Loading, "loadPing: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier);
</del><ins>+    CONNECTION_RELEASE_LOG(Loading, "loadPing: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier.toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     auto completionHandler = [connection = m_connection, identifier = loadParameters.identifier] (const ResourceError& error, const ResourceResponse& response) {
</span><span class="cx">         connection->send(Messages::NetworkProcessConnection::DidFinishPingLoad(identifier, error, response), 0);
</span><span class="lines">@@ -574,7 +574,7 @@
</span><span class="cx">     m_connection->send(Messages::NetworkProcessConnection::CookieAcceptPolicyChanged(newPolicy), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkConnectionToWebProcess::removeLoadIdentifier(ResourceLoadIdentifier identifier)
</del><ins>+void NetworkConnectionToWebProcess::removeLoadIdentifier(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(identifier);
</span><span class="cx">     RELEASE_ASSERT(RunLoop::isMain());
</span><span class="lines">@@ -587,7 +587,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Abort the load now, as the WebProcess won't be able to respond to messages any more which might lead
</span><span class="cx">     // to leaked loader resources (connections, threads, etc).
</span><del>-    CONNECTION_RELEASE_LOG(Loading, "removeLoadIdentifier: Removing identifier %" PRIu64 " and aborting corresponding loader", identifier);
</del><ins>+    CONNECTION_RELEASE_LOG(Loading, "removeLoadIdentifier: Removing identifier %" PRIu64 " and aborting corresponding loader", identifier.toUInt64());
</ins><span class="cx">     loader->abort();
</span><span class="cx">     ASSERT(!m_networkResourceLoaders.contains(identifier));
</span><span class="cx"> }
</span><span class="lines">@@ -627,9 +627,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkConnectionToWebProcess::preconnectTo(std::optional<uint64_t> preconnectionIdentifier, NetworkResourceLoadParameters&& loadParameters)
</del><ins>+void NetworkConnectionToWebProcess::preconnectTo(std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier, NetworkResourceLoadParameters&& loadParameters)
</ins><span class="cx"> {
</span><del>-    CONNECTION_RELEASE_LOG(Loading, "preconnectTo: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier);
</del><ins>+    CONNECTION_RELEASE_LOG(Loading, "preconnectTo: (parentPID=%d, pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ")", loadParameters.parentPID, loadParameters.webPageProxyID.toUInt64(), loadParameters.webPageID.toUInt64(), loadParameters.webFrameID.toUInt64(), loadParameters.identifier.toUInt64());
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(!loadParameters.request.httpBody());
</span><span class="cx"> 
</span><span class="lines">@@ -657,12 +657,12 @@
</span><span class="cx">     completionHandler(internalError(loadParameters.request.url()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkConnectionToWebProcess::isResourceLoadFinished(uint64_t loadIdentifier, CompletionHandler<void(bool)>&& callback)
</del><ins>+void NetworkConnectionToWebProcess::isResourceLoadFinished(WebCore::ResourceLoaderIdentifier loadIdentifier, CompletionHandler<void(bool)>&& callback)
</ins><span class="cx"> {
</span><span class="cx">     callback(!m_networkResourceLoaders.contains(loadIdentifier));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkConnectionToWebProcess::didFinishPreconnection(uint64_t preconnectionIdentifier, const ResourceError& error)
</del><ins>+void NetworkConnectionToWebProcess::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_connection->isValid())
</span><span class="cx">         return;
</span><span class="lines">@@ -683,7 +683,7 @@
</span><span class="cx">     m_networkProcess->downloadManager().startDownload(m_sessionID, downloadID, request, isNavigatingToAppBoundDomain, suggestedName);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkConnectionToWebProcess::convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response, std::optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
</del><ins>+void NetworkConnectionToWebProcess::convertMainResourceLoadToDownload(std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response, std::optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
</ins><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(RunLoop::isMain());
</span><span class="cx"> 
</span><span class="lines">@@ -693,7 +693,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    NetworkResourceLoader* loader = m_networkResourceLoaders.get(mainResourceLoadIdentifier);
</del><ins>+    NetworkResourceLoader* loader = m_networkResourceLoaders.get(*mainResourceLoadIdentifier);
</ins><span class="cx">     if (!loader) {
</span><span class="cx">         // If we're trying to download a blob here loader can be null.
</span><span class="cx">         return;
</span><span class="lines">@@ -1029,7 +1029,7 @@
</span><span class="cx">     SecurityPolicy::resetOriginAccessAllowlists();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<NetworkActivityTracker> NetworkConnectionToWebProcess::startTrackingResourceLoad(PageIdentifier pageID, ResourceLoadIdentifier resourceID, bool isTopResource)
</del><ins>+std::optional<NetworkActivityTracker> NetworkConnectionToWebProcess::startTrackingResourceLoad(PageIdentifier pageID, WebCore::ResourceLoaderIdentifier resourceID, bool isTopResource)
</ins><span class="cx"> {
</span><span class="cx">     if (m_sessionID.isEphemeral())
</span><span class="cx">         return std::nullopt;
</span><span class="lines">@@ -1080,7 +1080,7 @@
</span><span class="cx">     return newActivityTracker.networkActivity;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkConnectionToWebProcess::stopTrackingResourceLoad(ResourceLoadIdentifier resourceID, NetworkActivityTracker::CompletionCode code)
</del><ins>+void NetworkConnectionToWebProcess::stopTrackingResourceLoad(WebCore::ResourceLoaderIdentifier resourceID, NetworkActivityTracker::CompletionCode code)
</ins><span class="cx"> {
</span><span class="cx">     auto itemIndex = findNetworkActivityTracker(resourceID);
</span><span class="cx">     if (itemIndex == notFound)
</span><span class="lines">@@ -1117,7 +1117,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-size_t NetworkConnectionToWebProcess::findNetworkActivityTracker(ResourceLoadIdentifier resourceID)
</del><ins>+size_t NetworkConnectionToWebProcess::findNetworkActivityTracker(WebCore::ResourceLoaderIdentifier resourceID)
</ins><span class="cx"> {
</span><span class="cx">     return m_networkActivityTrackers.findMatching([&](const auto& item) {
</span><span class="cx">         return item.resourceID == resourceID;
</span><span class="lines">@@ -1268,7 +1268,7 @@
</span><span class="cx">     session->networkLoadScheduler().setResourceLoadSchedulingMode(pageIdentifier, mode);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkConnectionToWebProcess::prioritizeResourceLoads(Vector<ResourceLoadIdentifier> loadIdentifiers)
</del><ins>+void NetworkConnectionToWebProcess::prioritizeResourceLoads(const Vector<WebCore::ResourceLoaderIdentifier>& loadIdentifiers)
</ins><span class="cx"> {
</span><span class="cx">     auto* session = networkSession();
</span><span class="cx">     if (!session)
</span><span class="lines">@@ -1285,7 +1285,7 @@
</span><span class="cx">     session->networkLoadScheduler().prioritizeLoads(loads);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<NetworkResourceLoader> NetworkConnectionToWebProcess::takeNetworkResourceLoader(uint64_t resourceLoadIdentifier)
</del><ins>+RefPtr<NetworkResourceLoader> NetworkConnectionToWebProcess::takeNetworkResourceLoader(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!NetworkResourceLoadMap::MapType::isValidKey(resourceLoadIdentifier))
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkConnectionToWebProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -87,7 +87,6 @@
</span><span class="cx"> class ServiceWorkerFetchTask;
</span><span class="cx"> class WebSWServerConnection;
</span><span class="cx"> class WebSWServerToContextConnection;
</span><del>-typedef uint64_t ResourceLoadIdentifier;
</del><span class="cx"> 
</span><span class="cx"> namespace NetworkCache {
</span><span class="cx"> struct DataKey;
</span><span class="lines">@@ -125,7 +124,7 @@
</span><span class="cx">     void cleanupForSuspension(Function<void()>&&);
</span><span class="cx">     void endSuspension();
</span><span class="cx"> 
</span><del>-    void getNetworkLoadInformationResponse(ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::ResourceResponse&)>&& completionHandler)
</del><ins>+    void getNetworkLoadInformationResponse(WebCore::ResourceLoaderIdentifier identifier, CompletionHandler<void(const WebCore::ResourceResponse&)>&& completionHandler)
</ins><span class="cx">     {
</span><span class="cx">         if (auto* info = m_networkLoadInformationByID.get(identifier))
</span><span class="cx">             return completionHandler(info->response);
</span><span class="lines">@@ -132,7 +131,7 @@
</span><span class="cx">         completionHandler({ });
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void getNetworkLoadIntermediateInformation(ResourceLoadIdentifier identifier, CompletionHandler<void(const Vector<WebCore::NetworkTransactionInformation>&)>&& completionHandler)
</del><ins>+    void getNetworkLoadIntermediateInformation(WebCore::ResourceLoaderIdentifier identifier, CompletionHandler<void(const Vector<WebCore::NetworkTransactionInformation>&)>&& completionHandler)
</ins><span class="cx">     {
</span><span class="cx">         if (auto* info = m_networkLoadInformationByID.get(identifier))
</span><span class="cx">             return completionHandler(info->transactions);
</span><span class="lines">@@ -139,7 +138,7 @@
</span><span class="cx">         completionHandler({ });
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void takeNetworkLoadInformationMetrics(ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::NetworkLoadMetrics&)>&& completionHandler)
</del><ins>+    void takeNetworkLoadInformationMetrics(WebCore::ResourceLoaderIdentifier identifier, CompletionHandler<void(const WebCore::NetworkLoadMetrics&)>&& completionHandler)
</ins><span class="cx">     {
</span><span class="cx">         if (auto info = m_networkLoadInformationByID.take(identifier))
</span><span class="cx">             return completionHandler(info->metrics);
</span><span class="lines">@@ -146,13 +145,13 @@
</span><span class="cx">         completionHandler({ });
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void addNetworkLoadInformation(ResourceLoadIdentifier identifier, WebCore::NetworkLoadInformation&& information)
</del><ins>+    void addNetworkLoadInformation(WebCore::ResourceLoaderIdentifier identifier, WebCore::NetworkLoadInformation&& information)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(!m_networkLoadInformationByID.contains(identifier));
</span><span class="cx">         m_networkLoadInformationByID.add(identifier, makeUnique<WebCore::NetworkLoadInformation>(WTFMove(information)));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void addNetworkLoadInformationMetrics(ResourceLoadIdentifier identifier, const WebCore::NetworkLoadMetrics& metrics)
</del><ins>+    void addNetworkLoadInformationMetrics(WebCore::ResourceLoaderIdentifier identifier, const WebCore::NetworkLoadMetrics& metrics)
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_networkLoadInformationByID.contains(identifier));
</span><span class="cx">         m_networkLoadInformationByID.ensure(identifier, [] {
</span><span class="lines">@@ -160,13 +159,13 @@
</span><span class="cx">         }).iterator->value->metrics = metrics;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void removeNetworkLoadInformation(ResourceLoadIdentifier identifier)
</del><ins>+    void removeNetworkLoadInformation(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx">     {
</span><span class="cx">         m_networkLoadInformationByID.remove(identifier);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    std::optional<NetworkActivityTracker> startTrackingResourceLoad(WebCore::PageIdentifier, ResourceLoadIdentifier resourceID, bool isTopResource);
-    void stopTrackingResourceLoad(ResourceLoadIdentifier resourceID, NetworkActivityTracker::CompletionCode);
</del><ins>+    std::optional<NetworkActivityTracker> startTrackingResourceLoad(WebCore::PageIdentifier, WebCore::ResourceLoaderIdentifier resourceID, bool isTopResource);
+    void stopTrackingResourceLoad(WebCore::ResourceLoaderIdentifier resourceID, NetworkActivityTracker::CompletionCode);
</ins><span class="cx"> 
</span><span class="cx">     Vector<RefPtr<WebCore::BlobDataFileReference>> resolveBlobReferences(const NetworkResourceLoadParameters&);
</span><span class="cx"> 
</span><span class="lines">@@ -187,12 +186,12 @@
</span><span class="cx">     void cookieAcceptPolicyChanged(WebCore::HTTPCookieAcceptPolicy);
</span><span class="cx"> 
</span><span class="cx">     void broadcastConsoleMessage(JSC::MessageSource, JSC::MessageLevel, const String& message);
</span><del>-    RefPtr<NetworkResourceLoader> takeNetworkResourceLoader(uint64_t resourceLoadIdentifier);
</del><ins>+    RefPtr<NetworkResourceLoader> takeNetworkResourceLoader(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     NetworkConnectionToWebProcess(NetworkProcess&, WebCore::ProcessIdentifier, PAL::SessionID, IPC::Connection::Identifier);
</span><span class="cx"> 
</span><del>-    void didFinishPreconnection(uint64_t preconnectionIdentifier, const WebCore::ResourceError&);
</del><ins>+    void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, const WebCore::ResourceError&);
</ins><span class="cx">     WebCore::NetworkStorageSession* storageSession();
</span><span class="cx"> 
</span><span class="cx">     // IPC::Connection::Client
</span><span class="lines">@@ -211,15 +210,15 @@
</span><span class="cx">     void loadPing(NetworkResourceLoadParameters&&);
</span><span class="cx">     void prefetchDNS(const String&);
</span><span class="cx">     void sendH2Ping(NetworkResourceLoadParameters&&, CompletionHandler<void(Expected<WTF::Seconds, WebCore::ResourceError>&&)>&&);
</span><del>-    void preconnectTo(std::optional<uint64_t> preconnectionIdentifier, NetworkResourceLoadParameters&&);
-    void isResourceLoadFinished(uint64_t loadIdentifier, CompletionHandler<void(bool)>&&);
</del><ins>+    void preconnectTo(std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier, NetworkResourceLoadParameters&&);
+    void isResourceLoadFinished(WebCore::ResourceLoaderIdentifier, CompletionHandler<void(bool)>&&);
</ins><span class="cx"> 
</span><del>-    void removeLoadIdentifier(ResourceLoadIdentifier);
</del><ins>+    void removeLoadIdentifier(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx">     void pageLoadCompleted(WebCore::PageIdentifier);
</span><span class="cx">     void browsingContextRemoved(WebPageProxyIdentifier, WebCore::PageIdentifier, WebCore::FrameIdentifier);
</span><del>-    void crossOriginRedirectReceived(ResourceLoadIdentifier, const URL& redirectURL);
</del><ins>+    void crossOriginRedirectReceived(WebCore::ResourceLoaderIdentifier, const URL& redirectURL);
</ins><span class="cx">     void startDownload(DownloadID, const WebCore::ResourceRequest&, std::optional<NavigatingToAppBoundDomain>, const String& suggestedName = { });
</span><del>-    void convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, std::optional<NavigatingToAppBoundDomain>);
</del><ins>+    void convertMainResourceLoadToDownload(std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, std::optional<NavigatingToAppBoundDomain>);
</ins><span class="cx"> 
</span><span class="cx">     void registerURLSchemesAsCORSEnabled(Vector<String>&& schemes);
</span><span class="cx"> 
</span><span class="lines">@@ -327,7 +326,7 @@
</span><span class="cx">         {
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        ResourceNetworkActivityTracker(WebCore::PageIdentifier pageID, ResourceLoadIdentifier resourceID)
</del><ins>+        ResourceNetworkActivityTracker(WebCore::PageIdentifier pageID, WebCore::ResourceLoaderIdentifier resourceID)
</ins><span class="cx">             : pageID { pageID }
</span><span class="cx">             , resourceID { resourceID }
</span><span class="cx">             , networkActivity { NetworkActivityTracker::Label::LoadResource }
</span><span class="lines">@@ -335,7 +334,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         WebCore::PageIdentifier pageID;
</span><del>-        ResourceLoadIdentifier resourceID { 0 };
</del><ins>+        WebCore::ResourceLoaderIdentifier resourceID;
</ins><span class="cx">         bool isRootActivity { false };
</span><span class="cx">         NetworkActivityTracker networkActivity;
</span><span class="cx">     };
</span><span class="lines">@@ -343,12 +342,12 @@
</span><span class="cx">     void stopAllNetworkActivityTracking();
</span><span class="cx">     void stopAllNetworkActivityTrackingForPage(WebCore::PageIdentifier);
</span><span class="cx">     size_t findRootNetworkActivity(WebCore::PageIdentifier);
</span><del>-    size_t findNetworkActivityTracker(ResourceLoadIdentifier resourceID);
</del><ins>+    size_t findNetworkActivityTracker(WebCore::ResourceLoaderIdentifier resourceID);
</ins><span class="cx"> 
</span><span class="cx">     void hasUploadStateChanged(bool);
</span><span class="cx"> 
</span><span class="cx">     void setResourceLoadSchedulingMode(WebCore::PageIdentifier, WebCore::LoadSchedulingMode);
</span><del>-    void prioritizeResourceLoads(Vector<ResourceLoadIdentifier>);
</del><ins>+    void prioritizeResourceLoads(const Vector<WebCore::ResourceLoaderIdentifier>&);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(APPLE_PAY_REMOTE_UI)
</span><span class="cx">     WebPaymentCoordinatorProxy& paymentCoordinator();
</span><span class="lines">@@ -375,7 +374,7 @@
</span><span class="cx">     HashMap<String, RefPtr<WebCore::BlobDataFileReference>> m_blobDataFileReferences;
</span><span class="cx">     Vector<ResourceNetworkActivityTracker> m_networkActivityTrackers;
</span><span class="cx"> 
</span><del>-    HashMap<ResourceLoadIdentifier, std::unique_ptr<WebCore::NetworkLoadInformation>> m_networkLoadInformationByID;
</del><ins>+    HashMap<WebCore::ResourceLoaderIdentifier, std::unique_ptr<WebCore::NetworkLoadInformation>> m_networkLoadInformationByID;
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> #if USE(LIBWEBRTC)
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkConnectionToWebProcessmessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -26,16 +26,16 @@
</span><span class="cx">     PerformSynchronousLoad(WebKit::NetworkResourceLoadParameters resourceLoadParameters) -> (WebCore::ResourceError error, WebCore::ResourceResponse response, Vector<uint8_t> data) Synchronous
</span><span class="cx">     TestProcessIncomingSyncMessagesWhenWaitingForSyncReply(WebKit::WebPageProxyIdentifier pageID) -> (bool handled) Synchronous
</span><span class="cx">     LoadPing(WebKit::NetworkResourceLoadParameters resourceLoadParameters)
</span><del>-    RemoveLoadIdentifier(uint64_t resourceLoadIdentifier)
</del><ins>+    RemoveLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier)
</ins><span class="cx">     PageLoadCompleted(WebCore::PageIdentifier webPageID)
</span><span class="cx">     BrowsingContextRemoved(WebKit::WebPageProxyIdentifier webPageProxyID, WebCore::PageIdentifier webPageID, WebCore::FrameIdentifier webFrameID)
</span><span class="cx">     PrefetchDNS(String hostname)
</span><span class="cx">     SendH2Ping(WebKit::NetworkResourceLoadParameters parameters) -> (Expected<Seconds, WebCore::ResourceError> result) Async
</span><del>-    PreconnectTo(std::optional<uint64_t> preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters);
-    IsResourceLoadFinished(uint64_t resourceLoadIdentifier) -> (bool isFinished) Async
</del><ins>+    PreconnectTo(std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters);
+    IsResourceLoadFinished(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (bool isFinished) Async
</ins><span class="cx"> 
</span><span class="cx">     StartDownload(WebKit::DownloadID downloadID, WebCore::ResourceRequest request, enum:bool std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, String suggestedName)
</span><del>-    ConvertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, WebCore::ResourceResponse response, enum:bool std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
</del><ins>+    ConvertMainResourceLoadToDownload(std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, WebCore::ResourceResponse response, enum:bool std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
</ins><span class="cx"> 
</span><span class="cx">     CookiesForDOM(URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID, enum:bool WebCore::IncludeSecureCookies includeSecureCookies, enum:bool WebCore::ShouldAskITP shouldAskITP, enum:bool WebCore::ShouldRelaxThirdPartyCookieBlocking shouldRelaxThirdPartyCookieBlocking) -> (String cookieString, bool didAccessSecureCookies) Synchronous
</span><span class="cx">     SetCookiesFromDOM(URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID, enum:bool WebCore::ShouldAskITP shouldAskITP, String cookieString, enum:bool WebCore::ShouldRelaxThirdPartyCookieBlocking shouldRelaxThirdPartyCookieBlocking)
</span><span class="lines">@@ -79,9 +79,9 @@
</span><span class="cx">     RemoveOriginAccessAllowListEntry(String sourceOrigin, String destinationProtocol, String destinationHost, bool allowDestinationSubdomains);
</span><span class="cx">     ResetOriginAccessAllowLists();
</span><span class="cx"> 
</span><del>-    GetNetworkLoadInformationResponse(uint64_t resourceLoadIdentifier) -> (WebCore::ResourceResponse response) Synchronous
-    GetNetworkLoadIntermediateInformation(uint64_t resourceLoadIdentifier) -> (Vector<WebCore::NetworkTransactionInformation> transactions) Synchronous
-    TakeNetworkLoadInformationMetrics(uint64_t resourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) Synchronous
</del><ins>+    GetNetworkLoadInformationResponse(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (WebCore::ResourceResponse response) Synchronous
+    GetNetworkLoadIntermediateInformation(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (Vector<WebCore::NetworkTransactionInformation> transactions) Synchronous
+    TakeNetworkLoadInformationMetrics(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) Synchronous
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(SERVICE_WORKER)
</span><span class="cx">     EstablishSWContextConnection(WebKit::WebPageProxyIdentifier webPageProxyID, WebCore::RegistrableDomain domain) -> () Async
</span><span class="lines">@@ -108,5 +108,5 @@
</span><span class="cx">     UpdateActivePages(String name, Vector<String> activePagesOrigins, audit_token_t auditToken)
</span><span class="cx"> #endif
</span><span class="cx">     SetResourceLoadSchedulingMode(WebCore::PageIdentifier webPageID, enum:uint8_t WebCore::LoadSchedulingMode mode)
</span><del>-    PrioritizeResourceLoads(Vector<uint64_t> loadIdentifiers)
</del><ins>+    PrioritizeResourceLoads(Vector<WebCore::ResourceLoaderIdentifier> loadIdentifiers)
</ins><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -2841,9 +2841,12 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void NetworkProcess::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)
</del><ins>+void NetworkProcess::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)
</ins><span class="cx"> {
</span><del>-    ASSERT(resourceLoadIdentifier);
</del><ins>+    if (!resourceLoadIdentifier) {
+        ASSERT_NOT_REACHED();
+        return completionHandler(std::nullopt);
+    }
</ins><span class="cx">     auto* connection = webProcessConnection(sourceProcessIdentifier);
</span><span class="cx">     if (!connection)
</span><span class="cx">         return completionHandler(std::nullopt);
</span><span class="lines">@@ -2852,7 +2855,7 @@
</span><span class="cx">     if (!session)
</span><span class="cx">         return completionHandler(std::nullopt);
</span><span class="cx"> 
</span><del>-    auto loader = connection->takeNetworkResourceLoader(resourceLoadIdentifier);
</del><ins>+    auto loader = connection->takeNetworkResourceLoader(*resourceLoadIdentifier);
</ins><span class="cx">     if (!loader)
</span><span class="cx">         return completionHandler(std::nullopt);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -423,7 +423,7 @@
</span><span class="cx">     bool didReceiveSyncNetworkProcessMessage(IPC::Connection&, IPC::Decoder&, UniqueRef<IPC::Encoder>&);
</span><span class="cx">     void initializeNetworkProcess(NetworkProcessCreationParameters&&);
</span><span class="cx">     void createNetworkConnectionToWebProcess(WebCore::ProcessIdentifier, PAL::SessionID, CompletionHandler<void(std::optional<IPC::Attachment>&&, WebCore::HTTPCookieAcceptPolicy)>&&);
</span><del>-    void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);
</del><ins>+    void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);
</ins><span class="cx"> 
</span><span class="cx">     void fetchWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, OptionSet<WebsiteDataFetchOption>, CompletionHandler<void(WebsiteData&&)>&&);
</span><span class="cx">     void deleteWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, WallTime modifiedSince, CompletionHandler<void()>&&);
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkProcessmessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx">     ClearAppPrivacyReportTestingData(PAL::SessionID sessionID) -> () Async
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    PrepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier) -> (std::optional<WebKit::NetworkResourceLoadIdentifier> networkResourceLoadIdentifier) Async
</del><ins>+    PrepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier) -> (std::optional<WebKit::NetworkResourceLoadIdentifier> networkResourceLoadIdentifier) Async
</ins><span class="cx"> 
</span><span class="cx">     AddWebPageNetworkParameters(PAL::SessionID sessionID, WebKit::WebPageProxyIdentifier pageID, WebKit::WebPageNetworkParameters parameters)
</span><span class="cx">     RemoveWebPageNetworkParameters(PAL::SessionID sessionID, WebKit::WebPageProxyIdentifier pageID)
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkResourceLoadMapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.cpp    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.cpp       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">     clear();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NetworkResourceLoadMap::MapType::AddResult NetworkResourceLoadMap::add(ResourceLoadIdentifier identifier, Ref<NetworkResourceLoader>&& loader)
</del><ins>+NetworkResourceLoadMap::MapType::AddResult NetworkResourceLoadMap::add(WebCore::ResourceLoaderIdentifier identifier, Ref<NetworkResourceLoader>&& loader)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_loaders.contains(identifier));
</span><span class="cx">     bool hasUpload = loader->originalRequest().hasUpload();
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool NetworkResourceLoadMap::remove(ResourceLoadIdentifier identifier)
</del><ins>+bool NetworkResourceLoadMap::remove(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     return !!take(identifier);
</span><span class="cx"> }
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     setHasUpload(false);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<NetworkResourceLoader> NetworkResourceLoadMap::take(ResourceLoadIdentifier identifier)
</del><ins>+RefPtr<NetworkResourceLoader> NetworkResourceLoadMap::take(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     auto loader = m_loaders.take(identifier);
</span><span class="cx">     if (!loader)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     return loader;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NetworkResourceLoader* NetworkResourceLoadMap::get(ResourceLoadIdentifier identifier) const
</del><ins>+NetworkResourceLoader* NetworkResourceLoadMap::get(WebCore::ResourceLoaderIdentifier identifier) const
</ins><span class="cx"> {
</span><span class="cx">     return m_loaders.get(identifier);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkResourceLoadMaph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <wtf/Function.h>
</span><span class="cx"> #include <wtf/HashMap.h>
</span><span class="cx"> 
</span><span class="lines">@@ -37,24 +38,22 @@
</span><span class="cx"> class NetworkResourceLoader;
</span><span class="cx"> class NetworkConnectionToWebProcess;
</span><span class="cx"> 
</span><del>-typedef uint64_t ResourceLoadIdentifier;
-
</del><span class="cx"> class NetworkResourceLoadMap {
</span><span class="cx"> public:
</span><del>-    typedef HashMap<ResourceLoadIdentifier, Ref<NetworkResourceLoader>> MapType;
</del><ins>+    using MapType = HashMap<WebCore::ResourceLoaderIdentifier, Ref<NetworkResourceLoader>>;
</ins><span class="cx">     NetworkResourceLoadMap(Function<void(bool hasUpload)>&&);
</span><span class="cx">     ~NetworkResourceLoadMap();
</span><span class="cx"> 
</span><span class="cx">     bool isEmpty() const { return m_loaders.isEmpty(); }
</span><del>-    bool contains(ResourceLoadIdentifier identifier) const { return m_loaders.contains(identifier); }
</del><ins>+    bool contains(WebCore::ResourceLoaderIdentifier identifier) const { return m_loaders.contains(identifier); }
</ins><span class="cx">     MapType::iterator begin() { return m_loaders.begin(); }
</span><span class="cx">     MapType::ValuesIteratorRange values() { return m_loaders.values(); }
</span><span class="cx">     void clear();
</span><span class="cx"> 
</span><del>-    MapType::AddResult add(ResourceLoadIdentifier, Ref<NetworkResourceLoader>&&);
-    NetworkResourceLoader* get(ResourceLoadIdentifier) const;
-    bool remove(ResourceLoadIdentifier);
-    RefPtr<NetworkResourceLoader> take(ResourceLoadIdentifier);
</del><ins>+    MapType::AddResult add(WebCore::ResourceLoaderIdentifier, Ref<NetworkResourceLoader>&&);
+    NetworkResourceLoader* get(WebCore::ResourceLoaderIdentifier) const;
+    bool remove(WebCore::ResourceLoaderIdentifier);
+    RefPtr<NetworkResourceLoader> take(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     bool hasUpload() const { return m_hasUpload; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkResourceLoadParametersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include <WebCore/CrossOriginAccessControl.h>
</span><span class="cx"> #include <WebCore/CrossOriginEmbedderPolicy.h>
</span><span class="cx"> #include <WebCore/FetchOptions.h>
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <wtf/Seconds.h>
</span><span class="cx"> 
</span><span class="cx"> namespace IPC {
</span><span class="lines">@@ -42,8 +43,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-typedef uint64_t ResourceLoadIdentifier;
-
</del><span class="cx"> class NetworkResourceLoadParameters : public NetworkLoadParameters {
</span><span class="cx"> public:
</span><span class="cx">     void encode(IPC::Encoder&) const;
</span><span class="lines">@@ -51,7 +50,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr<WebCore::SecurityOrigin> parentOrigin() const;
</span><span class="cx"> 
</span><del>-    mutable ResourceLoadIdentifier identifier { 0 };
</del><ins>+    mutable WebCore::ResourceLoaderIdentifier identifier;
</ins><span class="cx">     Vector<RefPtr<SandboxExtension>> requestBodySandboxExtensions; // Created automatically for the sender.
</span><span class="cx">     RefPtr<SandboxExtension> resourceSandboxExtension; // Created automatically for the sender.
</span><span class="cx">     mutable Seconds maximumBufferingTime;
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -66,8 +66,8 @@
</span><span class="cx"> #include <WebCore/PreviewConverter.h>
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#define LOADER_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, "%p - [pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ", isMainResource=%d, destination=%u, isSynchronous=%d] NetworkResourceLoader::" fmt, this, m_parameters.webPageProxyID.toUInt64(), m_parameters.webPageID.toUInt64(), m_parameters.webFrameID.toUInt64(), m_parameters.identifier, isMainResource(), static_cast<unsigned>(m_parameters.options.destination), isSynchronous(), ##__VA_ARGS__)
-#define LOADER_RELEASE_LOG_ERROR(fmt, ...) RELEASE_LOG_ERROR(Network, "%p - [pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ", isMainResource=%d, destination=%u, isSynchronous=%d] NetworkResourceLoader::" fmt, this, m_parameters.webPageProxyID.toUInt64(), m_parameters.webPageID.toUInt64(), m_parameters.webFrameID.toUInt64(), m_parameters.identifier, isMainResource(), static_cast<unsigned>(m_parameters.options.destination), isSynchronous(), ##__VA_ARGS__)
</del><ins>+#define LOADER_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, "%p - [pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ", isMainResource=%d, destination=%u, isSynchronous=%d] NetworkResourceLoader::" fmt, this, m_parameters.webPageProxyID.toUInt64(), m_parameters.webPageID.toUInt64(), m_parameters.webFrameID.toUInt64(), m_parameters.identifier.toUInt64(), isMainResource(), static_cast<unsigned>(m_parameters.options.destination), isSynchronous(), ##__VA_ARGS__)
+#define LOADER_RELEASE_LOG_ERROR(fmt, ...) RELEASE_LOG_ERROR(Network, "%p - [pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 ", isMainResource=%d, destination=%u, isSynchronous=%d] NetworkResourceLoader::" fmt, this, m_parameters.webPageProxyID.toUInt64(), m_parameters.webPageID.toUInt64(), m_parameters.webFrameID.toUInt64(), m_parameters.identifier.toUInt64(), isMainResource(), static_cast<unsigned>(m_parameters.options.destination), isSynchronous(), ##__VA_ARGS__)
</ins><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> using namespace WebCore;
</span><span class="lines">@@ -524,7 +524,7 @@
</span><span class="cx">     cleanup(LoadResult::Cancel);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkResourceLoader::transferToNewWebProcess(NetworkConnectionToWebProcess& newConnection, ResourceLoadIdentifier newCoreIdentifier)
</del><ins>+void NetworkResourceLoader::transferToNewWebProcess(NetworkConnectionToWebProcess& newConnection, WebCore::ResourceLoaderIdentifier newCoreIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     m_connection = newConnection;
</span><span class="cx">     m_parameters.identifier = newCoreIdentifier;
</span><span class="lines">@@ -1396,21 +1396,12 @@
</span><span class="cx">     return s.replace('\\', "\\\\").replace('"', "\\\"");
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static String escapeIDForJSON(const std::optional<uint64_t>& value)
</del><ins>+template<typename IdentifierType>
+static String escapeIDForJSON(const std::optional<ObjectIdentifier<IdentifierType>>& value)
</ins><span class="cx"> {
</span><del>-    return value ? String::number(value.value()) : String("None"_s);
-}
-
-static String escapeIDForJSON(const std::optional<FrameIdentifier>& value)
-{
</del><span class="cx">     return value ? String::number(value->toUInt64()) : String("None"_s);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static String escapeIDForJSON(const std::optional<PageIdentifier>& value)
-{
-    return value ? String::number(value->toUInt64()) : String("None"_s);
-}
-
</del><span class="cx"> void NetworkResourceLoader::logCookieInformation() const
</span><span class="cx"> {
</span><span class="cx">     ASSERT(shouldLogCookieInformation(m_connection, sessionID()));
</span><span class="lines">@@ -1421,7 +1412,7 @@
</span><span class="cx">     logCookieInformation(m_connection, "NetworkResourceLoader", reinterpret_cast<const void*>(this), *networkStorageSession, originalRequest().firstPartyForCookies(), SameSiteInfo::create(originalRequest()), originalRequest().url(), originalRequest().httpReferrer(), frameID(), pageID(), coreIdentifier());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void logBlockedCookieInformation(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const WebCore::NetworkStorageSession& networkStorageSession, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<uint64_t> identifier)
</del><ins>+static void logBlockedCookieInformation(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const WebCore::NetworkStorageSession& networkStorageSession, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<WebCore::ResourceLoaderIdentifier> identifier)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(NetworkResourceLoader::shouldLogCookieInformation(connection, networkStorageSession.sessionID()));
</span><span class="cx"> 
</span><span class="lines">@@ -1448,7 +1439,7 @@
</span><span class="cx"> #undef LOCAL_LOG_IF_ALLOWED
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void logCookieInformationInternal(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const WebCore::NetworkStorageSession& networkStorageSession, const URL& firstParty, const WebCore::SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<uint64_t> identifier)
</del><ins>+static void logCookieInformationInternal(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const WebCore::NetworkStorageSession& networkStorageSession, const URL& firstParty, const WebCore::SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<WebCore::ResourceLoaderIdentifier> identifier)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(NetworkResourceLoader::shouldLogCookieInformation(connection, networkStorageSession.sessionID()));
</span><span class="cx"> 
</span><span class="lines">@@ -1509,7 +1500,7 @@
</span><span class="cx"> #undef LOCAL_LOG_IF_ALLOWED
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkResourceLoader::logCookieInformation(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const NetworkStorageSession& networkStorageSession, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<uint64_t> identifier)
</del><ins>+void NetworkResourceLoader::logCookieInformation(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const NetworkStorageSession& networkStorageSession, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<WebCore::ResourceLoaderIdentifier> identifier)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(shouldLogCookieInformation(connection, networkStorageSession.sessionID()));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitNetworkProcessNetworkResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     void start();
</span><span class="cx">     void abort();
</span><span class="cx"> 
</span><del>-    void transferToNewWebProcess(NetworkConnectionToWebProcess&, ResourceLoadIdentifier);
</del><ins>+    void transferToNewWebProcess(NetworkConnectionToWebProcess&, WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     // Message handlers.
</span><span class="cx">     void didReceiveNetworkResourceLoaderMessage(IPC::Connection&, IPC::Decoder&);
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> 
</span><span class="cx">     NetworkConnectionToWebProcess& connectionToWebProcess() const { return m_connection; }
</span><span class="cx">     PAL::SessionID sessionID() const { return m_connection->sessionID(); }
</span><del>-    ResourceLoadIdentifier coreIdentifier() const { return m_parameters.identifier; }
</del><ins>+    WebCore::ResourceLoaderIdentifier coreIdentifier() const { return m_parameters.identifier; }
</ins><span class="cx">     WebCore::FrameIdentifier frameID() const { return m_parameters.webFrameID; }
</span><span class="cx">     WebCore::PageIdentifier pageID() const { return m_parameters.webPageID; }
</span><span class="cx">     const NetworkResourceLoadParameters& parameters() const { return m_parameters; }
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INTELLIGENT_TRACKING_PREVENTION) && !RELEASE_LOG_DISABLED
</span><span class="cx">     static bool shouldLogCookieInformation(NetworkConnectionToWebProcess&, PAL::SessionID);
</span><del>-    static void logCookieInformation(NetworkConnectionToWebProcess&, const String& label, const void* loggedObject, const WebCore::NetworkStorageSession&, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, const String& referrer, std::optional<WebCore::FrameIdentifier>, std::optional<WebCore::PageIdentifier>, std::optional<uint64_t> identifier);
</del><ins>+    static void logCookieInformation(NetworkConnectionToWebProcess&, const String& label, const void* loggedObject, const WebCore::NetworkStorageSession&, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, const String& referrer, std::optional<WebCore::FrameIdentifier>, std::optional<WebCore::PageIdentifier>, std::optional<WebCore::ResourceLoaderIdentifier>);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void disableExtraNetworkLoadMetricsCapture() { m_shouldCaptureExtraNetworkLoadMetrics = false; }
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx"> 
</span><span class="cx">     // IPC::MessageSender
</span><span class="cx">     IPC::Connection* messageSenderConnection() const override;
</span><del>-    uint64_t messageSenderDestinationID() const override { return m_parameters.identifier; }
</del><ins>+    uint64_t messageSenderDestinationID() const override { return m_parameters.identifier.toUInt64(); }
</ins><span class="cx"> 
</span><span class="cx">     bool canUseCache(const WebCore::ResourceRequest&) const;
</span><span class="cx">     bool canUseCachedRedirect(const WebCore::ResourceRequest&) const;
</span></span></pre></div>
<a id="trunkSourceWebKitScriptswebkitmessagespy"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Scripts/webkit/messages.py   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -297,6 +297,7 @@
</span><span class="cx">         'WebCore::RealtimeMediaSourceIdentifier',
</span><span class="cx">         'WebCore::RenderingMode',
</span><span class="cx">         'WebCore::RenderingResourceIdentifier',
</span><ins>+        'WebCore::ResourceLoaderIdentifier',
</ins><span class="cx">         'WebCore::SWServerConnectionIdentifier',
</span><span class="cx">         'WebCore::ServiceWorkerIdentifier',
</span><span class="cx">         'WebCore::ServiceWorkerJobIdentifier',
</span></span></pre></div>
<a id="trunkSourceWebKitSharedURLSchemeTaskParameterscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">     if (!handlerIdentifier)
</span><span class="cx">         return std::nullopt;
</span><span class="cx">     
</span><del>-    std::optional<uint64_t> taskIdentifier;
</del><ins>+    std::optional<WebCore::ResourceLoaderIdentifier> taskIdentifier;
</ins><span class="cx">     decoder >> taskIdentifier;
</span><span class="cx">     if (!taskIdentifier)
</span><span class="cx">         return std::nullopt;
</span></span></pre></div>
<a id="trunkSourceWebKitSharedURLSchemeTaskParametersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include "FrameInfoData.h"
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <WebCore/ResourceRequest.h>
</span><span class="cx"> 
</span><span class="cx"> namespace IPC {
</span><span class="lines">@@ -37,7 +38,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct URLSchemeTaskParameters {
</span><span class="cx">     uint64_t handlerIdentifier { 0 };
</span><del>-    uint64_t taskIdentifier { 0 };
</del><ins>+    WebCore::ResourceLoaderIdentifier taskIdentifier;
</ins><span class="cx">     WebCore::ResourceRequest request;
</span><span class="cx">     FrameInfoData frameInfo;
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessAPIglibWebKitWebContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -60,6 +60,7 @@
</span><span class="cx"> #include "WebsiteDataStore.h"
</span><span class="cx"> #include "WebsiteDataType.h"
</span><span class="cx"> #include <JavaScriptCore/RemoteInspector.h>
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <glib/gi18n-lib.h>
</span><span class="cx"> #include <libintl.h>
</span><span class="cx"> #include <memory>
</span><span class="lines">@@ -194,11 +195,10 @@
</span><span class="cx">     WebKitURISchemeRequestCallback m_callback { nullptr };
</span><span class="cx">     void* m_userData { nullptr };
</span><span class="cx">     GDestroyNotify m_destroyNotify { nullptr };
</span><del>-    HashMap<uint64_t, GRefPtr<WebKitURISchemeRequest>> m_requests;
</del><ins>+    HashMap<WebCore::ResourceLoaderIdentifier, GRefPtr<WebKitURISchemeRequest>> m_requests;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> typedef HashMap<String, RefPtr<WebKitURISchemeHandler> > URISchemeHandlerMap;
</span><del>-typedef HashMap<uint64_t, GRefPtr<WebKitURISchemeRequest> > URISchemeRequestMap;
</del><span class="cx"> 
</span><span class="cx"> class WebKitAutomationClient;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessNetworkNetworkProcessProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -476,9 +476,9 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkProcessProxy::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)
</del><ins>+void NetworkProcessProxy::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)
</ins><span class="cx"> {
</span><del>-    RELEASE_LOG(ProcessSwapping, "%p - NetworkProcessProxy::prepareLoadForWebProcessTransfer: sourceProcessIdentifier: %" PRIu64 ", resourceLoadIdentifier: %" PRIu64, this, sourceProcessIdentifier.toUInt64(), resourceLoadIdentifier);
</del><ins>+    RELEASE_LOG(ProcessSwapping, "%p - NetworkProcessProxy::prepareLoadForWebProcessTransfer: sourceProcessIdentifier: %" PRIu64 ", resourceLoadIdentifier: %" PRIu64, this, sourceProcessIdentifier.toUInt64(), resourceLoadIdentifier ? resourceLoadIdentifier->toUInt64() : 0);
</ins><span class="cx">     if (!resourceLoadIdentifier) {
</span><span class="cx">         completionHandler({ });
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessNetworkNetworkProcessProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx">     void testProcessIncomingSyncMessagesWhenWaitingForSyncReply(WebPageProxyIdentifier, Messages::NetworkProcessProxy::TestProcessIncomingSyncMessagesWhenWaitingForSyncReplyDelayedReply&&);
</span><span class="cx">     void terminateUnresponsiveServiceWorkerProcesses(WebCore::ProcessIdentifier);
</span><span class="cx"> 
</span><del>-    void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);
</del><ins>+    void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier>, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);
</ins><span class="cx"> 
</span><span class="cx">     ProcessThrottler& throttler() final { return m_throttler; }
</span><span class="cx">     void updateProcessAssertion();
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessProvisionalPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -333,7 +333,7 @@
</span><span class="cx">     m_page.decidePolicyForNavigationActionAsyncShared(m_process.copyRef(), m_webPageID, frameID, WTFMove(frameInfo), identifier, navigationID, WTFMove(navigationActionData), WTFMove(originatingFrameInfo), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, listenerID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ProvisionalPageProxy::decidePolicyForResponse(FrameIdentifier frameID, FrameInfoData&& frameInfo, WebCore::PolicyCheckIdentifier identifier, uint64_t navigationID, const WebCore::ResourceResponse& response, const WebCore::ResourceRequest& request, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, uint64_t mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)
</del><ins>+void ProvisionalPageProxy::decidePolicyForResponse(FrameIdentifier frameID, FrameInfoData&& frameInfo, WebCore::PolicyCheckIdentifier identifier, uint64_t navigationID, const WebCore::ResourceResponse& response, const WebCore::ResourceRequest& request, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)
</ins><span class="cx"> {
</span><span class="cx">     if (!validateInput(frameID, navigationID))
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessProvisionalPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     bool sendMessage(UniqueRef<IPC::Encoder>&&, OptionSet<IPC::SendOption>, std::optional<std::pair<CompletionHandler<void(IPC::Decoder*)>, uint64_t>>&&) final;
</span><span class="cx"> 
</span><span class="cx">     void decidePolicyForNavigationActionAsync(WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, NavigationActionData&&, FrameInfoData&& originatingFrameInfo, std::optional<WebPageProxyIdentifier> originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, uint64_t listenerID);
</span><del>-    void decidePolicyForResponse(WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, WebCore::BrowsingContextGroupSwitchDecision, uint64_t listenerID, uint64_t mainResourceLoadIdentifier, const UserData&);
</del><ins>+    void decidePolicyForResponse(WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, WebCore::BrowsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData&);
</ins><span class="cx">     void didChangeProvisionalURLForFrame(WebCore::FrameIdentifier, uint64_t navigationID, URL&&);
</span><span class="cx">     void didPerformServerRedirect(const String& sourceURLString, const String& destinationURLString, WebCore::FrameIdentifier);
</span><span class="cx">     void didReceiveServerRedirectForProvisionalLoadForFrame(WebCore::FrameIdentifier, uint64_t navigationID, WebCore::ResourceRequest&&, const UserData&);
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -5630,12 +5630,12 @@
</span><span class="cx"> 
</span><span class="cx"> void WebPageProxy::decidePolicyForResponse(FrameIdentifier frameID, FrameInfoData&& frameInfo, PolicyCheckIdentifier identifier,
</span><span class="cx">     uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, const String& downloadAttribute,
</span><del>-    bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, uint64_t mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)
</del><ins>+    bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)
</ins><span class="cx"> {
</span><span class="cx">     decidePolicyForResponseShared(m_process.copyRef(), m_webPageID, frameID, WTFMove(frameInfo), identifier, navigationID, response, request, canShowMIMEType, downloadAttribute, wasAllowedByInjectedBundle, browsingContextGroupSwitchDecision, mainResourceLoadIdentifier, listenerID, userData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::decidePolicyForResponseShared(Ref<WebProcessProxy>&& process, PageIdentifier webPageID, FrameIdentifier frameID, FrameInfoData&& frameInfo, PolicyCheckIdentifier identifier, uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, uint64_t mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)
</del><ins>+void WebPageProxy::decidePolicyForResponseShared(Ref<WebProcessProxy>&& process, PageIdentifier webPageID, FrameIdentifier frameID, FrameInfoData&& frameInfo, PolicyCheckIdentifier identifier, uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)
</ins><span class="cx"> {
</span><span class="cx">     PageClientProtector protector(pageClient());
</span><span class="cx"> 
</span><span class="lines">@@ -10002,7 +10002,7 @@
</span><span class="cx">     iterator->value->startTask(*this, process, webPageID, WTFMove(parameters), nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::stopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier)
</del><ins>+void WebPageProxy::stopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     MESSAGE_CHECK(m_process, decltype(m_urlSchemeHandlersByIdentifier)::isValidKey(handlerIdentifier));
</span><span class="cx">     auto iterator = m_urlSchemeHandlersByIdentifier.find(handlerIdentifier);
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/WebPageProxy.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -1745,7 +1745,7 @@
</span><span class="cx">     void didNavigateWithNavigationDataShared(Ref<WebProcessProxy>&&, const WebNavigationDataStore&, WebCore::FrameIdentifier);
</span><span class="cx">     void didChangeProvisionalURLForFrameShared(Ref<WebProcessProxy>&&, WebCore::FrameIdentifier, uint64_t navigationID, URL&&);
</span><span class="cx">     void decidePolicyForNavigationActionAsyncShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, NavigationActionData&&, FrameInfoData&& originatingFrameInfo, std::optional<WebPageProxyIdentifier> originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, uint64_t listenerID);
</span><del>-    void decidePolicyForResponseShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, WebCore::BrowsingContextGroupSwitchDecision, uint64_t mainResourceLoadIdentifier, uint64_t listenerID, const UserData&);
</del><ins>+    void decidePolicyForResponseShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, WebCore::BrowsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData&);
</ins><span class="cx">     void startURLSchemeTaskShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, URLSchemeTaskParameters&&);
</span><span class="cx">     void loadDataWithNavigationShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, API::Navigation&, const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, std::optional<NavigatingToAppBoundDomain>, std::optional<WebsitePoliciesData>&&, WebCore::ShouldOpenExternalURLsPolicy, WebCore::SubstituteData::SessionHistoryVisibility);
</span><span class="cx">     void loadRequestWithNavigationShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, API::Navigation&, WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, std::optional<NavigatingToAppBoundDomain>, std::optional<WebsitePoliciesData>&& = std::nullopt, std::optional<NetworkResourceLoadIdentifier> existingNetworkResourceLoadIdentifierToResume = std::nullopt);
</span><span class="lines">@@ -2063,7 +2063,7 @@
</span><span class="cx">     void decidePolicyForNewWindowAction(WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, NavigationActionData&&,
</span><span class="cx">         WebCore::ResourceRequest&&, const String& frameName, uint64_t listenerID, const UserData&);
</span><span class="cx">     void decidePolicyForResponse(WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID,
</span><del>-        const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, WebCore::BrowsingContextGroupSwitchDecision, uint64_t mainResourceLoadIdentifier, uint64_t listenerID, const UserData&);
</del><ins>+        const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, WebCore::BrowsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData&);
</ins><span class="cx">     void unableToImplementPolicy(WebCore::FrameIdentifier, const WebCore::ResourceError&, const UserData&);
</span><span class="cx">     void beginSafeBrowsingCheck(const URL&, bool, WebFramePolicyListenerProxy&);
</span><span class="cx"> 
</span><span class="lines">@@ -2427,7 +2427,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void startURLSchemeTask(URLSchemeTaskParameters&&);
</span><del>-    void stopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier);
</del><ins>+    void stopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier);
</ins><span class="cx">     void loadSynchronousURLSchemeTask(URLSchemeTaskParameters&&, Messages::WebPageProxy::LoadSynchronousURLSchemeTaskDelayedReply&&);
</span><span class="cx"> 
</span><span class="cx">     bool checkURLReceivedFromCurrentOrPreviousWebProcess(WebProcessProxy&, const String&);
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     # Policy messages
</span><del>-    DecidePolicyForResponse(WebCore::FrameIdentifier frameID, struct WebKit::FrameInfoData frameInfo, WebCore::PolicyCheckIdentifier policyCheckIdentifier, uint64_t navigationID, WebCore::ResourceResponse response, WebCore::ResourceRequest request, bool canShowMIMEType, String downloadAttribute, bool wasAllowedByInjectedBundle, enum:uint8_t WebCore::BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, uint64_t mainResourceLoadIdentifier, uint64_t listenerID, WebKit::UserData userData)
</del><ins>+    DecidePolicyForResponse(WebCore::FrameIdentifier frameID, struct WebKit::FrameInfoData frameInfo, WebCore::PolicyCheckIdentifier policyCheckIdentifier, uint64_t navigationID, WebCore::ResourceResponse response, WebCore::ResourceRequest request, bool canShowMIMEType, String downloadAttribute, bool wasAllowedByInjectedBundle, enum:uint8_t WebCore::BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, WebKit::UserData userData)
</ins><span class="cx">     DecidePolicyForNavigationActionAsync(WebCore::FrameIdentifier frameID, struct WebKit::FrameInfoData frameInfo, WebCore::PolicyCheckIdentifier policyCheckIdentifier, uint64_t navigationID, struct WebKit::NavigationActionData navigationActionData, struct WebKit::FrameInfoData originatingFrameInfoData, std::optional<WebKit::WebPageProxyIdentifier> originatingPageID, WebCore::ResourceRequest originalRequest, WebCore::ResourceRequest request, IPC::FormDataReference requestBody, WebCore::ResourceResponse redirectResponse, WebKit::UserData userData, uint64_t listenerID)
</span><span class="cx">     DecidePolicyForNavigationActionSync(WebCore::FrameIdentifier frameID, bool isMainFrame, struct WebKit::FrameInfoData frameInfo, WebCore::PolicyCheckIdentifier policyCheckIdentifier, uint64_t navigationID, struct WebKit::NavigationActionData navigationActionData, struct WebKit::FrameInfoData originatingFrameInfoData, std::optional<WebKit::WebPageProxyIdentifier> originatingPageID, WebCore::ResourceRequest originalRequest, WebCore::ResourceRequest request, IPC::FormDataReference requestBody, WebCore::ResourceResponse redirectResponse, WebKit::UserData userData) -> (struct WebKit::PolicyDecision PolicyDecision) Synchronous
</span><span class="cx">     DecidePolicyForNewWindowAction(WebCore::FrameIdentifier frameID, struct WebKit::FrameInfoData frameInfo, WebCore::PolicyCheckIdentifier policyCheckIdentifier, struct WebKit::NavigationActionData navigationActionData, WebCore::ResourceRequest request, String frameName, uint64_t listenerID, WebKit::UserData userData)
</span><span class="lines">@@ -521,7 +521,7 @@
</span><span class="cx">     SetIsUsingHighPerformanceWebGL(bool isUsingHighPerformanceWebGL)
</span><span class="cx"> 
</span><span class="cx">     StartURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters)
</span><del>-    StopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier)
</del><ins>+    StopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier)
</ins><span class="cx">     LoadSynchronousURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters) -> (WebCore::ResourceResponse response, WebCore::ResourceError error, Vector<uint8_t> data) Synchronous
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DEVICE_ORIENTATION)
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessWebURLSchemeHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">     auto result = m_tasks.add(taskIdentifier, WebURLSchemeTask::create(*this, page, process, webPageID, WTFMove(parameters), WTFMove(completionHandler)));
</span><span class="cx">     ASSERT(result.isNewEntry);
</span><span class="cx"> 
</span><del>-    auto pageEntry = m_tasksByPageIdentifier.add(page.identifier(), HashSet<uint64_t>());
</del><ins>+    auto pageEntry = m_tasksByPageIdentifier.add(page.identifier(), HashSet<WebCore::ResourceLoaderIdentifier>());
</ins><span class="cx">     ASSERT(!pageEntry.iterator->value.contains(taskIdentifier));
</span><span class="cx">     pageEntry.iterator->value.add(taskIdentifier);
</span><span class="cx"> 
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     platformStartTask(page, result.iterator->value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebProcessProxy* WebURLSchemeHandler::processForTaskIdentifier(uint64_t taskIdentifier) const
</del><ins>+WebProcessProxy* WebURLSchemeHandler::processForTaskIdentifier(WebCore::ResourceLoaderIdentifier taskIdentifier) const
</ins><span class="cx"> {
</span><span class="cx">     if (!decltype(m_tasks)::isValidKey(taskIdentifier))
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     auto& tasksByPage = iterator->value;
</span><del>-    Vector<uint64_t> taskIdentifiersToStop;
</del><ins>+    Vector<WebCore::ResourceLoaderIdentifier> taskIdentifiersToStop;
</ins><span class="cx">     taskIdentifiersToStop.reserveInitialCapacity(tasksByPage.size());
</span><span class="cx">     for (auto taskIdentifier : tasksByPage) {
</span><span class="cx">         if (!process || processForTaskIdentifier(taskIdentifier) == process)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebURLSchemeHandler::stopTask(WebPageProxy& page, uint64_t taskIdentifier)
</del><ins>+void WebURLSchemeHandler::stopTask(WebPageProxy& page, WebCore::ResourceLoaderIdentifier taskIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!decltype(m_tasks)::isValidKey(taskIdentifier))
</span><span class="cx">         return;
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx">     platformTaskCompleted(task);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebURLSchemeHandler::removeTaskFromPageMap(WebPageProxyIdentifier pageID, uint64_t taskID)
</del><ins>+void WebURLSchemeHandler::removeTaskFromPageMap(WebPageProxyIdentifier pageID, WebCore::ResourceLoaderIdentifier taskID)
</ins><span class="cx"> {
</span><span class="cx">     auto iterator = m_tasksByPageIdentifier.find(pageID);
</span><span class="cx">     ASSERT(iterator != m_tasksByPageIdentifier.end());
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessWebURLSchemeHandlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include "WebURLSchemeTask.h"
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <wtf/HashMap.h>
</span><span class="cx"> #include <wtf/HashSet.h>
</span><span class="cx"> #include <wtf/RefCounted.h>
</span><span class="lines">@@ -51,7 +52,7 @@
</span><span class="cx">     uint64_t identifier() const { return m_identifier; }
</span><span class="cx"> 
</span><span class="cx">     void startTask(WebPageProxy&, WebProcessProxy&, WebCore::PageIdentifier, URLSchemeTaskParameters&&, SyncLoadCompletionHandler&&);
</span><del>-    void stopTask(WebPageProxy&, uint64_t taskIdentifier);
</del><ins>+    void stopTask(WebPageProxy&, WebCore::ResourceLoaderIdentifier taskIdentifier);
</ins><span class="cx">     void stopAllTasksForPage(WebPageProxy&, WebProcessProxy*);
</span><span class="cx">     void taskCompleted(WebURLSchemeTask&);
</span><span class="cx"> 
</span><span class="lines">@@ -63,13 +64,13 @@
</span><span class="cx">     virtual void platformStopTask(WebPageProxy&, WebURLSchemeTask&) = 0;
</span><span class="cx">     virtual void platformTaskCompleted(WebURLSchemeTask&) { };
</span><span class="cx"> 
</span><del>-    void removeTaskFromPageMap(WebPageProxyIdentifier, uint64_t taskID);
-    WebProcessProxy* processForTaskIdentifier(uint64_t) const;
</del><ins>+    void removeTaskFromPageMap(WebPageProxyIdentifier, WebCore::ResourceLoaderIdentifier);
+    WebProcessProxy* processForTaskIdentifier(WebCore::ResourceLoaderIdentifier) const;
</ins><span class="cx"> 
</span><span class="cx">     uint64_t m_identifier;
</span><span class="cx"> 
</span><del>-    HashMap<uint64_t, Ref<WebURLSchemeTask>> m_tasks;
-    HashMap<WebPageProxyIdentifier, HashSet<uint64_t>> m_tasksByPageIdentifier;
</del><ins>+    HashMap<WebCore::ResourceLoaderIdentifier, Ref<WebURLSchemeTask>> m_tasks;
+    HashMap<WebPageProxyIdentifier, HashSet<WebCore::ResourceLoaderIdentifier>> m_tasksByPageIdentifier;
</ins><span class="cx">     
</span><span class="cx">     SyncLoadCompletionHandler m_syncLoadCompletionHandler;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitUIProcessWebURLSchemeTaskh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h 2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h    2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx"> 
</span><span class="cx">     ~WebURLSchemeTask();
</span><span class="cx"> 
</span><del>-    uint64_t identifier() const { ASSERT(RunLoop::isMain()); return m_identifier; }
</del><ins>+    WebCore::ResourceLoaderIdentifier identifier() const { ASSERT(RunLoop::isMain()); return m_identifier; }
</ins><span class="cx">     WebPageProxyIdentifier pageProxyID() const { ASSERT(RunLoop::isMain()); return m_pageProxyID; }
</span><span class="cx">     WebCore::PageIdentifier webPageID() const { ASSERT(RunLoop::isMain()); return m_webPageID; }
</span><span class="cx">     WebProcessProxy* process() { ASSERT(RunLoop::isMain()); return m_process.get(); }
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx"> 
</span><span class="cx">     Ref<WebURLSchemeHandler> m_urlSchemeHandler;
</span><span class="cx">     RefPtr<WebProcessProxy> m_process;
</span><del>-    uint64_t m_identifier;
</del><ins>+    WebCore::ResourceLoaderIdentifier m_identifier;
</ins><span class="cx">     WebPageProxyIdentifier m_pageProxyID;
</span><span class="cx">     WebCore::PageIdentifier m_webPageID;
</span><span class="cx">     WebCore::ResourceRequest m_request WTF_GUARDED_BY_LOCK(m_requestLock);
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessInjectedBundleAPIAPIInjectedBundlePageResourceLoadClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -25,6 +25,8 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
+
</ins><span class="cx"> namespace WebKit {
</span><span class="cx"> class WebFrame;
</span><span class="cx"> class WebPage;
</span><span class="lines">@@ -45,14 +47,14 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~ResourceLoadClient() = default;
</span><span class="cx"> 
</span><del>-    virtual void didInitiateLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, const WebCore::ResourceRequest&, bool /*pageIsProvisionallyLoading*/) { }
-    virtual void willSendRequestForFrame(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) { }
-    virtual void didReceiveResponseForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, const WebCore::ResourceResponse&) { }
-    virtual void didReceiveContentLengthForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, uint64_t contentLength) { }
-    virtual void didFinishLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/) { }
-    virtual void didFailLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, const WebCore::ResourceError&) { }
-    virtual bool shouldCacheResponse(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/) { return true; }
-    virtual bool shouldUseCredentialStorage(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/) { return true; }
</del><ins>+    virtual void didInitiateLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&, bool /*pageIsProvisionallyLoading*/) { }
+    virtual void willSendRequestForFrame(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) { }
+    virtual void didReceiveResponseForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) { }
+    virtual void didReceiveContentLengthForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, uint64_t contentLength) { }
+    virtual void didFinishLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier) { }
+    virtual void didFailLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) { }
+    virtual bool shouldCacheResponse(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier) { return true; }
+    virtual bool shouldUseCredentialStorage(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier) { return true; }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace InjectedBundle
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessInjectedBundleAPIglibWebKitWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp 2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp    2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -239,17 +239,17 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    void didInitiateLoadForResource(WebPage& page, WebFrame& frame, uint64_t identifier, const ResourceRequest& request, bool) override
</del><ins>+    void didInitiateLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request, bool) override
</ins><span class="cx">     {
</span><span class="cx">         API::Dictionary::MapType message;
</span><span class="cx">         message.set(String::fromUTF8("Page"), &page);
</span><span class="cx">         message.set(String::fromUTF8("Frame"), &frame);
</span><del>-        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
</del><ins>+        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
</ins><span class="cx">         message.set(String::fromUTF8("Request"), API::URLRequest::create(request));
</span><span class="cx">         WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidInitiateLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void willSendRequestForFrame(WebPage& page, WebFrame&, uint64_t identifier, ResourceRequest& resourceRequest, const ResourceResponse& redirectResourceResponse) override
</del><ins>+    void willSendRequestForFrame(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, ResourceRequest& resourceRequest, const ResourceResponse& redirectResourceResponse) override
</ins><span class="cx">     {
</span><span class="cx">         GRefPtr<WebKitURIRequest> request = adoptGRef(webkitURIRequestCreateForResourceRequest(resourceRequest));
</span><span class="cx">         GRefPtr<WebKitURIResponse> redirectResponse = !redirectResourceResponse.isNull() ? adoptGRef(webkitURIResponseCreateForResourceResponse(redirectResourceResponse)) : nullptr;
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx"> 
</span><span class="cx">         API::Dictionary::MapType message;
</span><span class="cx">         message.set(String::fromUTF8("Page"), &page);
</span><del>-        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
</del><ins>+        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
</ins><span class="cx">         message.set(String::fromUTF8("Request"), API::URLRequest::create(resourceRequest));
</span><span class="cx">         if (!redirectResourceResponse.isNull())
</span><span class="cx">             message.set(String::fromUTF8("RedirectResponse"), API::URLResponse::create(redirectResourceResponse));
</span><span class="lines">@@ -272,11 +272,11 @@
</span><span class="cx">         WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidSendRequestForResource"), API::Dictionary::create(WTFMove(message)).ptr());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void didReceiveResponseForResource(WebPage& page, WebFrame&, uint64_t identifier, const ResourceResponse& response) override
</del><ins>+    void didReceiveResponseForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, const ResourceResponse& response) override
</ins><span class="cx">     {
</span><span class="cx">         API::Dictionary::MapType message;
</span><span class="cx">         message.set(String::fromUTF8("Page"), &page);
</span><del>-        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
</del><ins>+        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
</ins><span class="cx">         message.set(String::fromUTF8("Response"), API::URLResponse::create(response));
</span><span class="cx">         WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidReceiveResponseForResource"), API::Dictionary::create(WTFMove(message)).ptr());
</span><span class="cx"> 
</span><span class="lines">@@ -287,28 +287,28 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void didReceiveContentLengthForResource(WebPage& page, WebFrame&, uint64_t identifier, uint64_t contentLength) override
</del><ins>+    void didReceiveContentLengthForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, uint64_t contentLength) override
</ins><span class="cx">     {
</span><span class="cx">         API::Dictionary::MapType message;
</span><span class="cx">         message.set(String::fromUTF8("Page"), &page);
</span><del>-        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
</del><ins>+        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
</ins><span class="cx">         message.set(String::fromUTF8("ContentLength"), API::UInt64::create(contentLength));
</span><span class="cx">         WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidReceiveContentLengthForResource"), API::Dictionary::create(WTFMove(message)).ptr());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void didFinishLoadForResource(WebPage& page, WebFrame&, uint64_t identifier) override
</del><ins>+    void didFinishLoadForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier) override
</ins><span class="cx">     {
</span><span class="cx">         API::Dictionary::MapType message;
</span><span class="cx">         message.set(String::fromUTF8("Page"), &page);
</span><del>-        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
</del><ins>+        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
</ins><span class="cx">         WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidFinishLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void didFailLoadForResource(WebPage& page, WebFrame&, uint64_t identifier, const ResourceError& error) override
</del><ins>+    void didFailLoadForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, const ResourceError& error) override
</ins><span class="cx">     {
</span><span class="cx">         API::Dictionary::MapType message;
</span><span class="cx">         message.set(String::fromUTF8("Page"), &page);
</span><del>-        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
</del><ins>+        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
</ins><span class="cx">         message.set(String::fromUTF8("Error"), API::Error::create(error));
</span><span class="cx">         WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidFailLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessInjectedBundleInjectedBundlePageResourceLoadClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -39,20 +39,20 @@
</span><span class="cx">     initialize(client);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedBundlePageResourceLoadClient::didInitiateLoadForResource(WebPage& page, WebFrame& frame, uint64_t identifier, const ResourceRequest& request, bool pageIsProvisionallyLoading)
</del><ins>+void InjectedBundlePageResourceLoadClient::didInitiateLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request, bool pageIsProvisionallyLoading)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.didInitiateLoadForResource)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_client.didInitiateLoadForResource(toAPI(&page), toAPI(&frame), identifier, toAPI(request), pageIsProvisionallyLoading, m_client.base.clientInfo);
</del><ins>+    m_client.didInitiateLoadForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), toAPI(request), pageIsProvisionallyLoading, m_client.base.clientInfo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedBundlePageResourceLoadClient::willSendRequestForFrame(WebPage& page, WebFrame& frame, uint64_t identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
</del><ins>+void InjectedBundlePageResourceLoadClient::willSendRequestForFrame(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.willSendRequestForFrame)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr<API::URLRequest> returnedRequest = adoptRef(toImpl(m_client.willSendRequestForFrame(toAPI(&page), toAPI(&frame), identifier, toAPI(request), toAPI(redirectResponse), m_client.base.clientInfo)));
</del><ins>+    RefPtr<API::URLRequest> returnedRequest = adoptRef(toImpl(m_client.willSendRequestForFrame(toAPI(&page), toAPI(&frame), identifier.toUInt64(), toAPI(request), toAPI(redirectResponse), m_client.base.clientInfo)));
</ins><span class="cx">     if (returnedRequest) {
</span><span class="cx">         // If the client returned an HTTP body, we want to use that http body. This is needed to fix <rdar://problem/23763584>
</span><span class="cx">         auto& returnedResourceRequest = returnedRequest->resourceRequest();
</span><span class="lines">@@ -64,52 +64,52 @@
</span><span class="cx">         request = { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedBundlePageResourceLoadClient::didReceiveResponseForResource(WebPage& page, WebFrame& frame, uint64_t identifier, const ResourceResponse& response)
</del><ins>+void InjectedBundlePageResourceLoadClient::didReceiveResponseForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.didReceiveResponseForResource)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_client.didReceiveResponseForResource(toAPI(&page), toAPI(&frame), identifier, toAPI(response), m_client.base.clientInfo);
</del><ins>+    m_client.didReceiveResponseForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), toAPI(response), m_client.base.clientInfo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource(WebPage& page, WebFrame& frame, uint64_t identifier, uint64_t contentLength)
</del><ins>+void InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, uint64_t contentLength)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.didReceiveContentLengthForResource)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_client.didReceiveContentLengthForResource(toAPI(&page), toAPI(&frame), identifier, contentLength, m_client.base.clientInfo);
</del><ins>+    m_client.didReceiveContentLengthForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), contentLength, m_client.base.clientInfo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedBundlePageResourceLoadClient::didFinishLoadForResource(WebPage& page, WebFrame& frame, uint64_t identifier)
</del><ins>+void InjectedBundlePageResourceLoadClient::didFinishLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.didFinishLoadForResource)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_client.didFinishLoadForResource(toAPI(&page), toAPI(&frame), identifier, m_client.base.clientInfo);
</del><ins>+    m_client.didFinishLoadForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), m_client.base.clientInfo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedBundlePageResourceLoadClient::didFailLoadForResource(WebPage& page, WebFrame& frame, uint64_t identifier, const ResourceError& error)
</del><ins>+void InjectedBundlePageResourceLoadClient::didFailLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.didFailLoadForResource)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_client.didFailLoadForResource(toAPI(&page), toAPI(&frame), identifier, toAPI(error), m_client.base.clientInfo);
</del><ins>+    m_client.didFailLoadForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), toAPI(error), m_client.base.clientInfo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InjectedBundlePageResourceLoadClient::shouldCacheResponse(WebPage& page, WebFrame& frame, uint64_t identifier)
</del><ins>+bool InjectedBundlePageResourceLoadClient::shouldCacheResponse(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.shouldCacheResponse)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    return m_client.shouldCacheResponse(toAPI(&page), toAPI(&frame), identifier, m_client.base.clientInfo);
</del><ins>+    return m_client.shouldCacheResponse(toAPI(&page), toAPI(&frame), identifier.toUInt64(), m_client.base.clientInfo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage(WebPage& page, WebFrame& frame, uint64_t identifier)
</del><ins>+bool InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.shouldUseCredentialStorage)
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><del>-    return m_client.shouldUseCredentialStorage(toAPI(&page), toAPI(&frame), identifier, m_client.base.clientInfo);
</del><ins>+    return m_client.shouldUseCredentialStorage(toAPI(&page), toAPI(&frame), identifier.toUInt64(), m_client.base.clientInfo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessInjectedBundleInjectedBundlePageResourceLoadClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -51,14 +51,14 @@
</span><span class="cx"> public:
</span><span class="cx">     explicit InjectedBundlePageResourceLoadClient(const WKBundlePageResourceLoadClientBase*);
</span><span class="cx"> 
</span><del>-    void didInitiateLoadForResource(WebPage&, WebFrame&, uint64_t identifier, const WebCore::ResourceRequest&, bool /*pageIsProvisionallyLoading*/) override;
-    void willSendRequestForFrame(WebPage&, WebFrame&, uint64_t identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) override;
-    void didReceiveResponseForResource(WebPage&, WebFrame&, uint64_t identifier, const WebCore::ResourceResponse&) override;
-    void didReceiveContentLengthForResource(WebPage&, WebFrame&, uint64_t identifier, uint64_t contentLength) override;
-    void didFinishLoadForResource(WebPage&, WebFrame&, uint64_t identifier) override;
-    void didFailLoadForResource(WebPage&, WebFrame&, uint64_t identifier, const WebCore::ResourceError&) override;
-    bool shouldCacheResponse(WebPage&, WebFrame&, uint64_t identifier) override;
-    bool shouldUseCredentialStorage(WebPage&, WebFrame&, uint64_t identifier) override;
</del><ins>+    void didInitiateLoadForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&, bool /*pageIsProvisionallyLoading*/) override;
+    void willSendRequestForFrame(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) override;
+    void didReceiveResponseForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) override;
+    void didReceiveContentLengthForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, uint64_t contentLength) override;
+    void didFinishLoadForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier) override;
+    void didFailLoadForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) override;
+    bool shouldCacheResponse(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier) override;
+    bool shouldUseCredentialStorage(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier) override;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkNetworkProcessConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx"> void NetworkProcessConnection::didReceiveMessage(IPC::Connection& connection, IPC::Decoder& decoder)
</span><span class="cx"> {
</span><span class="cx">     if (decoder.messageReceiverName() == Messages::WebResourceLoader::messageReceiverName()) {
</span><del>-        if (auto* webResourceLoader = WebProcess::singleton().webLoaderStrategy().webResourceLoaderForIdentifier(decoder.destinationID()))
</del><ins>+        if (auto* webResourceLoader = WebProcess::singleton().webLoaderStrategy().webResourceLoaderForIdentifier(makeObjectIdentifier<WebCore::ResourceLoader>(decoder.destinationID())))
</ins><span class="cx">             webResourceLoader->didReceiveWebResourceLoaderMessage(connection, decoder);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -226,12 +226,12 @@
</span><span class="cx">     connection().sendWithAsyncReply(Messages::NetworkConnectionToWebProcess::WriteBlobsToTemporaryFilesForIndexedDB(blobURLs), WTFMove(completionHandler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkProcessConnection::didFinishPingLoad(uint64_t pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)
</del><ins>+void NetworkProcessConnection::didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)
</ins><span class="cx"> {
</span><span class="cx">     WebProcess::singleton().webLoaderStrategy().didFinishPingLoad(pingLoadIdentifier, WTFMove(error), WTFMove(response));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkProcessConnection::didFinishPreconnection(uint64_t preconnectionIdentifier, ResourceError&& error)
</del><ins>+void NetworkProcessConnection::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, ResourceError&& error)
</ins><span class="cx"> {
</span><span class="cx">     WebProcess::singleton().webLoaderStrategy().didFinishPreconnection(preconnectionIdentifier, WTFMove(error));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkNetworkProcessConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -23,8 +23,7 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#ifndef NetworkProcessConnection_h
-#define NetworkProcessConnection_h
</del><ins>+#pragma once
</ins><span class="cx"> 
</span><span class="cx"> #include "Connection.h"
</span><span class="cx"> #include "ShareableResource.h"
</span><span class="lines">@@ -31,6 +30,7 @@
</span><span class="cx"> #include <JavaScriptCore/ConsoleTypes.h>
</span><span class="cx"> #include <WebCore/MessagePortChannelProvider.h>
</span><span class="cx"> #include <WebCore/RTCDataChannelIdentifier.h>
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <WebCore/ServiceWorkerTypes.h>
</span><span class="cx"> #include <wtf/RefCounted.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="lines">@@ -50,8 +50,6 @@
</span><span class="cx"> class WebIDBConnectionToServer;
</span><span class="cx"> class WebSWClientConnection;
</span><span class="cx"> 
</span><del>-typedef uint64_t ResourceLoadIdentifier;
-
</del><span class="cx"> class NetworkProcessConnection : public RefCounted<NetworkProcessConnection>, IPC::Connection::Client {
</span><span class="cx"> public:
</span><span class="cx">     static Ref<NetworkProcessConnection> create(IPC::Connection::Identifier connectionIdentifier, WebCore::HTTPCookieAcceptPolicy httpCookieAcceptPolicy)
</span><span class="lines">@@ -96,8 +94,8 @@
</span><span class="cx">     void didClose(IPC::Connection&) override;
</span><span class="cx">     void didReceiveInvalidMessage(IPC::Connection&, IPC::MessageName) override;
</span><span class="cx"> 
</span><del>-    void didFinishPingLoad(uint64_t pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
-    void didFinishPreconnection(uint64_t preconnectionIdentifier, WebCore::ResourceError&&);
</del><ins>+    void didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
+    void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError&&);
</ins><span class="cx">     void setOnLineState(bool isOnLine);
</span><span class="cx">     void cookieAcceptPolicyChanged(WebCore::HTTPCookieAcceptPolicy);
</span><span class="cx"> 
</span><span class="lines">@@ -129,5 +127,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span><del>-
-#endif // NetworkProcessConnection_h
</del></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkNetworkProcessConnectionmessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.messages.in (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.messages.in      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.messages.in 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -26,8 +26,8 @@
</span><span class="cx">     DidCacheResource(WebCore::ResourceRequest request, WebKit::ShareableResource::Handle resource)
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    DidFinishPingLoad(uint64_t pingLoadIdentifier, WebCore::ResourceError error, WebCore::ResourceResponse response)
-    DidFinishPreconnection(uint64_t preconnectionIdentifier, WebCore::ResourceError error)
</del><ins>+    DidFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError error, WebCore::ResourceResponse response)
+    DidFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError error)
</ins><span class="cx">     SetOnLineState(bool isOnLine);
</span><span class="cx">     CookieAcceptPolicyChanged(enum:uint8_t WebCore::HTTPCookieAcceptPolicy policy);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkWebLoaderStrategycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -81,8 +81,8 @@
</span><span class="cx"> #define WEBLOADERSTRATEGY_RELEASE_LOG_ERROR_BASIC(fmt, ...) RELEASE_LOG_ERROR(Network, "%p - WebLoaderStrategy::" fmt, this, ##__VA_ARGS__)
</span><span class="cx"> 
</span><span class="cx"> #define WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_TEMPLATE "%p - [resourceLoader=%p, frameLoader=%p, frame=%p, webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 "] WebLoaderStrategy::"
</span><del>-#define WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_PARAMETERS this, &resourceLoader, resourceLoader.frameLoader(), resourceLoader.frame(), trackingParameters.pageID.toUInt64(), trackingParameters.frameID.toUInt64(), trackingParameters.resourceID
-#define WEBLOADERSTRATEGY_WITH_FRAMELOADER_RELEASE_LOG_STANDARD_PARAMETERS this, nullptr, &frameLoader, &frameLoader.frame(), trackingParameters.pageID.toUInt64(), trackingParameters.frameID.toUInt64(), trackingParameters.resourceID
</del><ins>+#define WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_PARAMETERS this, &resourceLoader, resourceLoader.frameLoader(), resourceLoader.frame(), trackingParameters.pageID.toUInt64(), trackingParameters.frameID.toUInt64(), trackingParameters.resourceID.toUInt64()
+#define WEBLOADERSTRATEGY_WITH_FRAMELOADER_RELEASE_LOG_STANDARD_PARAMETERS this, nullptr, &frameLoader, &frameLoader.frame(), trackingParameters.pageID.toUInt64(), trackingParameters.frameID.toUInt64(), trackingParameters.resourceID.toUInt64()
</ins><span class="cx"> 
</span><span class="cx"> #define WEBLOADERSTRATEGY_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_TEMPLATE fmt, WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_PARAMETERS, ##__VA_ARGS__)
</span><span class="cx"> #define WEBLOADERSTRATEGY_RELEASE_LOG_ERROR(fmt, ...) RELEASE_LOG_ERROR(Network, WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_TEMPLATE fmt, WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_PARAMETERS, ##__VA_ARGS__)
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebLoaderStrategy::scheduleLoad(ResourceLoader& resourceLoader, CachedResource* resource, bool shouldClearReferrerOnHTTPSToHTTPRedirect)
</span><span class="cx"> {
</span><del>-    ResourceLoadIdentifier identifier = resourceLoader.identifier();
</del><ins>+    auto identifier = resourceLoader.identifier();
</ins><span class="cx">     ASSERT(identifier);
</span><span class="cx"> 
</span><span class="cx">     auto& frameLoaderClient = resourceLoader.frameLoader()->client();
</span><span class="lines">@@ -295,7 +295,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceLoader, const ResourceRequest& request, const WebResourceLoader::TrackingParameters& trackingParameters, bool shouldClearReferrerOnHTTPSToHTTPRedirect, Seconds maximumBufferingTime)
</span><span class="cx"> {
</span><del>-    ResourceLoadIdentifier identifier = resourceLoader.identifier();
</del><ins>+    auto identifier = resourceLoader.identifier();
</ins><span class="cx">     ASSERT(identifier);
</span><span class="cx"> 
</span><span class="cx">     ContentSniffingPolicy contentSniffingPolicy = resourceLoader.shouldSniffContent() ? ContentSniffingPolicy::SniffContent : ContentSniffingPolicy::DoNotSniffContent;
</span><span class="lines">@@ -473,7 +473,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    ResourceLoadIdentifier identifier = resourceLoader->identifier();
</del><ins>+    auto identifier = resourceLoader->identifier();
</ins><span class="cx">     if (!identifier) {
</span><span class="cx">         LOG_ERROR("WebLoaderStrategy removing a ResourceLoader that has no identifier.");
</span><span class="cx">         return;
</span><span class="lines">@@ -566,7 +566,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::optional<WebLoaderStrategy::SyncLoadResult> WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler(FrameLoader& frameLoader, ResourceLoadIdentifier identifier, const ResourceRequest& request)
</del><ins>+std::optional<WebLoaderStrategy::SyncLoadResult> WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler(FrameLoader& frameLoader, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request)
</ins><span class="cx"> {
</span><span class="cx">     auto* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client());
</span><span class="cx">     auto* webFrame = webFrameLoaderClient ? &webFrameLoaderClient->webFrame() : nullptr;
</span><span class="lines">@@ -586,7 +586,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebLoaderStrategy::loadResourceSynchronously(FrameLoader& frameLoader, unsigned long resourceLoadIdentifier, const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy,  const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data)
</del><ins>+void WebLoaderStrategy::loadResourceSynchronously(FrameLoader& frameLoader, WebCore::ResourceLoaderIdentifier resourceLoadIdentifier, const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy,  const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data)
</ins><span class="cx"> {
</span><span class="cx">     auto* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client());
</span><span class="cx">     auto* webFrame = webFrameLoaderClient ? &webFrameLoaderClient->webFrame() : nullptr;
</span><span class="lines">@@ -683,12 +683,6 @@
</span><span class="cx">     WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::BrowsingContextRemoved(page.webPageProxyIdentifier(), page.identifier(), WebFrame::fromCoreFrame(frame)->frameID()), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-uint64_t WebLoaderStrategy::generateLoadIdentifier()
-{
-    static uint64_t identifier = 0;
-    return ++identifier;
-}
-
</del><span class="cx"> bool WebLoaderStrategy::usePingLoad() const
</span><span class="cx"> {
</span><span class="cx">     return !RuntimeEnabledFeatures::sharedFeatures().fetchAPIKeepAliveEnabled();
</span><span class="lines">@@ -712,7 +706,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     NetworkResourceLoadParameters loadParameters;
</span><del>-    loadParameters.identifier = WebLoaderStrategy::generateLoadIdentifier();
</del><ins>+    loadParameters.identifier = WebCore::ResourceLoaderIdentifier::generate();
</ins><span class="cx">     loadParameters.webPageProxyID = webPage->webPageProxyIdentifier();
</span><span class="cx">     loadParameters.webPageID = webPage->identifier();
</span><span class="cx">     loadParameters.webFrameID = webFrame->frameID();
</span><span class="lines">@@ -749,7 +743,7 @@
</span><span class="cx">     WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::LoadPing { loadParameters }, 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebLoaderStrategy::didFinishPingLoad(uint64_t pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)
</del><ins>+void WebLoaderStrategy::didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)
</ins><span class="cx"> {
</span><span class="cx">     if (auto completionHandler = m_pingLoadCompletionHandlers.take(pingLoadIdentifier))
</span><span class="cx">         completionHandler(WTFMove(error), WTFMove(response));
</span><span class="lines">@@ -787,13 +781,6 @@
</span><span class="cx">             request.setIsAppInitiated(loader->lastNavigationWasAppInitiated());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    std::optional<uint64_t> preconnectionIdentifier;
-    if (completionHandler) {
-        preconnectionIdentifier = WebLoaderStrategy::generateLoadIdentifier();
-        auto addResult = m_preconnectCompletionHandlers.add(*preconnectionIdentifier, WTFMove(completionHandler));
-        ASSERT_UNUSED(addResult, addResult.isNewEntry);
-    }
-
</del><span class="cx">     NetworkResourceLoadParameters parameters;
</span><span class="cx">     parameters.request = WTFMove(request);
</span><span class="cx">     if (parameters.request.httpUserAgent().isEmpty()) {
</span><span class="lines">@@ -803,6 +790,7 @@
</span><span class="cx">         if (!webPageUserAgent.isEmpty())
</span><span class="cx">             parameters.request.setHTTPUserAgent(webPageUserAgent);
</span><span class="cx">     }
</span><ins>+    parameters.identifier = WebCore::ResourceLoaderIdentifier::generate();
</ins><span class="cx">     parameters.webPageProxyID = webPage.webPageProxyIdentifier();
</span><span class="cx">     parameters.webPageID = webPage.identifier();
</span><span class="cx">     parameters.webFrameID = webFrame.frameID();
</span><span class="lines">@@ -819,10 +807,19 @@
</span><span class="cx">     parameters.isNavigatingToAppBoundDomain = webFrame.isTopFrameNavigatingToAppBoundDomain();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier;
+    if (completionHandler) {
+        preconnectionIdentifier = parameters.identifier;
+        auto addResult = m_preconnectCompletionHandlers.add(*preconnectionIdentifier, WTFMove(completionHandler));
+        ASSERT_UNUSED(addResult, addResult.isNewEntry);
+    }
+
+    // FIXME: Use sendWithAsyncReply instead of preconnectionIdentifier
+    // FIXME: don't use WebCore::ResourceLoaderIdentifier for a preconnection identifier, too. It should have its own type.
</ins><span class="cx">     WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::PreconnectTo(preconnectionIdentifier, WTFMove(parameters)), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebLoaderStrategy::didFinishPreconnection(uint64_t preconnectionIdentifier, ResourceError&& error)
</del><ins>+void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, ResourceError&& error)
</ins><span class="cx"> {
</span><span class="cx">     if (auto completionHandler = m_preconnectCompletionHandlers.take(preconnectionIdentifier))
</span><span class="cx">         completionHandler(WTFMove(error));
</span><span class="lines">@@ -863,7 +860,7 @@
</span><span class="cx">     WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::SetCaptureExtraNetworkLoadMetricsEnabled(enabled), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ResourceResponse WebLoaderStrategy::responseFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier)
</del><ins>+ResourceResponse WebLoaderStrategy::responseFromResourceLoadIdentifier(ResourceLoaderIdentifier resourceLoadIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     ResourceResponse response;
</span><span class="cx">     WebProcess::singleton().ensureNetworkProcessConnection().connection().sendSync(Messages::NetworkConnectionToWebProcess::GetNetworkLoadInformationResponse { resourceLoadIdentifier }, Messages::NetworkConnectionToWebProcess::GetNetworkLoadInformationResponse::Reply { response }, 0);
</span><span class="lines">@@ -870,7 +867,7 @@
</span><span class="cx">     return response;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Vector<NetworkTransactionInformation> WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier)
</del><ins>+Vector<NetworkTransactionInformation> WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     Vector<NetworkTransactionInformation> information;
</span><span class="cx">     WebProcess::singleton().ensureNetworkProcessConnection().connection().sendSync(Messages::NetworkConnectionToWebProcess::GetNetworkLoadIntermediateInformation { resourceLoadIdentifier }, Messages::NetworkConnectionToWebProcess::GetNetworkLoadIntermediateInformation::Reply { information }, 0);
</span><span class="lines">@@ -877,7 +874,7 @@
</span><span class="cx">     return information;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-NetworkLoadMetrics WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier)
</del><ins>+NetworkLoadMetrics WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     NetworkLoadMetrics networkMetrics;
</span><span class="cx">     WebProcess::singleton().ensureNetworkProcessConnection().connection().sendSync(Messages::NetworkConnectionToWebProcess::TakeNetworkLoadInformationMetrics { resourceLoadIdentifier }, Messages::NetworkConnectionToWebProcess::TakeNetworkLoadInformationMetrics::Reply { networkMetrics }, 0);
</span><span class="lines">@@ -919,7 +916,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebLoaderStrategy::prioritizeResourceLoads(const Vector<WebCore::SubresourceLoader*>& resources)
</span><span class="cx"> {
</span><del>-    auto identifiers = resources.map([](auto* loader) -> ResourceLoadIdentifier {
</del><ins>+    auto identifiers = resources.map([](auto* loader) -> WebCore::ResourceLoaderIdentifier {
</ins><span class="cx">         return loader->identifier();
</span><span class="cx">     });
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkWebLoaderStrategyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -44,7 +44,6 @@
</span><span class="cx"> class WebFrame;
</span><span class="cx"> class WebPage;
</span><span class="cx"> class WebURLSchemeTaskProxy;
</span><del>-typedef uint64_t ResourceLoadIdentifier;
</del><span class="cx"> 
</span><span class="cx"> class WebLoaderStrategy final : public WebCore::LoaderStrategy {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(WebLoaderStrategy); WTF_MAKE_FAST_ALLOCATED;
</span><span class="lines">@@ -53,7 +52,7 @@
</span><span class="cx">     ~WebLoaderStrategy() final;
</span><span class="cx">     
</span><span class="cx">     void loadResource(WebCore::Frame&, WebCore::CachedResource&, WebCore::ResourceRequest&&, const WebCore::ResourceLoaderOptions&, CompletionHandler<void(RefPtr<WebCore::SubresourceLoader>&&)>&&) final;
</span><del>-    void loadResourceSynchronously(WebCore::FrameLoader&, unsigned long resourceLoadIdentifier, const WebCore::ResourceRequest&, WebCore::ClientCredentialPolicy, const WebCore::FetchOptions&, const WebCore::HTTPHeaderMap&, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<uint8_t>& data) final;
</del><ins>+    void loadResourceSynchronously(WebCore::FrameLoader&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&, WebCore::ClientCredentialPolicy, const WebCore::FetchOptions&, const WebCore::HTTPHeaderMap&, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<uint8_t>& data) final;
</ins><span class="cx">     void pageLoadCompleted(WebCore::Page&) final;
</span><span class="cx">     void browsingContextRemoved(WebCore::Frame&) final;
</span><span class="cx"> 
</span><span class="lines">@@ -68,15 +67,15 @@
</span><span class="cx"> 
</span><span class="cx">     bool usePingLoad() const final;
</span><span class="cx">     void startPingLoad(WebCore::Frame&, WebCore::ResourceRequest&, const WebCore::HTTPHeaderMap& originalRequestHeaders, const WebCore::FetchOptions&, WebCore::ContentSecurityPolicyImposition, PingLoadCompletionHandler&&) final;
</span><del>-    void didFinishPingLoad(uint64_t pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
</del><ins>+    void didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
</ins><span class="cx"> 
</span><span class="cx">     void preconnectTo(WebCore::ResourceRequest&&, WebPage&, WebFrame&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&& = nullptr);
</span><span class="cx">     void preconnectTo(WebCore::FrameLoader&, const URL&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&&) final;
</span><del>-    void didFinishPreconnection(uint64_t preconnectionIdentifier, WebCore::ResourceError&&);
</del><ins>+    void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError&&);
</ins><span class="cx"> 
</span><span class="cx">     void setCaptureExtraNetworkLoadMetricsEnabled(bool) final;
</span><span class="cx"> 
</span><del>-    WebResourceLoader* webResourceLoaderForIdentifier(ResourceLoadIdentifier identifier) const { return m_webResourceLoaders.get(identifier); }
</del><ins>+    WebResourceLoader* webResourceLoaderForIdentifier(WebCore::ResourceLoaderIdentifier identifier) const { return m_webResourceLoaders.get(identifier); }
</ins><span class="cx">     void schedulePluginStreamLoad(WebCore::Frame&, WebCore::NetscapePlugInStreamLoaderClient&, WebCore::ResourceRequest&&, CompletionHandler<void(RefPtr<WebCore::NetscapePlugInStreamLoader>&&)>&&);
</span><span class="cx"> 
</span><span class="cx">     void networkProcessCrashed();
</span><span class="lines">@@ -90,8 +89,6 @@
</span><span class="cx">     void addOnlineStateChangeListener(Function<void(bool)>&&) final;
</span><span class="cx">     void setOnLineState(bool);
</span><span class="cx"> 
</span><del>-    static uint64_t generateLoadIdentifier();
-
</del><span class="cx">     void setExistingNetworkResourceLoadIdentifierToResume(std::optional<NetworkResourceLoadIdentifier> existingNetworkResourceLoadIdentifierToResume) { m_existingNetworkResourceLoadIdentifierToResume = existingNetworkResourceLoadIdentifierToResume; }
</span><span class="cx"> 
</span><span class="cx">     static constexpr Seconds mediaMaximumBufferingTime { 50_ms };
</span><span class="lines">@@ -108,12 +105,12 @@
</span><span class="cx">         WebCore::ResourceError error;
</span><span class="cx">         Vector<uint8_t> data;
</span><span class="cx">     };
</span><del>-    std::optional<SyncLoadResult> tryLoadingSynchronouslyUsingURLSchemeHandler(WebCore::FrameLoader&, ResourceLoadIdentifier, const WebCore::ResourceRequest&);
</del><ins>+    std::optional<SyncLoadResult> tryLoadingSynchronouslyUsingURLSchemeHandler(WebCore::FrameLoader&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&);
</ins><span class="cx">     SyncLoadResult loadDataURLSynchronously(const WebCore::ResourceRequest&);
</span><span class="cx"> 
</span><del>-    WebCore::ResourceResponse responseFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier) final;
-    Vector<WebCore::NetworkTransactionInformation> intermediateLoadInformationFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier) final;
-    WebCore::NetworkLoadMetrics networkMetricsFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier) final;
</del><ins>+    WebCore::ResourceResponse responseFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier) final;
+    Vector<WebCore::NetworkTransactionInformation> intermediateLoadInformationFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier) final;
+    WebCore::NetworkLoadMetrics networkMetricsFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier) final;
</ins><span class="cx"> 
</span><span class="cx">     bool shouldPerformSecurityChecks() const final;
</span><span class="cx">     bool havePerformedSecurityChecks(const WebCore::ResourceResponse&) const final;
</span><span class="lines">@@ -123,9 +120,9 @@
</span><span class="cx">     void setResourceLoadSchedulingMode(WebCore::Page&, WebCore::LoadSchedulingMode) final;
</span><span class="cx">     void prioritizeResourceLoads(const Vector<WebCore::SubresourceLoader*>&) final;
</span><span class="cx"> 
</span><del>-    Vector<uint64_t> ongoingLoads() const final
</del><ins>+    Vector<WebCore::ResourceLoaderIdentifier> ongoingLoads() const final
</ins><span class="cx">     {
</span><del>-        return WTF::map(m_webResourceLoaders, [](auto&& keyValue) -> uint64_t {
</del><ins>+        return WTF::map(m_webResourceLoaders, [](auto&& keyValue) -> WebCore::ResourceLoaderIdentifier {
</ins><span class="cx">             return keyValue.key;
</span><span class="cx">         });
</span><span class="cx">     }
</span><span class="lines">@@ -133,10 +130,10 @@
</span><span class="cx">     HashSet<RefPtr<WebCore::ResourceLoader>> m_internallyFailedResourceLoaders;
</span><span class="cx">     RunLoop::Timer<WebLoaderStrategy> m_internallyFailedLoadTimer;
</span><span class="cx">     
</span><del>-    HashMap<unsigned long, RefPtr<WebResourceLoader>> m_webResourceLoaders;
-    HashMap<unsigned long, WebURLSchemeTaskProxy*> m_urlSchemeTasks;
-    HashMap<unsigned long, PingLoadCompletionHandler> m_pingLoadCompletionHandlers;
-    HashMap<unsigned long, PreconnectCompletionHandler> m_preconnectCompletionHandlers;
</del><ins>+    HashMap<WebCore::ResourceLoaderIdentifier, RefPtr<WebResourceLoader>> m_webResourceLoaders;
+    HashMap<WebCore::ResourceLoaderIdentifier, WebURLSchemeTaskProxy*> m_urlSchemeTasks;
+    HashMap<WebCore::ResourceLoaderIdentifier, PingLoadCompletionHandler> m_pingLoadCompletionHandlers;
+    HashMap<WebCore::ResourceLoaderIdentifier, PreconnectCompletionHandler> m_preconnectCompletionHandlers;
</ins><span class="cx">     Vector<Function<void(bool)>> m_onlineStateChangeListeners;
</span><span class="cx">     std::optional<NetworkResourceLoadIdentifier> m_existingNetworkResourceLoadIdentifierToResume;
</span><span class="cx">     bool m_isOnLine { true };
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkWebResourceInterceptControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.cpp        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.cpp   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -28,17 +28,17 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-bool WebResourceInterceptController::isIntercepting(unsigned long identifier) const
</del><ins>+bool WebResourceInterceptController::isIntercepting(WebCore::ResourceLoaderIdentifier identifier) const
</ins><span class="cx"> {
</span><span class="cx">     return m_interceptedResponseQueue.contains(identifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebResourceInterceptController::beginInterceptingResponse(unsigned long identifier)
</del><ins>+void WebResourceInterceptController::beginInterceptingResponse(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     m_interceptedResponseQueue.set(identifier, Deque<Function<void()>>());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebResourceInterceptController::continueResponse(unsigned long identifier)
</del><ins>+void WebResourceInterceptController::continueResponse(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     auto queue = m_interceptedResponseQueue.take(identifier);
</span><span class="cx">     for (auto& callback : queue)
</span><span class="lines">@@ -45,12 +45,12 @@
</span><span class="cx">         callback();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebResourceInterceptController::interceptedResponse(unsigned long identifier)
</del><ins>+void WebResourceInterceptController::interceptedResponse(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     m_interceptedResponseQueue.remove(identifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebResourceInterceptController::defer(unsigned long identifier, Function<void()>&& function)
</del><ins>+void WebResourceInterceptController::defer(WebCore::ResourceLoaderIdentifier identifier, Function<void()>&& function)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isIntercepting(identifier));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkWebResourceInterceptControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <wtf/Deque.h>
</span><span class="cx"> #include <wtf/Function.h>
</span><span class="cx"> #include <wtf/HashMap.h>
</span><span class="lines">@@ -33,21 +34,21 @@
</span><span class="cx"> 
</span><span class="cx"> class WebResourceInterceptController {
</span><span class="cx"> public:
</span><del>-    bool isIntercepting(unsigned long identifier) const;
</del><ins>+    bool isIntercepting(WebCore::ResourceLoaderIdentifier) const;
</ins><span class="cx"> 
</span><span class="cx">     // Start intercepting a response.
</span><del>-    void beginInterceptingResponse(unsigned long identifier);
</del><ins>+    void beginInterceptingResponse(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     // Stop intercepting a response. An intercept response was not supplied. Send deferred networking callbacks.
</span><del>-    void continueResponse(unsigned long identifier);
</del><ins>+    void continueResponse(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     // Stop intercepting a response. An intercept response was supplied. Send no deferred networking callbacks.
</span><del>-    void interceptedResponse(unsigned long identifier);
</del><ins>+    void interceptedResponse(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><del>-    void defer(unsigned long identifier, Function<void()>&&);
</del><ins>+    void defer(WebCore::ResourceLoaderIdentifier, Function<void()>&&);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    HashMap<unsigned long, Deque<Function<void()>>> m_interceptedResponseQueue;
</del><ins>+    HashMap<WebCore::ResourceLoaderIdentifier, Deque<Function<void()>>> m_interceptedResponseQueue;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkWebResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> #include <WebCore/SubresourceLoader.h>
</span><span class="cx"> #include <wtf/CompletionHandler.h>
</span><span class="cx"> 
</span><del>-#define WEBRESOURCELOADER_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, "%p - [webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 "] WebResourceLoader::" fmt, this, m_trackingParameters.pageID.toUInt64(), m_trackingParameters.frameID.toUInt64(), m_trackingParameters.resourceID, ##__VA_ARGS__)
</del><ins>+#define WEBRESOURCELOADER_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, "%p - [webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 "] WebResourceLoader::" fmt, this, m_trackingParameters.pageID.toUInt64(), m_trackingParameters.frameID.toUInt64(), m_trackingParameters.resourceID.toUInt64(), ##__VA_ARGS__)
</ins><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> using namespace WebCore;
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(RunLoop::isMain());
</span><span class="cx">     RELEASE_ASSERT(m_coreLoader->identifier());
</span><del>-    return m_coreLoader->identifier();
</del><ins>+    return m_coreLoader->identifier().toUInt64();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebResourceLoader::detachFromCoreLoader()
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (InspectorInstrumentationWebKit::shouldInterceptResponse(m_coreLoader->frame(), response)) {
</span><del>-        unsigned long interceptedRequestIdentifier = m_coreLoader->identifier();
</del><ins>+        auto interceptedRequestIdentifier = m_coreLoader->identifier();
</ins><span class="cx">         m_interceptController.beginInterceptingResponse(interceptedRequestIdentifier);
</span><span class="cx">         InspectorInstrumentationWebKit::interceptResponse(m_coreLoader->frame(), response, interceptedRequestIdentifier, [this, protectedThis = makeRef(*this), interceptedRequestIdentifier, policyDecisionCompletionHandler = WTFMove(policyDecisionCompletionHandler)](const ResourceResponse& inspectorResponse, RefPtr<SharedBuffer> overrideData) mutable {
</span><span class="cx">             if (!m_coreLoader || !m_coreLoader->identifier()) {
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessNetworkWebResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.h       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.h  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include "WebResourceInterceptController.h"
</span><span class="cx"> #include <WebCore/FrameIdentifier.h>
</span><span class="cx"> #include <WebCore/PageIdentifier.h>
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <wtf/RefCounted.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="cx"> 
</span><span class="lines">@@ -50,8 +51,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-typedef uint64_t ResourceLoadIdentifier;
-
</del><span class="cx"> class WebResourceLoader : public RefCounted<WebResourceLoader>, public IPC::MessageSender {
</span><span class="cx"> public:
</span><span class="cx">     struct TrackingParameters {
</span><span class="lines">@@ -58,7 +57,7 @@
</span><span class="cx">         WebPageProxyIdentifier webPageProxyID;
</span><span class="cx">         WebCore::PageIdentifier pageID;
</span><span class="cx">         WebCore::FrameIdentifier frameID;
</span><del>-        ResourceLoadIdentifier resourceID { 0 };
</del><ins>+        WebCore::ResourceLoaderIdentifier resourceID;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     static Ref<WebResourceLoader> create(Ref<WebCore::ResourceLoader>&&, const TrackingParameters&);
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessStorageWebSWContextManagerConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">     std::optional<WebCore::PageIdentifier> pageID() const final { return m_pageID; }
</span><span class="cx">     std::optional<WebCore::FrameIdentifier> frameID() const final { return m_frameID; }
</span><span class="cx"> 
</span><del>-    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long) final { return true; }
</del><ins>+    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final { return true; }
</ins><span class="cx">     bool isServiceWorkerFrameLoaderClient() const final { return true; }
</span><span class="cx"> 
</span><span class="cx">     String userAgent(const URL&) const final { return m_userAgent; }
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx">     notImplemented();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
</del><ins>+void WebFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request)
</ins><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame->page();
</span><span class="cx">     if (!webPage)
</span><span class="lines">@@ -235,7 +235,7 @@
</span><span class="cx">     webPage->addResourceRequest(identifier, request);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
</del><ins>+void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
</ins><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame->page();
</span><span class="cx">     if (!webPage)
</span><span class="lines">@@ -252,7 +252,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier)
</del><ins>+bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame->page();
</span><span class="cx">     if (!webPage)
</span><span class="lines">@@ -261,13 +261,13 @@
</span><span class="cx">     return webPage->injectedBundleResourceLoadClient().shouldUseCredentialStorage(*webPage, m_frame, identifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, WebCore::ResourceLoaderIdentifier, const AuthenticationChallenge&)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
</span><del>-bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace& protectionSpace)
</del><ins>+bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, WebCore::ResourceLoaderIdentifier, const ProtectionSpace& protectionSpace)
</ins><span class="cx"> {
</span><span class="cx">     // The WebKit 2 Networking process asks the UIProcess directly, so the WebContent process should never receive this callback.
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -275,7 +275,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse& response)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame->page();
</span><span class="cx">     if (!webPage)
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx">     webPage->injectedBundleResourceLoadClient().didReceiveResponseForResource(*webPage, m_frame, identifier, response);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, unsigned long identifier, int dataLength)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier identifier, int dataLength)
</ins><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame->page();
</span><span class="cx">     if (!webPage)
</span><span class="lines">@@ -303,7 +303,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier)
</del><ins>+void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame->page();
</span><span class="cx">     if (!webPage)
</span><span class="lines">@@ -313,7 +313,7 @@
</span><span class="cx">     webPage->removeResourceRequest(identifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError& error)
</del><ins>+void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier identifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame->page();
</span><span class="cx">     if (!webPage)
</span><span class="lines">@@ -849,8 +849,9 @@
</span><span class="cx">     auto* coreFrame = m_frame->coreFrame();
</span><span class="cx">     auto* policyDocumentLoader = coreFrame ? coreFrame->loader().provisionalDocumentLoader() : nullptr;
</span><span class="cx">     auto navigationID = policyDocumentLoader ? static_cast<WebDocumentLoader&>(*policyDocumentLoader).navigationID() : 0;
</span><del>-    // FIXME: We should be using a strongly-typed identifier for mainResourceLoadIdentifier.
-    auto mainResourceLoadIdentifier = policyDocumentLoader && policyDocumentLoader->mainResourceLoader() ? policyDocumentLoader->mainResourceLoader()->identifier() : 0;
</del><ins>+    std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier;
+    if (auto mainResourceLoader = policyDocumentLoader ? policyDocumentLoader->mainResourceLoader() : nullptr)
+        mainResourceLoadIdentifier = mainResourceLoader->identifier();
</ins><span class="cx"> 
</span><span class="cx">     bool wasAllowedByInjectedBundle = policy == WKBundlePagePolicyActionUse;
</span><span class="cx">     auto protector = m_frame.copyRef();
</span><span class="lines">@@ -1808,7 +1809,7 @@
</span><span class="cx">     return webPage->accessibilityRemoteObject();
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-void WebFrameLoaderClient::willCacheResponse(DocumentLoader*, unsigned long identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
</del><ins>+void WebFrameLoaderClient::willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
</ins><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame->page();
</span><span class="cx">     if (!webPage)
</span><span class="lines">@@ -1889,7 +1890,7 @@
</span><span class="cx"> 
</span><span class="cx">     NetworkResourceLoadParameters parameters;
</span><span class="cx">     parameters.request = ResourceRequest(url);
</span><del>-    parameters.identifier = WebLoaderStrategy::generateLoadIdentifier();
</del><ins>+    parameters.identifier = WebCore::ResourceLoaderIdentifier::generate();
</ins><span class="cx">     parameters.webPageProxyID = webPage->webPageProxyIdentifier();
</span><span class="cx">     parameters.webPageID = webPage->identifier();
</span><span class="cx">     parameters.webFrameID = m_frame->frameID();
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -81,21 +81,21 @@
</span><span class="cx">     void detachedFromParent2() final;
</span><span class="cx">     void detachedFromParent3() final;
</span><span class="cx">     
</span><del>-    void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) final;
</del><ins>+    void assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) final;
</ins><span class="cx">     
</span><del>-    void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) final;
-    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier) final;
-    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&) final;
</del><ins>+    void dispatchWillSendRequest(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) final;
+    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
+    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::AuthenticationChallenge&) final;
</ins><span class="cx"> #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
</span><del>-    bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ProtectionSpace&) final;
</del><ins>+    bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ProtectionSpace&) final;
</ins><span class="cx"> #endif
</span><span class="cx"> #if PLATFORM(IOS_FAMILY)
</span><del>-    RetainPtr<CFDictionaryRef> connectionProperties(WebCore::DocumentLoader*, unsigned long identifier) final;
</del><ins>+    RetainPtr<CFDictionaryRef> connectionProperties(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
</ins><span class="cx"> #endif
</span><del>-    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&) final;
-    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength) final;
-    void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier) final;
-    void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&) final;
</del><ins>+    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) final;
+    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, int dataLength) final;
+    void dispatchDidFinishLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
+    void dispatchDidFailLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) final;
</ins><span class="cx">     bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length) final;
</span><span class="cx"> #if ENABLE(DATA_DETECTION)
</span><span class="cx">     void dispatchDidFinishDataDetection(NSArray *detectionResults) final;
</span><span class="lines">@@ -238,7 +238,7 @@
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx">     RemoteAXObjectRef accessibilityRemoteObject() final;
</span><span class="cx">     
</span><del>-    void willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
</del><ins>+    void willCacheResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
</ins><span class="cx"> 
</span><span class="cx">     NSDictionary *dataDetectionContext() final;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebCoreSupportiosWebFrameLoaderClientIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(DocumentLoader*, unsigned long identifier)
</del><ins>+RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(DocumentLoader*, WebCore::ResourceLoaderIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageWebFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -304,14 +304,12 @@
</span><span class="cx">     SubresourceLoader* mainResourceLoader = documentLoader->mainResourceLoader();
</span><span class="cx"> 
</span><span class="cx">     auto& webProcess = WebProcess::singleton();
</span><del>-    // Use 0 to indicate that the resource load can't be converted and a new download must be started.
</del><ins>+    // Use std::nullopt to indicate that the resource load can't be converted and a new download must be started.
</ins><span class="cx">     // This can happen if there is no loader because the main resource is in the WebCore memory cache,
</span><span class="cx">     // or because the conversion was attempted when not calling SubresourceLoader::didReceiveResponse().
</span><del>-    uint64_t mainResourceLoadIdentifier;
</del><ins>+    std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier;
</ins><span class="cx">     if (mainResourceLoader)
</span><span class="cx">         mainResourceLoadIdentifier = mainResourceLoader->identifier();
</span><del>-    else
-        mainResourceLoadIdentifier = 0;
</del><span class="cx"> 
</span><span class="cx">     std::optional<NavigatingToAppBoundDomain> isAppBound = NavigatingToAppBoundDomain::No;
</span><span class="cx">     isAppBound = m_isNavigatingToAppBoundDomain;
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -4321,10 +4321,10 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void WebPage::addConsoleMessage(FrameIdentifier frameID, MessageSource messageSource, MessageLevel messageLevel, const String& message, uint64_t requestID)
</del><ins>+void WebPage::addConsoleMessage(FrameIdentifier frameID, MessageSource messageSource, MessageLevel messageLevel, const String& message, WebCore::ResourceLoaderIdentifier requestID)
</ins><span class="cx"> {
</span><span class="cx">     if (auto* frame = WebProcess::singleton().webFrame(frameID))
</span><del>-        frame->addConsoleMessage(messageSource, messageLevel, message, requestID);
</del><ins>+        frame->addConsoleMessage(messageSource, messageLevel, message, requestID.toUInt64());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPage::sendCSPViolationReport(FrameIdentifier frameID, const URL& reportURL, IPC::FormDataReference&& reportData)
</span><span class="lines">@@ -5528,7 +5528,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void WebPage::addResourceRequest(unsigned long identifier, const WebCore::ResourceRequest& request)
</del><ins>+void WebPage::addResourceRequest(WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceRequest& request)
</ins><span class="cx"> {
</span><span class="cx">     if (!request.url().protocolIsInHTTPFamily())
</span><span class="cx">         return;
</span><span class="lines">@@ -5543,7 +5543,7 @@
</span><span class="cx">         send(Messages::WebPageProxy::SetNetworkRequestsInProgress(true));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::removeResourceRequest(unsigned long identifier)
</del><ins>+void WebPage::removeResourceRequest(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_trackedNetworkResourceRequestIdentifiers.remove(identifier))
</span><span class="cx">         return;
</span><span class="lines">@@ -6940,7 +6940,7 @@
</span><span class="cx">     m_identifierToURLSchemeHandlerProxyMap.add(handlerIdentifier, schemeResult.iterator->value.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
</del><ins>+void WebPage::urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
</span><span class="cx">     ASSERT(handler);
</span><span class="lines">@@ -6949,7 +6949,7 @@
</span><span class="cx">     handler->taskDidPerformRedirection(taskIdentifier, WTFMove(response), WTFMove(request), WTFMove(completionHandler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, ResourceResponse&& response, ResourceRequest&& request)
</del><ins>+void WebPage::urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request)
</ins><span class="cx"> {
</span><span class="cx">     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
</span><span class="cx">     ASSERT(handler);
</span><span class="lines">@@ -6957,7 +6957,7 @@
</span><span class="cx">     handler->taskDidPerformRedirection(taskIdentifier, WTFMove(response), WTFMove(request), [] (ResourceRequest&&) {});
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-void WebPage::urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_t taskIdentifier, const ResourceResponse& response)
</del><ins>+void WebPage::urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
</span><span class="cx">     ASSERT(handler);
</span><span class="lines">@@ -6965,7 +6965,7 @@
</span><span class="cx">     handler->taskDidReceiveResponse(taskIdentifier, response);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_t taskIdentifier, const IPC::DataReference& data)
</del><ins>+void WebPage::urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const IPC::DataReference& data)
</ins><span class="cx"> {
</span><span class="cx">     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
</span><span class="cx">     ASSERT(handler);
</span><span class="lines">@@ -6973,7 +6973,7 @@
</span><span class="cx">     handler->taskDidReceiveData(taskIdentifier, data.size(), data.data());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::urlSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_t taskIdentifier, const ResourceError& error)
</del><ins>+void WebPage::urlSchemeTaskDidComplete(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
</span><span class="cx">     ASSERT(handler);
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h    2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -437,7 +437,7 @@
</span><span class="cx">     WebFullScreenManager* fullScreenManager();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void addConsoleMessage(WebCore::FrameIdentifier, MessageSource, MessageLevel, const String&, uint64_t requestID = 0);
</del><ins>+    void addConsoleMessage(WebCore::FrameIdentifier, MessageSource, MessageLevel, const String&, WebCore::ResourceLoaderIdentifier = { });
</ins><span class="cx">     void sendCSPViolationReport(WebCore::FrameIdentifier, const URL& reportURL, IPC::FormDataReference&&);
</span><span class="cx">     void sendCOEPPolicyInheritenceViolation(WebCore::FrameIdentifier, const WebCore::SecurityOriginData& embedderOrigin, const String& endpoint, WebCore::COEPDisposition, const String& type, const URL& blockedURL);
</span><span class="cx">     void sendCOEPCORPViolation(WebCore::FrameIdentifier, const WebCore::SecurityOriginData& embedderOrigin, const String& endpoint, WebCore::COEPDisposition, WebCore::FetchOptions::Destination, const URL& blockedURL);
</span><span class="lines">@@ -1016,8 +1016,8 @@
</span><span class="cx">     void drawPagesForPrinting(WebCore::FrameIdentifier, const PrintInfo&, CompletionHandler<void(const WebCore::ResourceError&)>&&);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void addResourceRequest(unsigned long, const WebCore::ResourceRequest&);
-    void removeResourceRequest(unsigned long);
</del><ins>+    void addResourceRequest(WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&);
+    void removeResourceRequest(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     void setMediaVolume(float);
</span><span class="cx">     void setMuted(WebCore::MediaProducer::MutedStateFlags, CompletionHandler<void()>&&);
</span><span class="lines">@@ -1877,11 +1877,11 @@
</span><span class="cx"> 
</span><span class="cx">     void registerURLSchemeHandler(uint64_t identifier, const String& scheme);
</span><span class="cx"> 
</span><del>-    void urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
-    void urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&);
-    void urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_t taskIdentifier, const WebCore::ResourceResponse&);
-    void urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_t taskIdentifier, const IPC::DataReference&);
-    void urlSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_t taskIdentifier, const WebCore::ResourceError&);
</del><ins>+    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&);
</ins><span class="cx"> 
</span><span class="cx">     void setIsTakingSnapshotsForApplicationSuspension(bool);
</span><span class="cx">     void setNeedsDOMWindowResizeEvent();
</span><span class="lines">@@ -2161,7 +2161,7 @@
</span><span class="cx"> 
</span><span class="cx">     unsigned m_cachedPageCount { 0 };
</span><span class="cx"> 
</span><del>-    HashSet<unsigned long> m_trackedNetworkResourceRequestIdentifiers;
</del><ins>+    HashSet<WebCore::ResourceLoaderIdentifier> m_trackedNetworkResourceRequestIdentifiers;
</ins><span class="cx"> 
</span><span class="cx">     WebCore::IntSize m_minimumSizeForAutoLayout;
</span><span class="cx">     WebCore::IntSize m_sizeToContentAutoSizeMaximumSize;
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageWebPagemessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in       2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in  2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> 
</span><span class="cx">     SetBackgroundColor(std::optional<WebCore::Color> color)
</span><span class="cx"> 
</span><del>-    AddConsoleMessage(WebCore::FrameIdentifier frameID, enum:uint8_t JSC::MessageSource messageSource, enum:uint8_t JSC::MessageLevel messageLevel, String message, uint64_t requestID)
</del><ins>+    AddConsoleMessage(WebCore::FrameIdentifier frameID, enum:uint8_t JSC::MessageSource messageSource, enum:uint8_t JSC::MessageLevel messageLevel, String message, WebCore::ResourceLoaderIdentifier requestID)
</ins><span class="cx">     SendCSPViolationReport(WebCore::FrameIdentifier frameID, URL reportURL, IPC::FormDataReference reportData)
</span><span class="cx">     SendCOEPPolicyInheritenceViolation(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData embedderOrigin, String endpoint, enum:bool WebCore::COEPDisposition disposition, String type, URL blockedURL)
</span><span class="cx">     SendCOEPCORPViolation(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData embedderOrigin, String endpoint, enum:bool WebCore::COEPDisposition disposition, enum:uint8_t WebCore::FetchOptions::Destination destination, URL blockedURL)
</span><span class="lines">@@ -553,11 +553,11 @@
</span><span class="cx"> 
</span><span class="cx">     RegisterURLSchemeHandler(uint64_t identifier, String scheme)
</span><span class="cx"> 
</span><del>-    URLSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest) -> (WebCore::ResourceRequest actualRequest) Async
-    URLSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest)
-    URLSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse response)
-    URLSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_t taskIdentifier, IPC::SharedBufferDataReference data)
-    URLSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceError error)
</del><ins>+    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)
</ins><span class="cx"> 
</span><span class="cx">     SetIsSuspended(bool suspended)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageWebURLSchemeHandlerProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     result.iterator->value->startLoading();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebURLSchemeHandlerProxy::loadSynchronously(ResourceLoadIdentifier loadIdentifier, WebFrame& webFrame, const ResourceRequest& request, ResourceResponse& response, ResourceError& error, Vector<uint8_t>& data)
</del><ins>+void WebURLSchemeHandlerProxy::loadSynchronously(WebCore::ResourceLoaderIdentifier loadIdentifier, WebFrame& webFrame, const ResourceRequest& request, ResourceResponse& response, ResourceError& error, Vector<uint8_t>& data)
</ins><span class="cx"> {
</span><span class="cx">     data.shrink(0);
</span><span class="cx">     if (!m_webPage.sendSync(Messages::WebPageProxy::LoadSynchronousURLSchemeTask(URLSchemeTaskParameters { m_identifier, loadIdentifier, request, webFrame.info() }), Messages::WebPageProxy::LoadSynchronousURLSchemeTask::Reply(response, error, data))) {
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx">         m_tasks.begin()->value->stopLoading();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebURLSchemeHandlerProxy::taskDidPerformRedirection(uint64_t taskIdentifier, WebCore::ResourceResponse&& redirectResponse, WebCore::ResourceRequest&& newRequest, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
</del><ins>+void WebURLSchemeHandlerProxy::taskDidPerformRedirection(WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&& redirectResponse, WebCore::ResourceRequest&& newRequest, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     auto* task = m_tasks.get(taskIdentifier);
</span><span class="cx">     if (!task)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">     task->didPerformRedirection(WTFMove(redirectResponse), WTFMove(newRequest), WTFMove(completionHandler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebURLSchemeHandlerProxy::taskDidReceiveResponse(uint64_t taskIdentifier, const ResourceResponse& response)
</del><ins>+void WebURLSchemeHandlerProxy::taskDidReceiveResponse(WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     auto* task = m_tasks.get(taskIdentifier);
</span><span class="cx">     if (!task)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">     task->didReceiveResponse(response);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebURLSchemeHandlerProxy::taskDidReceiveData(uint64_t taskIdentifier, size_t size, const uint8_t* data)
</del><ins>+void WebURLSchemeHandlerProxy::taskDidReceiveData(WebCore::ResourceLoaderIdentifier taskIdentifier, size_t size, const uint8_t* data)
</ins><span class="cx"> {
</span><span class="cx">     auto* task = m_tasks.get(taskIdentifier);
</span><span class="cx">     if (!task)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     task->didReceiveData(size, data);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebURLSchemeHandlerProxy::taskDidComplete(uint64_t taskIdentifier, const ResourceError& error)
</del><ins>+void WebURLSchemeHandlerProxy::taskDidComplete(WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     if (auto task = removeTask(taskIdentifier))
</span><span class="cx">         task->didComplete(error);
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx">     removeTask(task.identifier());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<WebURLSchemeTaskProxy> WebURLSchemeHandlerProxy::removeTask(uint64_t identifier)
</del><ins>+RefPtr<WebURLSchemeTaskProxy> WebURLSchemeHandlerProxy::removeTask(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     auto task = m_tasks.take(identifier);
</span><span class="cx">     if (!task)
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageWebURLSchemeHandlerProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h        2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h   2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -39,7 +39,6 @@
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="cx"> class WebPage;
</span><del>-typedef uint64_t ResourceLoadIdentifier;
</del><span class="cx"> 
</span><span class="cx"> class WebURLSchemeHandlerProxy : public RefCounted<WebURLSchemeHandlerProxy> {
</span><span class="cx"> public:
</span><span class="lines">@@ -52,26 +51,27 @@
</span><span class="cx">     void startNewTask(WebCore::ResourceLoader&, WebFrame&);
</span><span class="cx">     void stopAllTasks();
</span><span class="cx"> 
</span><del>-    void loadSynchronously(ResourceLoadIdentifier, WebFrame&, const WebCore::ResourceRequest&, WebCore::ResourceResponse&, WebCore::ResourceError&, Vector<uint8_t>&);
</del><ins>+    void loadSynchronously(WebCore::ResourceLoaderIdentifier, WebFrame&, const WebCore::ResourceRequest&, WebCore::ResourceResponse&, WebCore::ResourceError&, Vector<uint8_t>&);
</ins><span class="cx"> 
</span><span class="cx">     uint64_t identifier() const { return m_identifier; }
</span><span class="cx">     WebPage& page() { return m_webPage; }
</span><span class="cx"> 
</span><del>-    void taskDidPerformRedirection(uint64_t taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
-    void taskDidReceiveResponse(uint64_t taskIdentifier, const WebCore::ResourceResponse&);
-    void taskDidReceiveData(uint64_t taskIdentifier, size_t, const uint8_t* data);
-    void taskDidComplete(uint64_t taskIdentifier, const WebCore::ResourceError&);
</del><ins>+    void taskDidPerformRedirection(WebCore::ResourceLoaderIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
+    void taskDidReceiveResponse(WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&);
+    void taskDidReceiveData(WebCore::ResourceLoaderIdentifier, size_t, const uint8_t* data);
+    void taskDidComplete(WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&);
</ins><span class="cx">     void taskDidStopLoading(WebURLSchemeTaskProxy&);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WebURLSchemeHandlerProxy(WebPage&, uint64_t identifier);
</span><span class="cx"> 
</span><del>-    RefPtr<WebURLSchemeTaskProxy> removeTask(uint64_t identifier);
</del><ins>+    RefPtr<WebURLSchemeTaskProxy> removeTask(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx">     WebPage& m_webPage;
</span><ins>+    // FIXME: This should be a strongly typed identifier.
</ins><span class="cx">     uint64_t m_identifier { 0 };
</span><span class="cx"> 
</span><del>-    HashMap<uint64_t, RefPtr<WebURLSchemeTaskProxy>> m_tasks;
</del><ins>+    HashMap<WebCore::ResourceLoaderIdentifier, RefPtr<WebURLSchemeTaskProxy>> m_tasks;
</ins><span class="cx"> }; // class WebURLSchemeHandlerProxy
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageWebURLSchemeTaskProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp 2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp    2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -39,8 +39,8 @@
</span><span class="cx"> #include <WebCore/ResourceLoader.h>
</span><span class="cx"> #include <wtf/CompletionHandler.h>
</span><span class="cx"> 
</span><del>-#define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_TEMPLATE "[schemeHandler=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", taskID=%lu] WebURLSchemeTaskProxy::"
-#define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS m_urlSchemeHandler.identifier(), pageIDFromWebFrame(m_frame), frameIDFromWebFrame(m_frame), m_identifier
</del><ins>+#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()
</ins><span class="cx"> #define WEBURLSCHEMETASKPROXY_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_TEMPLATE fmt, WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS, ##__VA_ARGS__)
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span></span></pre></div>
<a id="trunkSourceWebKitWebProcessWebPageWebURLSchemeTaskProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.h   2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.h      2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><ins>+#include <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #include <WebCore/ResourceRequest.h>
</span><span class="cx"> #include <wtf/Deque.h>
</span><span class="cx"> #include <wtf/RefCounted.h>
</span><span class="lines">@@ -57,7 +58,7 @@
</span><span class="cx">     void didReceiveData(size_t, const uint8_t* data);
</span><span class="cx">     void didComplete(const WebCore::ResourceError&);
</span><span class="cx"> 
</span><del>-    unsigned long identifier() const { return m_identifier; }
</del><ins>+    WebCore::ResourceLoaderIdentifier identifier() const { return m_identifier; }
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WebURLSchemeTaskProxy(WebURLSchemeHandlerProxy&, WebCore::ResourceLoader&, WebFrame&);
</span><span class="lines">@@ -70,7 +71,7 @@
</span><span class="cx">     RefPtr<WebCore::ResourceLoader> m_coreLoader;
</span><span class="cx">     RefPtr<WebFrame> m_frame;
</span><span class="cx">     WebCore::ResourceRequest m_request;
</span><del>-    unsigned long m_identifier;
</del><ins>+    WebCore::ResourceLoaderIdentifier m_identifier;
</ins><span class="cx">     bool m_waitingForCompletionHandler { false };
</span><span class="cx">     Deque<Function<void()>> m_queuedTasks;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitLegacyChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/ChangeLog (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/ChangeLog      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/ChangeLog 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2021-09-17  Alex Christensen  <achristensen@webkit.org>
+
+        Use ObjectIdentifier for ResourceLoader
+        https://bugs.webkit.org/show_bug.cgi?id=230278
+
+        Reviewed by Michael Catanzaro.
+
+        * WebCoreSupport/WebResourceLoadScheduler.cpp:
+        (WebResourceLoadScheduler::loadResourceSynchronously):
+        * WebCoreSupport/WebResourceLoadScheduler.h:
+
</ins><span class="cx"> 2021-09-07  Chris Dumez  <cdumez@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel
</span></span></pre></div>
<a id="trunkSourceWebKitLegacyWebCoreSupportWebResourceLoadSchedulercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebResourceLoadScheduler::loadResourceSynchronously(FrameLoader& frameLoader, unsigned long, const ResourceRequest& request, ClientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap&, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data)
</del><ins>+void WebResourceLoadScheduler::loadResourceSynchronously(FrameLoader& frameLoader, ResourceLoaderIdentifier, const ResourceRequest& request, ClientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap&, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data)
</ins><span class="cx"> {
</span><span class="cx">     auto* document = frameLoader.frame().document();
</span><span class="cx">     auto* sourceOrigin = document ? &document->securityOrigin() : nullptr;
</span></span></pre></div>
<a id="trunkSourceWebKitLegacyWebCoreSupportWebResourceLoadSchedulerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     WebResourceLoadScheduler();
</span><span class="cx"> 
</span><span class="cx">     void loadResource(WebCore::Frame&, WebCore::CachedResource&, WebCore::ResourceRequest&&, const WebCore::ResourceLoaderOptions&, CompletionHandler<void(RefPtr<WebCore::SubresourceLoader>&&)>&&) final;
</span><del>-    void loadResourceSynchronously(WebCore::FrameLoader&, unsigned long, const WebCore::ResourceRequest&, WebCore::ClientCredentialPolicy, const WebCore::FetchOptions&, const WebCore::HTTPHeaderMap&, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<uint8_t>&) final;
</del><ins>+    void loadResourceSynchronously(WebCore::FrameLoader&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&, WebCore::ClientCredentialPolicy, const WebCore::FetchOptions&, const WebCore::HTTPHeaderMap&, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<uint8_t>&) final;
</ins><span class="cx">     void pageLoadCompleted(WebCore::Page&) final;
</span><span class="cx">     void browsingContextRemoved(WebCore::Frame&) final;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/mac/ChangeLog  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2021-09-17  Alex Christensen  <achristensen@webkit.org>
+
+        Use ObjectIdentifier for ResourceLoader
+        https://bugs.webkit.org/show_bug.cgi?id=230278
+
+        Reviewed by Michael Catanzaro.
+
+        * WebCoreSupport/WebFrameLoaderClient.h:
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
+        (WebFrameLoaderClient::dispatchWillSendRequest):
+        (WebFrameLoaderClient::shouldUseCredentialStorage):
+        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
+        (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
+        (WebFrameLoaderClient::connectionProperties):
+        (WebFrameLoaderClient::dispatchDidReceiveResponse):
+        (WebFrameLoaderClient::willCacheResponse const):
+        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
+        (WebFrameLoaderClient::dispatchDidFinishLoading):
+        (WebFrameLoaderClient::dispatchDidFailLoading):
+        * WebView/WebDocumentLoaderMac.h:
+        * WebView/WebDocumentLoaderMac.mm:
+        (WebDocumentLoaderMac::increaseLoadCount):
+        (WebDocumentLoaderMac::decreaseLoadCount):
+        * WebView/WebViewInternal.h:
+
</ins><span class="cx"> 2021-09-17  Yusuke Suzuki  <ysuzuki@apple.com>
</span><span class="cx"> 
</span><span class="cx">         [JSC] Add fast property enumeration mode for JSON.stringify
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -82,28 +82,28 @@
</span><span class="cx"> 
</span><span class="cx">     void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&) final;
</span><span class="cx"> 
</span><del>-    void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) final;
</del><ins>+    void assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) final;
</ins><span class="cx"> 
</span><del>-    void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) final;
-    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier) final;
-    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&) final;
</del><ins>+    void dispatchWillSendRequest(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) final;
+    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
+    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::AuthenticationChallenge&) final;
</ins><span class="cx"> #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
</span><del>-    bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ProtectionSpace&) final;
</del><ins>+    bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ProtectionSpace&) final;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS_FAMILY)
</span><del>-    RetainPtr<CFDictionaryRef> connectionProperties(WebCore::DocumentLoader*, unsigned long identifier) final;
</del><ins>+    RetainPtr<CFDictionaryRef> connectionProperties(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&) final;
-    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength) final;
-    void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier) final;
</del><ins>+    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) final;
+    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, int dataLength) final;
+    void dispatchDidFinishLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
</ins><span class="cx"> #if ENABLE(DATA_DETECTION)
</span><span class="cx">     void dispatchDidFinishDataDetection(NSArray *detectionResults) final;
</span><span class="cx"> #endif
</span><del>-    void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&) final;
</del><ins>+    void dispatchDidFailLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) final;
</ins><span class="cx"> 
</span><del>-    void willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
</del><ins>+    void willCacheResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
</ins><span class="cx"> 
</span><span class="cx">     void dispatchDidDispatchOnloadEvents() final;
</span><span class="cx">     void dispatchDidReceiveServerRedirectForProvisionalLoad() final;
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebCoreSupportWebFrameLoaderClientmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -336,7 +336,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader* loader, const WebCore::ResourceRequest& request)
</del><ins>+void WebFrameLoaderClient::assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier identifier, WebCore::DocumentLoader* loader, const WebCore::ResourceRequest& request)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -356,7 +356,7 @@
</span><span class="cx">     [webView _addObject:object.get() forIdentifier:identifier];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, unsigned long identifier, WebCore::ResourceRequest& request, const WebCore::ResourceResponse& redirectResponse)
</del><ins>+void WebFrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, WebCore::ResourceRequest& request, const WebCore::ResourceResponse& redirectResponse)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -386,7 +386,7 @@
</span><span class="cx">         request.updateFromDelegatePreservingOldProperties(WebCore::ResourceRequest(newURLRequest));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebFrameLoaderClient::shouldUseCredentialStorage(WebCore::DocumentLoader* loader, unsigned long identifier)
</del><ins>+bool WebFrameLoaderClient::shouldUseCredentialStorage(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -399,7 +399,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader* loader, unsigned long identifier, const WebCore::AuthenticationChallenge& challenge)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::AuthenticationChallenge& challenge)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -420,7 +420,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(PROTECTION_SPACE_AUTH_CALLBACK)
</span><del>-bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader* loader, unsigned long identifier, const WebCore::ProtectionSpace& protectionSpace)
</del><ins>+bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ProtectionSpace& protectionSpace)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -441,7 +441,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS_FAMILY)
</span><del>-RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(WebCore::DocumentLoader* loader, unsigned long identifier)
</del><ins>+RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     id resource = [webView _objectForIdentifier:identifier];
</span><span class="lines">@@ -468,7 +468,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveResponse(WebCore::DocumentLoader* loader, unsigned long identifier, const WebCore::ResourceResponse& response)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveResponse(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -486,7 +486,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::willCacheResponse(WebCore::DocumentLoader* loader, unsigned long identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
</del><ins>+void WebFrameLoaderClient::willCacheResponse(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -506,7 +506,7 @@
</span><span class="cx">     completionHandler(response);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveContentLength(WebCore::DocumentLoader* loader, unsigned long identifier, int dataLength)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveContentLength(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, int dataLength)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -528,7 +528,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidFinishLoading(WebCore::DocumentLoader* loader, unsigned long identifier)
</del><ins>+void WebFrameLoaderClient::dispatchDidFinishLoading(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span><span class="lines">@@ -550,7 +550,7 @@
</span><span class="cx">     static_cast<WebDocumentLoaderMac*>(loader)->decreaseLoadCount(identifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidFailLoading(WebCore::DocumentLoader* loader, unsigned long identifier, const WebCore::ResourceError& error)
</del><ins>+void WebFrameLoaderClient::dispatchDidFailLoading(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     WebView *webView = getWebView(m_webFrame.get());
</span><span class="cx">     WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebViewWebDocumentLoaderMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.h     2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.h        2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #import <WebCore/DocumentLoader.h>
</span><ins>+#import <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #import <wtf/RetainPtr.h>
</span><span class="cx"> #import <wtf/HashSet.h>
</span><span class="cx"> 
</span><span class="lines">@@ -48,8 +49,8 @@
</span><span class="cx">     void detachDataSource();
</span><span class="cx">     WebDataSource *dataSource() const;
</span><span class="cx"> 
</span><del>-    void increaseLoadCount(unsigned long identifier);
-    void decreaseLoadCount(unsigned long identifier);
</del><ins>+    void increaseLoadCount(WebCore::ResourceLoaderIdentifier);
+    void decreaseLoadCount(WebCore::ResourceLoaderIdentifier);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WebDocumentLoaderMac(const WebCore::ResourceRequest&, const WebCore::SubstituteData&);
</span><span class="lines">@@ -64,5 +65,5 @@
</span><span class="cx">     bool m_isDataSourceRetained;
</span><span class="cx">     RetainPtr<id> m_resourceLoadDelegate;
</span><span class="cx">     RetainPtr<id> m_downloadDelegate;
</span><del>-    HashSet<unsigned long> m_loadingResources;
</del><ins>+    HashSet<WebCore::ResourceLoaderIdentifier> m_loadingResources;
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebViewWebDocumentLoaderMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">     // frame is not attached?
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebDocumentLoaderMac::increaseLoadCount(unsigned long identifier)
</del><ins>+void WebDocumentLoaderMac::increaseLoadCount(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_dataSource);
</span><span class="cx"> 
</span><span class="lines">@@ -103,9 +103,9 @@
</span><span class="cx">     retainDataSource();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebDocumentLoaderMac::decreaseLoadCount(unsigned long identifier)
</del><ins>+void WebDocumentLoaderMac::decreaseLoadCount(WebCore::ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><del>-    HashSet<unsigned long>::iterator it = m_loadingResources.find(identifier);
</del><ins>+    auto it = m_loadingResources.find(identifier);
</ins><span class="cx">     
</span><span class="cx">     // It is valid for a load to be cancelled before it's started.
</span><span class="cx">     if (it == m_loadingResources.end())
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebViewWebViewInternalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx"> #import <WebCore/HTMLMediaElementEnums.h>
</span><span class="cx"> #import <WebCore/LayoutMilestone.h>
</span><span class="cx"> #import <WebCore/PlaybackTargetClientContextIdentifier.h>
</span><ins>+#import <WebCore/ResourceLoaderIdentifier.h>
</ins><span class="cx"> #import <WebCore/TextAlternativeWithRange.h>
</span><span class="cx"> #import <WebCore/TextIndicator.h>
</span><span class="cx"> #import <WebCore/TextIndicatorWindow.h>
</span><span class="lines">@@ -250,9 +251,11 @@
</span><span class="cx"> - (void)removePluginInstanceViewsFor:(WebFrame*)webFrame;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-- (void)_addObject:(id)object forIdentifier:(unsigned long)identifier;
-- (id)_objectForIdentifier:(unsigned long)identifier;
-- (void)_removeObjectForIdentifier:(unsigned long)identifier;
</del><ins>+#ifdef __cplusplus
+- (void)_addObject:(id)object forIdentifier:(WebCore::ResourceLoaderIdentifier)identifier;
+- (id)_objectForIdentifier:(WebCore::ResourceLoaderIdentifier)identifier;
+- (void)_removeObjectForIdentifier:(WebCore::ResourceLoaderIdentifier)identifier;
+#endif
</ins><span class="cx"> 
</span><span class="cx"> - (void)_setZoomMultiplier:(float)multiplier isTextOnly:(BOOL)isTextOnly;
</span><span class="cx"> - (float)_zoomMultiplier:(BOOL)isTextOnly;
</span></span></pre></div>
<a id="trunkSourceWebKitLegacywinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/win/ChangeLog (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/win/ChangeLog  2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/win/ChangeLog     2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2021-09-17  Alex Christensen  <achristensen@webkit.org>
+
+        Use ObjectIdentifier for ResourceLoader
+        https://bugs.webkit.org/show_bug.cgi?id=230278
+
+        Reviewed by Michael Catanzaro.
+
+        * WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
+        (WebFrameLoaderClient::shouldUseCredentialStorage):
+        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
+        (WebFrameLoaderClient::dispatchWillSendRequest):
+        (WebFrameLoaderClient::dispatchDidReceiveResponse):
+        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
+        (WebFrameLoaderClient::dispatchDidFinishLoading):
+        (WebFrameLoaderClient::dispatchDidFailLoading):
+        (WebFrameLoaderClient::shouldCacheResponse):
+        * WebCoreSupport/WebFrameLoaderClient.h:
+
</ins><span class="cx"> 2021-09-17  Simon Fraser  <simon.fraser@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Convert usesMockScrollAnimator from a DeprecatedGlobalSettings to a WebPreference
</span></span></pre></div>
<a id="trunkSourceWebKitLegacywinWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp    2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp       2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -177,7 +177,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
</del><ins>+void WebFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request)
</ins><span class="cx"> {
</span><span class="cx">     WebView* webView = m_webFrame->webView();
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="lines">@@ -185,10 +185,10 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     COMPtr<WebMutableURLRequest> webURLRequest(AdoptCOM, WebMutableURLRequest::createInstance(request));
</span><del>-    resourceLoadDelegate->identifierForInitialRequest(webView, webURLRequest.get(), getWebDataSource(loader), identifier);
</del><ins>+    resourceLoadDelegate->identifierForInitialRequest(webView, webURLRequest.get(), getWebDataSource(loader), identifier.toUInt64());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, unsigned long identifier)
</del><ins>+bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     WebView* webView = m_webFrame->webView();
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="lines">@@ -200,13 +200,13 @@
</span><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     BOOL shouldUse;
</span><del>-    if (SUCCEEDED(resourceLoadDelegatePrivate->shouldUseCredentialStorage(webView, identifier, getWebDataSource(loader), &shouldUse)))
</del><ins>+    if (SUCCEEDED(resourceLoadDelegatePrivate->shouldUseCredentialStorage(webView, identifier.toUInt64(), getWebDataSource(loader), &shouldUse)))
</ins><span class="cx">         return shouldUse;
</span><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, unsigned long identifier, const AuthenticationChallenge& challenge)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const AuthenticationChallenge& challenge)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(challenge.authenticationClient());
</span><span class="cx"> 
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="cx">     if (SUCCEEDED(webView->resourceLoadDelegate(&resourceLoadDelegate))) {
</span><span class="cx">         COMPtr<WebURLAuthenticationChallenge> webChallenge(AdoptCOM, WebURLAuthenticationChallenge::createInstance(challenge));
</span><del>-        if (SUCCEEDED(resourceLoadDelegate->didReceiveAuthenticationChallenge(webView, identifier, webChallenge.get(), getWebDataSource(loader))))
</del><ins>+        if (SUCCEEDED(resourceLoadDelegate->didReceiveAuthenticationChallenge(webView, identifier.toUInt64(), webChallenge.get(), getWebDataSource(loader))))
</ins><span class="cx">             return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx">     challenge.authenticationClient()->receivedRequestToContinueWithoutCredential(challenge);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
</del><ins>+void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
</ins><span class="cx"> {
</span><span class="cx">     WebView* webView = m_webFrame->webView();
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="lines">@@ -234,7 +234,7 @@
</span><span class="cx">     COMPtr<WebURLResponse> webURLRedirectResponse(AdoptCOM, WebURLResponse::createInstance(redirectResponse));
</span><span class="cx"> 
</span><span class="cx">     COMPtr<IWebURLRequest> newWebURLRequest;
</span><del>-    if (FAILED(resourceLoadDelegate->willSendRequest(webView, identifier, webURLRequest.get(), webURLRedirectResponse.get(), getWebDataSource(loader), &newWebURLRequest)))
</del><ins>+    if (FAILED(resourceLoadDelegate->willSendRequest(webView, identifier.toUInt64(), webURLRequest.get(), webURLRedirectResponse.get(), getWebDataSource(loader), &newWebURLRequest)))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (webURLRequest == newWebURLRequest)
</span><span class="lines">@@ -252,7 +252,7 @@
</span><span class="cx">     request = newWebURLRequestImpl->resourceRequest();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& response)
</ins><span class="cx"> {
</span><span class="cx">     WebView* webView = m_webFrame->webView();
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="lines">@@ -260,10 +260,10 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     COMPtr<WebURLResponse> webURLResponse(AdoptCOM, WebURLResponse::createInstance(response));
</span><del>-    resourceLoadDelegate->didReceiveResponse(webView, identifier, webURLResponse.get(), getWebDataSource(loader));
</del><ins>+    resourceLoadDelegate->didReceiveResponse(webView, identifier.toUInt64(), webURLResponse.get(), getWebDataSource(loader));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader* loader, unsigned long identifier, int length)
</del><ins>+void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader* loader, ResourceLoaderIdentifier identifier, int length)
</ins><span class="cx"> {
</span><span class="cx">     WebView* webView = m_webFrame->webView();
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="lines">@@ -270,10 +270,10 @@
</span><span class="cx">     if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    resourceLoadDelegate->didReceiveContentLength(webView, identifier, length, getWebDataSource(loader));
</del><ins>+    resourceLoadDelegate->didReceiveContentLength(webView, identifier.toUInt64(), length, getWebDataSource(loader));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, unsigned long identifier)
</del><ins>+void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier)
</ins><span class="cx"> {
</span><span class="cx">     WebView* webView = m_webFrame->webView();
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="lines">@@ -280,10 +280,10 @@
</span><span class="cx">     if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    resourceLoadDelegate->didFinishLoadingFromDataSource(webView, identifier, getWebDataSource(loader));
</del><ins>+    resourceLoadDelegate->didFinishLoadingFromDataSource(webView, identifier.toUInt64(), getWebDataSource(loader));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
</del><ins>+void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error)
</ins><span class="cx"> {
</span><span class="cx">     WebView* webView = m_webFrame->webView();
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="lines">@@ -291,11 +291,11 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     COMPtr<WebError> webError(AdoptCOM, WebError::createInstance(error));
</span><del>-    resourceLoadDelegate->didFailLoadingWithError(webView, identifier, webError.get(), getWebDataSource(loader));
</del><ins>+    resourceLoadDelegate->didFailLoadingWithError(webView, identifier.toUInt64(), webError.get(), getWebDataSource(loader));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(CFURLCONNECTION)
</span><del>-bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response, const unsigned char* data, const unsigned long long length)
</del><ins>+bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& response, const unsigned char* data, const unsigned long long length)
</ins><span class="cx"> {
</span><span class="cx">     WebView* webView = m_webFrame->webView();
</span><span class="cx">     COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
</span><span class="lines">@@ -308,7 +308,7 @@
</span><span class="cx"> 
</span><span class="cx">     COMPtr<IWebURLResponse> urlResponse(AdoptCOM, WebURLResponse::createInstance(response));
</span><span class="cx">     BOOL shouldCache;
</span><del>-    if (SUCCEEDED(resourceLoadDelegatePrivate->shouldCacheResponse(webView, identifier, urlResponse.get(), data, length, getWebDataSource(loader), &shouldCache)))
</del><ins>+    if (SUCCEEDED(resourceLoadDelegatePrivate->shouldCacheResponse(webView, identifier.toUInt64(), urlResponse.get(), data, length, getWebDataSource(loader), &shouldCache)))
</ins><span class="cx">         return shouldCache;
</span><span class="cx"> 
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="trunkSourceWebKitLegacywinWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h (282711 => 282712)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h      2021-09-17 23:46:14 UTC (rev 282711)
+++ trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h 2021-09-18 00:10:03 UTC (rev 282712)
</span><span class="lines">@@ -60,17 +60,17 @@
</span><span class="cx">     void detachedFromParent3() override;
</span><span class="cx"> 
</span><span class="cx">     void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&) override;
</span><del>-    void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) override;
</del><ins>+    void assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) override;
</ins><span class="cx"> 
</span><del>-    void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) override;
-    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier) override;
-    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&) override;
-    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&) override;
-    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength) override;
-    void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier) override;
-    void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&) override;
</del><ins>+    void dispatchWillSendRequest(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) override;
+    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) override;
+    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::AuthenticationChallenge&) override;
+    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) override;
+    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, int dataLength) override;
+    void dispatchDidFinishLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) override;
+    void dispatchDidFailLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) override;
</ins><span class="cx"> #if USE(CFURLCONNECTION)
</span><del>-    bool shouldCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length) override;
</del><ins>+    bool shouldCacheResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length) override;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void dispatchDidDispatchOnloadEvents() override;
</span></span></pre>
</div>
</div>

</body>
</html>