Changeset 282712 in webkit


Ignore:
Timestamp:
Sep 17, 2021, 5:10:03 PM (4 years ago)
Author:
achristensen@apple.com
Message:

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:
Location:
trunk/Source
Files:
1 added
125 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r282710 r282712  
     12021-09-17  Alex Christensen  <achristensen@webkit.org>
     2
     3        Use ObjectIdentifier for ResourceLoader
     4        https://bugs.webkit.org/show_bug.cgi?id=230278
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * Modules/fetch/FetchLoader.cpp:
     9        (WebCore::FetchLoader::didReceiveResponse):
     10        (WebCore::FetchLoader::didFinishLoading):
     11        * Modules/fetch/FetchLoader.h:
     12        * WebCore.xcodeproj/project.pbxproj:
     13        * bindings/js/WorkerModuleScriptLoader.h:
     14        * dom/Document.cpp:
     15        (WebCore::Document::processMetaHttpEquiv):
     16        * fileapi/FileReaderLoader.cpp:
     17        (WebCore::FileReaderLoader::didReceiveResponse):
     18        (WebCore::FileReaderLoader::didFinishLoading):
     19        * fileapi/FileReaderLoader.h:
     20        * inspector/InspectorInstrumentation.cpp:
     21        (WebCore::InspectorInstrumentation::willSendRequestImpl):
     22        (WebCore::InspectorInstrumentation::willSendRequestOfTypeImpl):
     23        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
     24        (WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl):
     25        (WebCore::InspectorInstrumentation::didReceiveDataImpl):
     26        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
     27        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
     28        (WebCore::InspectorInstrumentation::scriptImportedImpl):
     29        (WebCore::InspectorInstrumentation::didReceiveScriptResponseImpl):
     30        (WebCore::InspectorInstrumentation::interceptResponseImpl):
     31        * inspector/InspectorInstrumentation.h:
     32        (WebCore::InspectorInstrumentation::willSendRequest):
     33        (WebCore::InspectorInstrumentation::willSendRequestOfType):
     34        (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
     35        (WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponse):
     36        (WebCore::InspectorInstrumentation::didReceiveData):
     37        (WebCore::InspectorInstrumentation::didFinishLoading):
     38        (WebCore::InspectorInstrumentation::didFailLoading):
     39        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
     40        (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
     41        (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
     42        (WebCore::InspectorInstrumentation::scriptImported):
     43        (WebCore::InspectorInstrumentation::didReceiveScriptResponse):
     44        (WebCore::InspectorInstrumentation::interceptResponse):
     45        * inspector/InspectorInstrumentationWebKit.cpp:
     46        (WebCore::InspectorInstrumentationWebKit::interceptResponseInternal):
     47        * inspector/InspectorInstrumentationWebKit.h:
     48        (WebCore::InspectorInstrumentationWebKit::interceptResponse):
     49        * inspector/agents/InspectorNetworkAgent.cpp:
     50        (WebCore::InspectorNetworkAgent::willSendRequest):
     51        (WebCore::InspectorNetworkAgent::willSendRequestOfType):
     52        (WebCore::InspectorNetworkAgent::didReceiveResponse):
     53        (WebCore::InspectorNetworkAgent::didReceiveData):
     54        (WebCore::InspectorNetworkAgent::didFinishLoading):
     55        (WebCore::InspectorNetworkAgent::didFailLoading):
     56        (WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
     57        (WebCore::InspectorNetworkAgent::setInitialScriptContent):
     58        (WebCore::InspectorNetworkAgent::didReceiveScriptResponse):
     59        (WebCore::InspectorNetworkAgent::didReceiveThreadableLoaderResponse):
     60        (WebCore::InspectorNetworkAgent::interceptRequest):
     61        (WebCore::InspectorNetworkAgent::interceptResponse):
     62        * inspector/agents/InspectorNetworkAgent.h:
     63        * inspector/agents/WebConsoleAgent.cpp:
     64        (WebCore::WebConsoleAgent::didReceiveResponse):
     65        (WebCore::WebConsoleAgent::didFailLoading):
     66        * inspector/agents/WebConsoleAgent.h:
     67        * loader/CrossOriginPreflightChecker.cpp:
     68        (WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
     69        (WebCore::CrossOriginPreflightChecker::doPreflight):
     70        * loader/CrossOriginPreflightChecker.h:
     71        * loader/DocumentLoader.cpp:
     72        (WebCore::DocumentLoader::finishedLoading):
     73        (WebCore::DocumentLoader::tryLoadingSubstituteData):
     74        (WebCore::DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
     75        (WebCore::DocumentLoader::responseReceived):
     76        (WebCore::DocumentLoader::disallowDataRequest const):
     77        (WebCore::DocumentLoader::addSubresourceLoader):
     78        (WebCore::DocumentLoader::loadMainResource):
     79        (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
     80        * loader/DocumentLoader.h:
     81        * loader/DocumentThreadableLoader.cpp:
     82        (WebCore::DocumentThreadableLoader::didReceiveResponse):
     83        (WebCore::DocumentThreadableLoader::didReceiveData):
     84        (WebCore::DocumentThreadableLoader::didFinishLoading):
     85        (WebCore::DocumentThreadableLoader::didFail):
     86        (WebCore::DocumentThreadableLoader::preflightFailure):
     87        (WebCore::DocumentThreadableLoader::loadRequest):
     88        * loader/DocumentThreadableLoader.h:
     89        * loader/EmptyClients.cpp:
     90        (WebCore::EmptyFrameLoaderClient::assignIdentifierToInitialRequest):
     91        (WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage):
     92        (WebCore::EmptyFrameLoaderClient::dispatchWillSendRequest):
     93        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
     94        (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
     95        (WebCore::EmptyFrameLoaderClient::connectionProperties):
     96        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveResponse):
     97        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveContentLength):
     98        (WebCore::EmptyFrameLoaderClient::dispatchDidFinishLoading):
     99        (WebCore::EmptyFrameLoaderClient::dispatchDidFailLoading):
     100        (WebCore::EmptyFrameLoaderClient::willCacheResponse const):
     101        (WebCore::EmptyFrameLoaderClient::shouldCacheResponse):
     102        * loader/EmptyFrameLoaderClient.h:
     103        * loader/FrameLoader.cpp:
     104        (WebCore::FrameLoader::willLoadMediaElementURL):
     105        (WebCore::FrameLoader::commitProvisionalLoad):
     106        (WebCore::FrameLoader::loadResourceSynchronously):
     107        (WebCore::FrameLoader::requestFromDelegate):
     108        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
     109        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
     110        * loader/FrameLoader.h:
     111        * loader/FrameLoaderClient.h:
     112        * loader/LoaderStrategy.cpp:
     113        (WebCore::LoaderStrategy::responseFromResourceLoadIdentifier):
     114        (WebCore::LoaderStrategy::networkMetricsFromResourceLoadIdentifier):
     115        (WebCore::LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):
     116        * loader/LoaderStrategy.h:
     117        (WebCore::LoaderStrategy::ongoingLoads const):
     118        (): Deleted.
     119        * loader/PingLoader.cpp:
     120        (WebCore::PingLoader::startPingLoad):
     121        * loader/ProgressTracker.cpp:
     122        (WebCore::ProgressTracker::incrementProgress):
     123        (WebCore::ProgressTracker::completeProgress):
     124        (WebCore::ProgressTracker::createUniqueIdentifier):
     125        * loader/ProgressTracker.h:
     126        * loader/ResourceLoadNotifier.cpp:
     127        (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
     128        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
     129        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
     130        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
     131        (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
     132        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
     133        (WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
     134        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
     135        * loader/ResourceLoadNotifier.h:
     136        * loader/ResourceLoader.cpp:
     137        (WebCore::ResourceLoader::releaseResources):
     138        (WebCore::ResourceLoader::willSendRequestInternal):
     139        * loader/ResourceLoader.h:
     140        (WebCore::ResourceLoader::identifier const):
     141        * loader/ResourceLoaderIdentifier.h: Copied from Source/WebKit/Shared/URLSchemeTaskParameters.h.
     142        * loader/SubresourceLoader.cpp:
     143        (WebCore::SubresourceLoader::init):
     144        (WebCore::SubresourceLoader::willSendRequestInternal):
     145        (WebCore::SubresourceLoader::didReceiveResponse):
     146        (WebCore::SubresourceLoader::didFinishLoading):
     147        (WebCore::SubresourceLoader::didFail):
     148        (WebCore::SubresourceLoader::didCancel):
     149        * loader/ThreadableLoaderClient.h:
     150        (WebCore::ThreadableLoaderClient::didSendData):
     151        (WebCore::ThreadableLoaderClient::didReceiveResponse):
     152        (WebCore::ThreadableLoaderClient::didReceiveData):
     153        (WebCore::ThreadableLoaderClient::didFinishLoading):
     154        (WebCore::ThreadableLoaderClient::didFail):
     155        (WebCore::ThreadableLoaderClient::didFinishTiming):
     156        (WebCore::ThreadableLoaderClient::notifyIsDone):
     157        * loader/ThreadableLoaderClientWrapper.h:
     158        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
     159        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
     160        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
     161        * loader/WorkerThreadableLoader.cpp:
     162        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
     163        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
     164        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
     165        * loader/WorkerThreadableLoader.h:
     166        (WebCore::WorkerThreadableLoader::create):
     167        (WebCore::WorkerThreadableLoader::done const):
     168        * loader/appcache/ApplicationCacheGroup.cpp:
     169        (WebCore::ApplicationCacheGroup::update):
     170        (WebCore::ApplicationCacheGroup::startLoadingEntry):
     171        * loader/appcache/ApplicationCacheGroup.h:
     172        * loader/cache/CachedRawResource.cpp:
     173        (WebCore::CachedRawResource::CachedRawResource):
     174        * loader/cache/CachedRawResource.h:
     175        * loader/cache/CachedResource.cpp:
     176        (WebCore::CachedResource::load):
     177        * loader/cache/CachedResource.h:
     178        (WebCore::CachedResource::identifierForLoadWithoutResourceLoader const):
     179        * page/EventSource.cpp:
     180        (WebCore::EventSource::didReceiveResponse):
     181        (WebCore::EventSource::didFinishLoading):
     182        * page/EventSource.h:
     183        * workers/Worker.cpp:
     184        (WebCore::Worker::didReceiveResponse):
     185        * workers/Worker.h:
     186        * workers/WorkerFontLoadRequest.cpp:
     187        (WebCore::WorkerFontLoadRequest::didReceiveResponse):
     188        (WebCore::WorkerFontLoadRequest::didFinishLoading):
     189        * workers/WorkerFontLoadRequest.h:
     190        * workers/WorkerOrWorkletGlobalScope.h:
     191        (WebCore::WorkerOrWorkletGlobalScope::createUniqueIdentifier): Deleted.
     192        * workers/WorkerScriptLoader.cpp:
     193        (WebCore::WorkerScriptLoader::didReceiveResponse):
     194        (WebCore::WorkerScriptLoader::didFinishLoading):
     195        * workers/WorkerScriptLoader.h:
     196        (WebCore::WorkerScriptLoader::identifier const):
     197        * workers/WorkerScriptLoaderClient.h:
     198        * workers/service/ServiceWorkerJob.cpp:
     199        (WebCore::ServiceWorkerJob::didReceiveResponse):
     200        * workers/service/ServiceWorkerJob.h:
     201        * xml/XMLHttpRequest.cpp:
     202        (WebCore::XMLHttpRequest::didFinishLoading):
     203        (WebCore::XMLHttpRequest::didReceiveResponse):
     204        * xml/XMLHttpRequest.h:
     205
    12062021-09-17  Myles C. Maxfield  <mmaxfield@apple.com>
    2207
  • trunk/Source/WebCore/Headers.cmake

    r282361 r282712  
    845845    loader/ResourceLoadTiming.h
    846846    loader/ResourceLoader.h
     847    loader/ResourceLoaderIdentifier.h
    847848    loader/ResourceLoaderOptions.h
    848849    loader/ResourceLoaderTypes.h
  • trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp

    r281055 r282712  
    143143}
    144144
    145 void FetchLoader::didReceiveResponse(unsigned long, const ResourceResponse& response)
     145void FetchLoader::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
    146146{
    147147    m_client.didReceiveResponse(response);
     
    157157}
    158158
    159 void FetchLoader::didFinishLoading(unsigned long)
     159void FetchLoader::didFinishLoading(ResourceLoaderIdentifier)
    160160{
    161161    m_client.didSucceed();
  • trunk/Source/WebCore/Modules/fetch/FetchLoader.h

    r278516 r282712  
    5858private:
    5959    // ThreadableLoaderClient API.
    60     void didReceiveResponse(unsigned long, const ResourceResponse&) final;
     60    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
    6161    void didReceiveData(const uint8_t*, int) final;
    62     void didFinishLoading(unsigned long) final;
     62    void didFinishLoading(ResourceLoaderIdentifier) final;
    6363    void didFail(const ResourceError&) final;
    6464
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r282702 r282712  
    20242024                5B46656325D14C0A000CFE14 /* ScrollingEffectsController.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B46655F25D14C09000CFE14 /* ScrollingEffectsController.h */; settings = {ATTRIBUTES = (Private, ); }; };
    20252025                5B46656425D14C0A000CFE14 /* ScrollSnapAnimatorState.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B46656025D14C0A000CFE14 /* ScrollSnapAnimatorState.h */; settings = {ATTRIBUTES = (Private, ); }; };
     2026                5C1B1D3F26F3978000882DA2 /* ResourceLoaderIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C1B1D3D26F3977F00882DA2 /* ResourceLoaderIdentifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
    20262027                5C2B1AEC22397EBC00B91CF7 /* ResourceResponseCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1F78D0B1C25422C00245446 /* ResourceResponseCocoa.mm */; };
    20272028                5C4304B1191AC908000E2BC0 /* EXTShaderTextureLOD.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4304AE191AC908000E2BC0 /* EXTShaderTextureLOD.h */; };
     
    98049805                5C1B1D2526F188D800882DA2 /* WorkerOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WorkerOptions.idl; sourceTree = "<group>"; };
    98059806                5C1B1D2626F18A4B00882DA2 /* WorkerOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkerOptions.h; sourceTree = "<group>"; };
     9807                5C1B1D3D26F3977F00882DA2 /* ResourceLoaderIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoaderIdentifier.h; sourceTree = "<group>"; };
    98069808                5C2EBE012577198900D55B05 /* SerializedNFA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedNFA.h; sourceTree = "<group>"; };
    98079809                5C2EBE0325771A4C00D55B05 /* SerializedNFA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SerializedNFA.cpp; sourceTree = "<group>"; };
     
    2782627828                                93E227DE0AF589AD00D48324 /* ResourceLoader.cpp */,
    2782727829                                656D37270ADBA5DE00A4554D /* ResourceLoader.h */,
     27830                                5C1B1D3D26F3977F00882DA2 /* ResourceLoaderIdentifier.h */,
    2782827831                                D0A3A7301405A39800FB8ED3 /* ResourceLoaderOptions.h */,
    2782927832                                51AF503516F100F60095B2E8 /* ResourceLoaderTypes.h */,
     
    3478834791                                514C767B0CE923A1007EF3CD /* ResourceHandleInternal.h in Headers */,
    3478934792                                656D373F0ADBA5DE00A4554D /* ResourceLoader.h in Headers */,
     34793                                5C1B1D3F26F3978000882DA2 /* ResourceLoaderIdentifier.h in Headers */,
    3479034794                                D0A3A7311405A39800FB8ED3 /* ResourceLoaderOptions.h in Headers */,
    3479134795                                51AF503616F100F60095B2E8 /* ResourceLoaderTypes.h in Headers */,
  • trunk/Source/WebCore/bindings/js/WorkerModuleScriptLoader.h

    r275751 r282712  
    6666    WorkerModuleScriptLoader(ModuleScriptLoaderClient&, DeferredPromise&, WorkerScriptFetcher&, RefPtr<ModuleFetchParameters>&&);
    6767
    68     void didReceiveResponse(unsigned long, const ResourceResponse&) final { }
     68    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final { }
    6969    void notifyFinished() final;
    7070
  • trunk/Source/WebCore/dom/Document.cpp

    r282628 r282712  
    38343834        if (frame) {
    38353835            FrameLoader& frameLoader = frame->loader();
    3836             unsigned long requestIdentifier = 0;
     3836            ResourceLoaderIdentifier requestIdentifier;
    38373837            if (frameLoader.activeDocumentLoader() && frameLoader.activeDocumentLoader()->mainResourceLoader())
    38383838                requestIdentifier = frameLoader.activeDocumentLoader()->mainResourceLoader()->identifier();
    38393839
    38403840            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.";
    3841             addConsoleMessage(MessageSource::Security, MessageLevel::Error, message, requestIdentifier);
     3841            addConsoleMessage(MessageSource::Security, MessageLevel::Error, message, requestIdentifier.toUInt64());
    38423842        }
    38433843        break;
  • trunk/Source/WebCore/fileapi/FileReaderLoader.cpp

    r281055 r282712  
    127127}
    128128
    129 void FileReaderLoader::didReceiveResponse(unsigned long, const ResourceResponse& response)
     129void FileReaderLoader::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
    130130{
    131131    if (response.httpStatusCode() != 200) {
     
    216216}
    217217
    218 void FileReaderLoader::didFinishLoading(unsigned long)
     218void FileReaderLoader::didFinishLoading(ResourceLoaderIdentifier)
    219219{
    220220    if (m_variableLength && m_totalBytes > m_bytesLoaded) {
  • trunk/Source/WebCore/fileapi/FileReaderLoader.h

    r278516 r282712  
    7070
    7171    // ThreadableLoaderClient
    72     void didReceiveResponse(unsigned long, const ResourceResponse&) override;
     72    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override;
    7373    void didReceiveData(const uint8_t*, int) override;
    74     void didFinishLoading(unsigned long) override;
     74    void didFinishLoading(ResourceLoaderIdentifier) override;
    7575    void didFail(const ResourceError&) override;
    7676
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp

    r280467 r282712  
    576576}
    577577
    578 void InspectorInstrumentation::willSendRequestImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
     578void InspectorInstrumentation::willSendRequestImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
    579579{
    580580    if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
     
    582582}
    583583
    584 void InspectorInstrumentation::willSendRequestOfTypeImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)
     584void InspectorInstrumentation::willSendRequestOfTypeImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)
    585585{
    586586    if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
     
    597597}
    598598
    599 void InspectorInstrumentation::didReceiveResourceResponseImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
     599void InspectorInstrumentation::didReceiveResourceResponseImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
    600600{
    601601    if (LIKELY(!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled()))
     
    608608}
    609609
    610 void InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl(InstrumentingAgents& instrumentingAgents, DocumentThreadableLoader& documentThreadableLoader, unsigned long identifier)
     610void InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl(InstrumentingAgents& instrumentingAgents, DocumentThreadableLoader& documentThreadableLoader, ResourceLoaderIdentifier identifier)
    611611{
    612612    if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
     
    614614}
    615615
    616 void InspectorInstrumentation::didReceiveDataImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength)
     616void InspectorInstrumentation::didReceiveDataImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength)
    617617{
    618618    if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
     
    620620}
    621621
    622 void InspectorInstrumentation::didFinishLoadingImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
     622void InspectorInstrumentation::didFinishLoadingImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
    623623{
    624624    if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
     
    626626}
    627627
    628 void InspectorInstrumentation::didFailLoadingImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, DocumentLoader* loader, const ResourceError& error)
     628void InspectorInstrumentation::didFailLoadingImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceError& error)
    629629{
    630630    if (LIKELY(!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled()))
     
    649649}
    650650
    651 void InspectorInstrumentation::scriptImportedImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier, const String& sourceString)
     651void InspectorInstrumentation::scriptImportedImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, const String& sourceString)
    652652{
    653653    if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
     
    661661}
    662662
    663 void InspectorInstrumentation::didReceiveScriptResponseImpl(InstrumentingAgents& instrumentingAgents, unsigned long identifier)
     663void InspectorInstrumentation::didReceiveScriptResponseImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier)
    664664{
    665665    if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
     
    851851}
    852852
    853 void InspectorInstrumentation::interceptResponseImpl(InstrumentingAgents& instrumentingAgents, const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
     853void InspectorInstrumentation::interceptResponseImpl(InstrumentingAgents& instrumentingAgents, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
    854854{
    855855    if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent())
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.h

    r280467 r282712  
    4646#include "Page.h"
    4747#include "ResourceLoader.h"
     48#include "ResourceLoaderIdentifier.h"
    4849#include "StorageArea.h"
    4950#include "WebAnimation.h"
     
    185186    static void applyEmulatedMedia(Frame&, String&);
    186187
    187     static void willSendRequest(Frame*, unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
     188    static void willSendRequest(Frame*, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
    188189    static void didLoadResourceFromMemoryCache(Page&, DocumentLoader*, CachedResource*);
    189     static void didReceiveResourceResponse(Frame&, unsigned long identifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
    190     static void didReceiveThreadableLoaderResponse(DocumentThreadableLoader&, unsigned long identifier);
    191     static void didReceiveData(Frame*, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength);
    192     static void didFinishLoading(Frame*, DocumentLoader*, unsigned long identifier, const NetworkLoadMetrics&, ResourceLoader*);
    193     static void didFailLoading(Frame*, DocumentLoader*, unsigned long identifier, const ResourceError&);
    194 
    195     static void willSendRequest(WorkerOrWorkletGlobalScope&, unsigned long identifier, ResourceRequest&);
    196     static void didReceiveResourceResponse(WorkerOrWorkletGlobalScope&, unsigned long identifier, const ResourceResponse&);
    197     static void didReceiveData(WorkerOrWorkletGlobalScope&, unsigned long identifier, const uint8_t* data, int dataLength);
    198     static void didFinishLoading(WorkerOrWorkletGlobalScope&, unsigned long identifier, const NetworkLoadMetrics&);
    199     static void didFailLoading(WorkerOrWorkletGlobalScope&, unsigned long identifier, const ResourceError&);
     190    static void didReceiveResourceResponse(Frame&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
     191    static void didReceiveThreadableLoaderResponse(DocumentThreadableLoader&, ResourceLoaderIdentifier);
     192    static void didReceiveData(Frame*, ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength);
     193    static void didFinishLoading(Frame*, DocumentLoader*, ResourceLoaderIdentifier, const NetworkLoadMetrics&, ResourceLoader*);
     194    static void didFailLoading(Frame*, DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&);
     195
     196    static void willSendRequest(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, ResourceRequest&);
     197    static void didReceiveResourceResponse(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const ResourceResponse&);
     198    static void didReceiveData(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const uint8_t* data, int dataLength);
     199    static void didFinishLoading(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const NetworkLoadMetrics&);
     200    static void didFailLoading(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const ResourceError&);
    200201
    201202    // Some network requests do not go through the normal network loading path.
     
    203204    // instrumentation calls. Some of these loads are for resources that lack a CachedResource::Type.
    204205    enum class LoadType { Ping, Beacon };
    205     static void willSendRequestOfType(Frame*, unsigned long identifier, DocumentLoader*, ResourceRequest&, LoadType);
    206 
    207     static void continueAfterXFrameOptionsDenied(Frame&, unsigned long identifier, DocumentLoader&, const ResourceResponse&);
    208     static void continueWithPolicyDownload(Frame&, unsigned long identifier, DocumentLoader&, const ResourceResponse&);
    209     static void continueWithPolicyIgnore(Frame&, unsigned long identifier, DocumentLoader&, const ResourceResponse&);
     206    static void willSendRequestOfType(Frame*, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, LoadType);
     207
     208    static void continueAfterXFrameOptionsDenied(Frame&, ResourceLoaderIdentifier, DocumentLoader&, const ResourceResponse&);
     209    static void continueWithPolicyDownload(Frame&, ResourceLoaderIdentifier, DocumentLoader&, const ResourceResponse&);
     210    static void continueWithPolicyIgnore(Frame&, ResourceLoaderIdentifier, DocumentLoader&, const ResourceResponse&);
    210211    static void willLoadXHRSynchronously(ScriptExecutionContext*);
    211212    static void didLoadXHRSynchronously(ScriptExecutionContext*);
    212     static void scriptImported(ScriptExecutionContext&, unsigned long identifier, const String& sourceString);
     213    static void scriptImported(ScriptExecutionContext&, ResourceLoaderIdentifier, const String& sourceString);
    213214    static void scriptExecutionBlockedByCSP(ScriptExecutionContext*, const String& directiveText);
    214     static void didReceiveScriptResponse(ScriptExecutionContext*, unsigned long identifier);
     215    static void didReceiveScriptResponse(ScriptExecutionContext*, ResourceLoaderIdentifier);
    215216    static void domContentLoadedEventFired(Frame&);
    216217    static void loadEventFired(Frame*);
     
    232233    static bool shouldInterceptResponse(const Frame&, const ResourceResponse&);
    233234    static void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
    234     static void interceptResponse(const Frame&, const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
     235    static void interceptResponse(const Frame&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
    235236
    236237    static void addMessageToConsole(Page&, std::unique_ptr<Inspector::ConsoleMessage>);
     
    404405    static void applyEmulatedMediaImpl(InstrumentingAgents&, String&);
    405406
    406     static void willSendRequestImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
    407     static void willSendRequestOfTypeImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, ResourceRequest&, LoadType);
    408     static void markResourceAsCachedImpl(InstrumentingAgents&, unsigned long identifier);
     407    static void willSendRequestImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
     408    static void willSendRequestOfTypeImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, LoadType);
     409    static void markResourceAsCachedImpl(InstrumentingAgents&, ResourceLoaderIdentifier);
    409410    static void didLoadResourceFromMemoryCacheImpl(InstrumentingAgents&, DocumentLoader*, CachedResource*);
    410     static void didReceiveResourceResponseImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
    411     static void didReceiveThreadableLoaderResponseImpl(InstrumentingAgents&, DocumentThreadableLoader&, unsigned long identifier);
    412     static void didReceiveDataImpl(InstrumentingAgents&, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength);
    413     static void didFinishLoadingImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*);
    414     static void didFailLoadingImpl(InstrumentingAgents&, unsigned long identifier, DocumentLoader*, const ResourceError&);
     411    static void didReceiveResourceResponseImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
     412    static void didReceiveThreadableLoaderResponseImpl(InstrumentingAgents&, DocumentThreadableLoader&, ResourceLoaderIdentifier);
     413    static void didReceiveDataImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength);
     414    static void didFinishLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*);
     415    static void didFailLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceError&);
    415416    static void willLoadXHRSynchronouslyImpl(InstrumentingAgents&);
    416417    static void didLoadXHRSynchronouslyImpl(InstrumentingAgents&);
    417     static void scriptImportedImpl(InstrumentingAgents&, unsigned long identifier, const String& sourceString);
     418    static void scriptImportedImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const String& sourceString);
    418419    static void scriptExecutionBlockedByCSPImpl(InstrumentingAgents&, const String& directiveText);
    419     static void didReceiveScriptResponseImpl(InstrumentingAgents&, unsigned long identifier);
     420    static void didReceiveScriptResponseImpl(InstrumentingAgents&, ResourceLoaderIdentifier);
    420421    static void domContentLoadedEventFiredImpl(InstrumentingAgents&, Frame&);
    421422    static void loadEventFiredImpl(InstrumentingAgents&, Frame*);
     
    437438    static bool shouldInterceptResponseImpl(InstrumentingAgents&, const ResourceResponse&);
    438439    static void interceptRequestImpl(InstrumentingAgents&, ResourceLoader&, Function<void(const ResourceRequest&)>&&);
    439     static void interceptResponseImpl(InstrumentingAgents&, const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
     440    static void interceptResponseImpl(InstrumentingAgents&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
    440441
    441442    static void addMessageToConsoleImpl(InstrumentingAgents&, std::unique_ptr<Inspector::ConsoleMessage>);
     
    10341035}
    10351036
    1036 inline void InspectorInstrumentation::willSendRequest(Frame* frame, unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
     1037inline void InspectorInstrumentation::willSendRequest(Frame* frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
    10371038{
    10381039    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    10411042}
    10421043
    1043 inline void InspectorInstrumentation::willSendRequest(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, ResourceRequest& request)
     1044inline void InspectorInstrumentation::willSendRequest(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, ResourceRequest& request)
    10441045{
    10451046    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    10471048}
    10481049
    1049 inline void InspectorInstrumentation::willSendRequestOfType(Frame* frame, unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)
     1050inline void InspectorInstrumentation::willSendRequestOfType(Frame* frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)
    10501051{
    10511052    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    10601061}
    10611062
    1062 inline void InspectorInstrumentation::didReceiveResourceResponse(Frame& frame, unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
     1063inline void InspectorInstrumentation::didReceiveResourceResponse(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
    10631064{
    10641065    if (auto* agents = instrumentingAgents(frame))
     
    10661067}
    10671068
    1068 inline void InspectorInstrumentation::didReceiveResourceResponse(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, const ResourceResponse& response)
     1069inline void InspectorInstrumentation::didReceiveResourceResponse(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    10691070{
    10701071    didReceiveResourceResponseImpl(instrumentingAgents(globalScope), identifier, nullptr, response, nullptr);
    10711072}
    10721073
    1073 inline void InspectorInstrumentation::didReceiveThreadableLoaderResponse(DocumentThreadableLoader& documentThreadableLoader, unsigned long identifier)
     1074inline void InspectorInstrumentation::didReceiveThreadableLoaderResponse(DocumentThreadableLoader& documentThreadableLoader, ResourceLoaderIdentifier identifier)
    10741075{
    10751076    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    10781079}
    10791080   
    1080 inline void InspectorInstrumentation::didReceiveData(Frame* frame, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength)
     1081inline void InspectorInstrumentation::didReceiveData(Frame* frame, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength)
    10811082{
    10821083    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    10851086}
    10861087
    1087 inline void InspectorInstrumentation::didReceiveData(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, const uint8_t* data, int dataLength)
     1088inline void InspectorInstrumentation::didReceiveData(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength)
    10881089{
    10891090    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    10911092}
    10921093
    1093 inline void InspectorInstrumentation::didFinishLoading(Frame* frame, DocumentLoader* loader, unsigned long identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
     1094inline void InspectorInstrumentation::didFinishLoading(Frame* frame, DocumentLoader* loader, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
    10941095{
    10951096    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    10981099}
    10991100
    1100 inline void InspectorInstrumentation::didFinishLoading(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, const NetworkLoadMetrics& networkLoadMetrics)
     1101inline void InspectorInstrumentation::didFinishLoading(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics)
    11011102{
    11021103    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    11041105}
    11051106
    1106 inline void InspectorInstrumentation::didFailLoading(Frame* frame, DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
     1107inline void InspectorInstrumentation::didFailLoading(Frame* frame, DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error)
    11071108{
    11081109    if (auto* agents = instrumentingAgents(frame))
     
    11101111}
    11111112
    1112 inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& globalScope, unsigned long identifier, const ResourceError& error)
     1113inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const ResourceError& error)
    11131114{
    11141115    didFailLoadingImpl(instrumentingAgents(globalScope), identifier, nullptr, error);
    11151116}
    11161117
    1117 inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(Frame& frame, unsigned long identifier, DocumentLoader& loader, const ResourceResponse& response)
     1118inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response)
    11181119{
    11191120    // Treat the same as didReceiveResponse.
     
    11221123}
    11231124
    1124 inline void InspectorInstrumentation::continueWithPolicyDownload(Frame& frame, unsigned long identifier, DocumentLoader& loader, const ResourceResponse& response)
     1125inline void InspectorInstrumentation::continueWithPolicyDownload(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response)
    11251126{
    11261127    // Treat the same as didReceiveResponse.
     
    11291130}
    11301131
    1131 inline void InspectorInstrumentation::continueWithPolicyIgnore(Frame& frame, unsigned long identifier, DocumentLoader& loader, const ResourceResponse& response)
     1132inline void InspectorInstrumentation::continueWithPolicyIgnore(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response)
    11321133{
    11331134    // Treat the same as didReceiveResponse.
     
    11501151}
    11511152
    1152 inline void InspectorInstrumentation::scriptImported(ScriptExecutionContext& context, unsigned long identifier, const String& sourceString)
     1153inline void InspectorInstrumentation::scriptImported(ScriptExecutionContext& context, ResourceLoaderIdentifier identifier, const String& sourceString)
    11531154{
    11541155    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    11641165}
    11651166
    1166 inline void InspectorInstrumentation::didReceiveScriptResponse(ScriptExecutionContext* context, unsigned long identifier)
     1167inline void InspectorInstrumentation::didReceiveScriptResponse(ScriptExecutionContext* context, ResourceLoaderIdentifier identifier)
    11671168{
    11681169    FAST_RETURN_IF_NO_FRONTENDS(void());
     
    12851286}
    12861287
    1287 inline void InspectorInstrumentation::interceptResponse(const Frame& frame, const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
     1288inline void InspectorInstrumentation::interceptResponse(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
    12881289{
    12891290    ASSERT(InspectorInstrumentation::shouldInterceptResponse(frame, response));
  • trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp

    r263119 r282712  
    4646}
    4747
    48 void InspectorInstrumentationWebKit::interceptResponseInternal(const Frame& frame, const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
     48void InspectorInstrumentationWebKit::interceptResponseInternal(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
    4949{
    5050    InspectorInstrumentation::interceptResponse(frame, response, identifier, WTFMove(handler));
  • trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h

    r264630 r282712  
    4444    static bool shouldInterceptResponse(const Frame*, const ResourceResponse&);
    4545    static void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
    46     static void interceptResponse(const Frame*, const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
     46    static void interceptResponse(const Frame*, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
    4747
    4848private:
     
    5050    static bool shouldInterceptResponseInternal(const Frame&, const ResourceResponse&);
    5151    static void interceptRequestInternal(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
    52     static void interceptResponseInternal(const Frame&, const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
     52    static void interceptResponseInternal(const Frame&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
    5353};
    5454
     
    7777}
    7878
    79 inline void InspectorInstrumentationWebKit::interceptResponse(const Frame* frame, const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
     79inline void InspectorInstrumentationWebKit::interceptResponse(const Frame* frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
    8080{
    8181    ASSERT(InspectorInstrumentationWebKit::shouldInterceptResponse(frame, response));
  • trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp

    r279442 r282712  
    109109    ~InspectorThreadableLoaderClient() override = default;
    110110
    111     void didReceiveResponse(unsigned long, const ResourceResponse& response) override
     111    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) override
    112112    {
    113113        m_mimeType = response.mimeType();
     
    136136    }
    137137
    138     void didFinishLoading(unsigned long) override
     138    void didFinishLoading(ResourceLoaderIdentifier) override
    139139    {
    140140        if (m_decoder)
     
    417417}
    418418
    419 void InspectorNetworkAgent::willSendRequest(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType type)
     419void InspectorNetworkAgent::willSendRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType type)
    420420{
    421421    if (request.hiddenFromInspector()) {
     
    427427    WallTime walltime = WallTime::now();
    428428
    429     auto requestId = IdentifiersFactory::requestId(identifier);
     429    auto requestId = IdentifiersFactory::requestId(identifier.toUInt64());
    430430    auto frameId = frameIdentifier(loader);
    431431    auto loaderId = loaderIdentifier(loader);
     
    487487}
    488488
    489 void InspectorNetworkAgent::willSendRequest(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
     489void InspectorNetworkAgent::willSendRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
    490490{
    491491    if (!cachedResource && loader)
     
    494494}
    495495
    496 void InspectorNetworkAgent::willSendRequestOfType(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, InspectorInstrumentation::LoadType loadType)
     496void InspectorNetworkAgent::willSendRequestOfType(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, InspectorInstrumentation::LoadType loadType)
    497497{
    498498    willSendRequest(identifier, loader, request, ResourceResponse(), resourceTypeForLoadType(loadType));
    499499}
    500500
    501 void InspectorNetworkAgent::didReceiveResponse(unsigned long identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
     501void InspectorNetworkAgent::didReceiveResponse(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)
    502502{
    503503    if (m_hiddenRequestIdentifiers.contains(identifier))
    504504        return;
    505505
    506     String requestId = IdentifiersFactory::requestId(identifier);
     506    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
    507507
    508508    std::optional<ResourceResponse> realResponse;
     
    576576}
    577577
    578 void InspectorNetworkAgent::didReceiveData(unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength)
     578void InspectorNetworkAgent::didReceiveData(ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength)
    579579{
    580580    if (m_hiddenRequestIdentifiers.contains(identifier))
    581581        return;
    582582
    583     String requestId = IdentifiersFactory::requestId(identifier);
     583    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
    584584
    585585    if (data) {
     
    596596}
    597597
    598 void InspectorNetworkAgent::didFinishLoading(unsigned long identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader*)
     598void InspectorNetworkAgent::didFinishLoading(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader*)
    599599{
    600600    if (m_hiddenRequestIdentifiers.remove(identifier))
     
    607607        elapsedFinishTime = timestamp();
    608608
    609     String requestId = IdentifiersFactory::requestId(identifier);
     609    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
    610610    if (loader && m_resourcesData->resourceType(requestId) == InspectorPageAgent::DocumentResource)
    611611        m_resourcesData->addResourceSharedBuffer(requestId, loader->frameLoader()->documentLoader()->mainResourceData(), loader->frame()->document()->encoding());
     
    629629}
    630630
    631 void InspectorNetworkAgent::didFailLoading(unsigned long identifier, DocumentLoader* loader, const ResourceError& error)
     631void InspectorNetworkAgent::didFailLoading(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceError& error)
    632632{
    633633    if (m_hiddenRequestIdentifiers.remove(identifier))
    634634        return;
    635635
    636     String requestId = IdentifiersFactory::requestId(identifier);
     636    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
    637637
    638638    if (loader && m_resourcesData->resourceType(requestId) == InspectorPageAgent::DocumentResource) {
     
    654654        return;
    655655
    656     unsigned long identifier = loader->frame()->page()->progress().createUniqueIdentifier();
    657     String requestId = IdentifiersFactory::requestId(identifier);
     656    auto identifier = ResourceLoaderIdentifier::generate();
     657    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
    658658    Protocol::Network::LoaderId loaderId = loaderIdentifier(loader);
    659659    Protocol::Network::FrameId frameId = frameIdentifier(loader);
     
    670670}
    671671
    672 void InspectorNetworkAgent::setInitialScriptContent(unsigned long identifier, const String& sourceString)
    673 {
    674     m_resourcesData->setResourceContent(IdentifiersFactory::requestId(identifier), sourceString);
    675 }
    676 
    677 void InspectorNetworkAgent::didReceiveScriptResponse(unsigned long identifier)
    678 {
    679     m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier), InspectorPageAgent::ScriptResource);
    680 }
    681 
    682 void InspectorNetworkAgent::didReceiveThreadableLoaderResponse(unsigned long identifier, DocumentThreadableLoader& documentThreadableLoader)
     672void InspectorNetworkAgent::setInitialScriptContent(ResourceLoaderIdentifier identifier, const String& sourceString)
     673{
     674    m_resourcesData->setResourceContent(IdentifiersFactory::requestId(identifier.toUInt64()), sourceString);
     675}
     676
     677void InspectorNetworkAgent::didReceiveScriptResponse(ResourceLoaderIdentifier identifier)
     678{
     679    m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::ScriptResource);
     680}
     681
     682void InspectorNetworkAgent::didReceiveThreadableLoaderResponse(ResourceLoaderIdentifier identifier, DocumentThreadableLoader& documentThreadableLoader)
    683683{
    684684    String initiator = documentThreadableLoader.options().initiator;
    685685    if (initiator == cachedResourceRequestInitiators().fetch)
    686         m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier), InspectorPageAgent::FetchResource);
     686        m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::FetchResource);
    687687    else if (initiator == cachedResourceRequestInitiators().xmlhttprequest)
    688         m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier), InspectorPageAgent::XHRResource);
     688        m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::XHRResource);
    689689}
    690690
     
    11301130    ASSERT(m_interceptionEnabled);
    11311131
    1132     String requestId = IdentifiersFactory::requestId(loader.identifier());
     1132    String requestId = IdentifiersFactory::requestId(loader.identifier().toUInt64());
    11331133    if (m_pendingInterceptRequests.contains(requestId)) {
    11341134        handler(loader.request());
     
    11391139}
    11401140
    1141 void InspectorNetworkAgent::interceptResponse(const ResourceResponse& response, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
     1141void InspectorNetworkAgent::interceptResponse(const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)
    11421142{
    11431143    ASSERT(m_enabled);
    11441144    ASSERT(m_interceptionEnabled);
    11451145
    1146     String requestId = IdentifiersFactory::requestId(identifier);
     1146    String requestId = IdentifiersFactory::requestId(identifier.toUInt64());
    11471147    if (m_pendingInterceptResponses.contains(requestId)) {
    11481148        ASSERT_NOT_REACHED();
  • trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h

    r278717 r282712  
    9999    void willRecalculateStyle();
    100100    void didRecalculateStyle();
    101     void willSendRequest(unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
    102     void willSendRequestOfType(unsigned long identifier, DocumentLoader*, ResourceRequest&, InspectorInstrumentation::LoadType);
    103     void didReceiveResponse(unsigned long identifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
    104     void didReceiveData(unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength);
    105     void didFinishLoading(unsigned long identifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*);
    106     void didFailLoading(unsigned long identifier, DocumentLoader*, const ResourceError&);
     101    void willSendRequest(ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
     102    void willSendRequestOfType(ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, InspectorInstrumentation::LoadType);
     103    void didReceiveResponse(ResourceLoaderIdentifier, DocumentLoader*, const ResourceResponse&, ResourceLoader*);
     104    void didReceiveData(ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength);
     105    void didFinishLoading(ResourceLoaderIdentifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*);
     106    void didFailLoading(ResourceLoaderIdentifier, DocumentLoader*, const ResourceError&);
    107107    void didLoadResourceFromMemoryCache(DocumentLoader*, CachedResource&);
    108     void didReceiveThreadableLoaderResponse(unsigned long identifier, DocumentThreadableLoader&);
     108    void didReceiveThreadableLoaderResponse(ResourceLoaderIdentifier, DocumentThreadableLoader&);
    109109    void willLoadXHRSynchronously();
    110110    void didLoadXHRSynchronously();
    111     void didReceiveScriptResponse(unsigned long identifier);
     111    void didReceiveScriptResponse(ResourceLoaderIdentifier);
    112112    void willDestroyCachedResource(CachedResource&);
    113113    void didCreateWebSocket(unsigned long identifier, const URL& requestURL);
     
    119119    void didReceiveWebSocketFrameError(unsigned long identifier, const String&);
    120120    void mainFrameNavigated(DocumentLoader&);
    121     void setInitialScriptContent(unsigned long identifier, const String& sourceString);
     121    void setInitialScriptContent(ResourceLoaderIdentifier, const String& sourceString);
    122122    void didScheduleStyleRecalculation(Document&);
    123123    bool willIntercept(const ResourceRequest&);
    124124    bool shouldInterceptRequest(const ResourceRequest&);
    125125    bool shouldInterceptResponse(const ResourceResponse&);
    126     void interceptResponse(const ResourceResponse&, unsigned long identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
     126    void interceptResponse(const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&&);
    127127    void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&);
    128128
     
    141141
    142142private:
    143     void willSendRequest(unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType);
     143    void willSendRequest(ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType);
    144144
    145145    bool shouldIntercept(URL, Inspector::Protocol::Network::NetworkStage);
     
    227227
    228228    HashMap<String, String> m_extraRequestHeaders;
    229     HashSet<unsigned long> m_hiddenRequestIdentifiers;
     229    HashSet<ResourceLoaderIdentifier> m_hiddenRequestIdentifiers;
    230230
    231231    struct Intercept {
  • trunk/Source/WebCore/inspector/agents/WebConsoleAgent.cpp

    r277967 r282712  
    6666}
    6767
    68 void WebConsoleAgent::didReceiveResponse(unsigned long requestIdentifier, const ResourceResponse& response)
     68void WebConsoleAgent::didReceiveResponse(ResourceLoaderIdentifier requestIdentifier, const ResourceResponse& response)
    6969{
    7070    if (response.httpStatusCode() >= 400) {
    7171        auto message = makeString("Failed to load resource: the server responded with a status of ", response.httpStatusCode(), " (", ScriptArguments::truncateStringForConsoleMessage(response.httpStatusText()), ')');
    72         addMessageToConsole(makeUnique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message, response.url().string(), 0, 0, nullptr, requestIdentifier));
     72        addMessageToConsole(makeUnique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message, response.url().string(), 0, 0, nullptr, requestIdentifier.toUInt64()));
    7373    }
    7474}
    7575
    76 void WebConsoleAgent::didFailLoading(unsigned long requestIdentifier, const ResourceError& error)
     76void WebConsoleAgent::didFailLoading(ResourceLoaderIdentifier requestIdentifier, const ResourceError& error)
    7777{
    7878    // Report failures only.
     
    8181
    8282    auto message = makeString("Failed to load resource", error.localizedDescription().isEmpty() ? "" : ": ", error.localizedDescription());
    83     addMessageToConsole(makeUnique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message, error.failingURL().string(), 0, 0, nullptr, requestIdentifier));
     83    addMessageToConsole(makeUnique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message, error.failingURL().string(), 0, 0, nullptr, requestIdentifier.toUInt64()));
    8484}
    8585
  • trunk/Source/WebCore/inspector/agents/WebConsoleAgent.h

    r266885 r282712  
    2727
    2828#include "InspectorWebAgentBase.h"
     29#include "ResourceLoaderIdentifier.h"
    2930#include <JavaScriptCore/InspectorConsoleAgent.h>
    3031
     
    4445    // InspectorInstrumentation
    4546    void frameWindowDiscarded(DOMWindow*);
    46     void didReceiveResponse(unsigned long requestIdentifier, const ResourceResponse&);
    47     void didFailLoading(unsigned long requestIdentifier, const ResourceError&);
     47    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&);
     48    void didFailLoading(ResourceLoaderIdentifier, const ResourceError&);
    4849};
    4950
  • trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp

    r278800 r282712  
    5959}
    6060
    61 void CrossOriginPreflightChecker::validatePreflightResponse(DocumentThreadableLoader& loader, ResourceRequest&& request, unsigned long identifier, const ResourceResponse& response)
     61void CrossOriginPreflightChecker::validatePreflightResponse(DocumentThreadableLoader& loader, ResourceRequest&& request, ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    6262{
    6363    auto* frame = loader.document().frame();
     
    142142    RefPtr<SharedBuffer> data;
    143143
    144     unsigned identifier = loader.document().frame()->loader().loadResourceSynchronously(preflightRequest, ClientCredentialPolicy::CannotAskClientForCredentials, FetchOptions { }, { }, error, response, data);
     144    auto identifier = loader.document().frame()->loader().loadResourceSynchronously(preflightRequest, ClientCredentialPolicy::CannotAskClientForCredentials, FetchOptions { }, { }, error, response, data);
    145145
    146146    if (!error.isNull()) {
  • trunk/Source/WebCore/loader/CrossOriginPreflightChecker.h

    r261597 r282712  
    3333#include "CachedRawResourceClient.h"
    3434#include "CachedResourceHandle.h"
     35#include "ResourceLoaderIdentifier.h"
    3536#include "ResourceRequest.h"
    3637
     
    5859
    5960    static void handleLoadingFailure(DocumentThreadableLoader&, unsigned long, const ResourceError&);
    60     static void validatePreflightResponse(DocumentThreadableLoader&, ResourceRequest&&, unsigned long, const ResourceResponse&);
     61    static void validatePreflightResponse(DocumentThreadableLoader&, ResourceRequest&&, ResourceLoaderIdentifier, const ResourceResponse&);
    6162
    6263    DocumentThreadableLoader& m_loader;
  • trunk/Source/WebCore/loader/DocumentLoader.cpp

    r282429 r282712  
    465465        // cancel the already-finished substitute load.
    466466        NetworkLoadMetrics emptyMetrics;
    467         unsigned long identifier = m_identifierForLoadWithoutResourceLoader;
    468         m_identifierForLoadWithoutResourceLoader = 0;
     467        ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader;
     468        m_identifierForLoadWithoutResourceLoader = { };
    469469        frameLoader()->notifier().dispatchDidFinishLoading(this, identifier, emptyMetrics, nullptr);
    470470    }
     
    887887
    888888    DOCUMENTLOADER_RELEASE_LOG("startLoadingMainResource: Returning substitute data");
    889     m_identifierForLoadWithoutResourceLoader = m_frame->page()->progress().createUniqueIdentifier();
     889    m_identifierForLoadWithoutResourceLoader = ResourceLoaderIdentifier::generate();
    890890    frameLoader()->notifier().assignIdentifierToInitialRequest(m_identifierForLoadWithoutResourceLoader, this, m_request);
    891891    frameLoader()->notifier().dispatchWillSendRequest(this, m_identifierForLoadWithoutResourceLoader, m_request, ResourceResponse(), nullptr);
     
    940940}
    941941
    942 void DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(unsigned long identifier, const ResourceResponse& response)
     942void DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    943943{
    944944    Ref<DocumentLoader> protectedThis { *this };
     
    10381038
    10391039    ASSERT(m_identifierForLoadWithoutResourceLoader || m_mainResource);
    1040     unsigned long identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();
     1040    ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();
    10411041    ASSERT(identifier);
    10421042
     
    10551055                if (frameLoader()->shouldInterruptLoadForXFrameOptions(frameOptions, url, identifier)) {
    10561056                    String message = "Refused to display '" + url.stringCenterEllipsizedToLength() + "' in a frame because it set 'X-Frame-Options' to '" + frameOptions + "'.";
    1057                     m_frame->document()->addConsoleMessage(MessageSource::Security, MessageLevel::Error, message, identifier);
     1057                    m_frame->document()->addConsoleMessage(MessageSource::Security, MessageLevel::Error, message, identifier.toUInt64());
    10581058                    stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(identifier, response);
    10591059                    return;
     
    11811181
    11821182    if (auto* currentDocument = frame()->document()) {
    1183         unsigned long identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();
     1183        ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();
    11841184        ASSERT(identifier);
    11851185
    1186         currentDocument->addConsoleMessage(MessageSource::Security, MessageLevel::Error, makeString("Not allowed to navigate top frame to data URL '", m_response.url().stringCenterEllipsizedToLength(), "'."), identifier);
     1186        currentDocument->addConsoleMessage(MessageSource::Security, MessageLevel::Error, makeString("Not allowed to navigate top frame to data URL '", m_response.url().stringCenterEllipsizedToLength(), "'."), identifier.toUInt64());
    11871187    }
    11881188    DOCUMENTLOADER_RELEASE_LOG("continueAfterContentPolicy: cannot show URL");
     
    20172017}
    20182018
    2019 void DocumentLoader::addSubresourceLoader(ResourceLoader* loader)
     2019void DocumentLoader::addSubresourceLoader(ResourceLoader& loader)
    20202020{
    20212021    // The main resource's underlying ResourceLoader will ask to be added here.
     
    20262026    if (!m_gotFirstByte)
    20272027        return;
    2028     ASSERT(loader->identifier());
    2029     ASSERT(!m_subresourceLoaders.contains(loader->identifier()));
    2030     ASSERT(!mainResourceLoader() || mainResourceLoader() != loader);
     2028    ASSERT(loader.identifier());
     2029    ASSERT(!m_subresourceLoaders.contains(loader.identifier()));
     2030    ASSERT(!mainResourceLoader() || mainResourceLoader() != &loader);
    20312031
    20322032    // Application Cache loaders are handled by their ApplicationCacheGroup directly.
    2033     if (loader->options().applicationCacheMode == ApplicationCacheMode::Bypass)
     2033    if (loader.options().applicationCacheMode == ApplicationCacheMode::Bypass)
    20342034        return;
    20352035
     
    20412041        case Document::AboutToEnterBackForwardCache: {
    20422042            // A page about to enter the BackForwardCache should only be able to start ping loads.
    2043             auto* cachedResource = downcast<SubresourceLoader>(loader)->cachedResource();
     2043            auto* cachedResource = downcast<SubresourceLoader>(loader).cachedResource();
    20442044            ASSERT(cachedResource && (CachedResource::shouldUsePingLoad(cachedResource->type()) || cachedResource->options().keepAlive));
    20452045            break;
     
    20532053#endif
    20542054
    2055     m_subresourceLoaders.add(loader->identifier(), loader);
     2055    m_subresourceLoaders.add(loader.identifier(), &loader);
    20562056}
    20572057
     
    22792279
    22802280    if (!mainResourceLoader()) {
    2281         m_identifierForLoadWithoutResourceLoader = m_frame->page()->progress().createUniqueIdentifier();
     2281        m_identifierForLoadWithoutResourceLoader = ResourceLoaderIdentifier::generate();
    22822282        frameLoader()->notifier().assignIdentifierToInitialRequest(m_identifierForLoadWithoutResourceLoader, this, mainResourceRequest.resourceRequest());
    22832283        frameLoader()->notifier().dispatchWillSendRequest(this, m_identifierForLoadWithoutResourceLoader, mainResourceRequest.resourceRequest(), ResourceResponse(), nullptr);
     
    23452345}
    23462346
    2347 void DocumentLoader::subresourceLoaderFinishedLoadingOnePart(ResourceLoader* loader)
    2348 {
    2349     unsigned long identifier = loader->identifier();
     2347void DocumentLoader::subresourceLoaderFinishedLoadingOnePart(ResourceLoader& loader)
     2348{
     2349    ResourceLoaderIdentifier identifier = loader.identifier();
    23502350    ASSERT(identifier);
    23512351
    2352     if (!m_multipartSubresourceLoaders.add(identifier, loader).isNewEntry) {
    2353         ASSERT(m_multipartSubresourceLoaders.get(identifier) == loader);
     2352    if (!m_multipartSubresourceLoaders.add(identifier, &loader).isNewEntry) {
     2353        ASSERT(m_multipartSubresourceLoaders.get(identifier) == &loader);
    23542354        ASSERT(!m_subresourceLoaders.contains(identifier));
    23552355    } else {
  • trunk/Source/WebCore/loader/DocumentLoader.h

    r282026 r282712  
    4343#include "NavigationAction.h"
    4444#include "ResourceError.h"
     45#include "ResourceLoaderIdentifier.h"
    4546#include "ResourceLoaderOptions.h"
    4647#include "ResourceRequest.h"
     
    9091enum class ShouldContinue;
    9192
    92 using ResourceLoaderMap = HashMap<unsigned long, RefPtr<ResourceLoader>>;
     93using ResourceLoaderMap = HashMap<ResourceLoaderIdentifier, RefPtr<ResourceLoader>>;
    9394
    9495enum class AutoplayPolicy : uint8_t {
     
    296297    void stopLoadingPlugIns();
    297298    void stopLoadingSubresources();
    298     WEBCORE_EXPORT void stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(unsigned long identifier, const ResourceResponse&);
     299    WEBCORE_EXPORT void stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(ResourceLoaderIdentifier, const ResourceResponse&);
    299300
    300301    bool userContentExtensionsEnabled() const { return m_userContentExtensionsEnabled; }
     
    339340    void setMouseEventPolicy(MouseEventPolicy policy) { m_mouseEventPolicy = policy; }
    340341
    341     void addSubresourceLoader(ResourceLoader*);
     342    void addSubresourceLoader(ResourceLoader&);
    342343    void removeSubresourceLoader(LoadCompletionType, ResourceLoader*);
    343344    void addPlugInStreamLoader(ResourceLoader&);
    344345    void removePlugInStreamLoader(ResourceLoader&);
    345346
    346     void subresourceLoaderFinishedLoadingOnePart(ResourceLoader*);
     347    void subresourceLoaderFinishedLoadingOnePart(ResourceLoader&);
    347348
    348349    void setDeferMainResourceDataLoad(bool defer) { m_deferMainResourceDataLoad = defer; }
     
    611612    DocumentLoadTiming m_loadTiming;
    612613
    613     unsigned long m_identifierForLoadWithoutResourceLoader { 0 };
     614    ResourceLoaderIdentifier m_identifierForLoadWithoutResourceLoader;
    614615
    615616    DataLoadToken m_dataLoadToken;
  • trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp

    r281431 r282712  
    400400}
    401401
    402 void DocumentThreadableLoader::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
     402void DocumentThreadableLoader::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    403403{
    404404    ASSERT(m_client);
     
    434434}
    435435
    436 void DocumentThreadableLoader::didReceiveData(unsigned long, const uint8_t* data, int dataLength)
     436void DocumentThreadableLoader::didReceiveData(ResourceLoaderIdentifier, const uint8_t* data, int dataLength)
    437437{
    438438    ASSERT(m_client);
     
    470470}
    471471
    472 void DocumentThreadableLoader::didFinishLoading(unsigned long identifier)
     472void DocumentThreadableLoader::didFinishLoading(ResourceLoaderIdentifier identifier)
    473473{
    474474    ASSERT(m_client);
     
    504504}
    505505
    506 void DocumentThreadableLoader::didFail(unsigned long, const ResourceError& error)
     506void DocumentThreadableLoader::didFail(ResourceLoaderIdentifier, const ResourceError& error)
    507507{
    508508    ASSERT(m_client);
     
    536536}
    537537
    538 void DocumentThreadableLoader::preflightFailure(unsigned long identifier, const ResourceError& error)
     538void DocumentThreadableLoader::preflightFailure(ResourceLoaderIdentifier identifier, const ResourceError& error)
    539539{
    540540    m_preflightChecker = std::nullopt;
     
    599599    ResourceError error;
    600600    ResourceResponse response;
    601     unsigned long identifier = std::numeric_limits<unsigned long>::max();
     601    auto identifier = makeObjectIdentifier<ResourceLoader>(std::numeric_limits<uint64_t>::max());
    602602    if (auto* frame = m_document.frame()) {
    603603        if (!MixedContentChecker::canRunInsecureContent(*frame, m_document.securityOrigin(), requestURL))
  • trunk/Source/WebCore/loader/DocumentThreadableLoader.h

    r281431 r282712  
    3434#include "ContentSecurityPolicy.h"
    3535#include "CrossOriginPreflightChecker.h"
     36#include "ResourceLoaderIdentifier.h"
    3637#include "ResourceResponse.h"
    3738#include "SecurityOrigin.h"
     
    9293        void notifyFinished(CachedResource&, const NetworkLoadMetrics&) override;
    9394
    94         void didReceiveResponse(unsigned long identifier, const ResourceResponse&);
    95         void didReceiveData(unsigned long identifier, const uint8_t* data, int dataLength);
    96         void didFinishLoading(unsigned long identifier);
    97         void didFail(unsigned long identifier, const ResourceError&);
     95        void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&);
     96        void didReceiveData(ResourceLoaderIdentifier, const uint8_t* data, int dataLength);
     97        void didFinishLoading(ResourceLoaderIdentifier);
     98        void didFail(ResourceLoaderIdentifier, const ResourceError&);
    9899        void makeCrossOriginAccessRequest(ResourceRequest&&);
    99100        void makeSimpleCrossOriginAccessRequest(ResourceRequest&&);
    100101        void makeCrossOriginAccessRequestWithPreflight(ResourceRequest&&);
    101102        void preflightSuccess(ResourceRequest&&);
    102         void preflightFailure(unsigned long identifier, const ResourceError&);
     103        void preflightFailure(ResourceLoaderIdentifier, const ResourceError&);
    103104
    104105        void loadRequest(ResourceRequest&&, SecurityCheckPolicy);
  • trunk/Source/WebCore/loader/EmptyClients.cpp

    r282567 r282712  
    674674}
    675675
    676 void EmptyFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long, DocumentLoader*, const ResourceRequest&)
    677 {
    678 }
    679 
    680 bool EmptyFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, unsigned long)
     676void EmptyFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&)
     677{
     678}
     679
     680bool EmptyFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier)
    681681{
    682682    return false;
    683683}
    684684
    685 void EmptyFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, const ResourceResponse&)
    686 {
    687 }
    688 
    689 void EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)
     685void EmptyFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse&)
     686{
     687}
     688
     689void EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, ResourceLoaderIdentifier, const AuthenticationChallenge&)
    690690{
    691691}
     
    693693#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
    694694
    695 bool EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace&)
     695bool EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, ResourceLoaderIdentifier, const ProtectionSpace&)
    696696{
    697697    return false;
     
    702702#if PLATFORM(IOS_FAMILY)
    703703
    704 RetainPtr<CFDictionaryRef> EmptyFrameLoaderClient::connectionProperties(DocumentLoader*, unsigned long)
     704RetainPtr<CFDictionaryRef> EmptyFrameLoaderClient::connectionProperties(DocumentLoader*, ResourceLoaderIdentifier)
    705705{
    706706    return nullptr;
     
    709709#endif
    710710
    711 void EmptyFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse&)
    712 {
    713 }
    714 
    715 void EmptyFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, unsigned long, int)
    716 {
    717 }
    718 
    719 void EmptyFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, unsigned long)
     711void EmptyFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&)
     712{
     713}
     714
     715void EmptyFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier, int)
     716{
     717}
     718
     719void EmptyFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier)
    720720{
    721721}
     
    729729#endif
    730730
    731 void EmptyFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&)
     731void EmptyFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&)
    732732{
    733733}
     
    10681068}
    10691069
    1070 void EmptyFrameLoaderClient::willCacheResponse(DocumentLoader*, unsigned long, NSCachedURLResponse *response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
     1070void EmptyFrameLoaderClient::willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, NSCachedURLResponse *response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
    10711071{
    10721072    completionHandler(response);
     
    10771077#if USE(CFURLCONNECTION)
    10781078
    1079 bool EmptyFrameLoaderClient::shouldCacheResponse(DocumentLoader*, unsigned long, const ResourceResponse&, const unsigned char*, unsigned long long)
     1079bool EmptyFrameLoaderClient::shouldCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, const unsigned char*, unsigned long long)
    10801080{
    10811081    return true;
  • trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h

    r282429 r282712  
    5454    void convertMainResourceLoadToDownload(DocumentLoader*, const ResourceRequest&, const ResourceResponse&) final;
    5555
    56     void assignIdentifierToInitialRequest(unsigned long, DocumentLoader*, const ResourceRequest&) final;
    57     bool shouldUseCredentialStorage(DocumentLoader*, unsigned long) override;
    58     void dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, const ResourceResponse&) final;
    59     void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&) final;
     56    void assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&) final;
     57    bool shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier) override;
     58    void dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse&) final;
     59    void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, ResourceLoaderIdentifier, const AuthenticationChallenge&) final;
    6060#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
    61     bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace&) final;
     61    bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, ResourceLoaderIdentifier, const ProtectionSpace&) final;
    6262#endif
    6363
    6464#if PLATFORM(IOS_FAMILY)
    65     RetainPtr<CFDictionaryRef> connectionProperties(DocumentLoader*, unsigned long) final;
    66 #endif
    67 
    68     void dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse&) final;
    69     void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long, int) final;
    70     void dispatchDidFinishLoading(DocumentLoader*, unsigned long) final;
     65    RetainPtr<CFDictionaryRef> connectionProperties(DocumentLoader*, ResourceLoaderIdentifier) final;
     66#endif
     67
     68    void dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&) final;
     69    void dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier, int) final;
     70    void dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier) final;
    7171#if ENABLE(DATA_DETECTION)
    7272    void dispatchDidFinishDataDetection(NSArray *) final;
    7373#endif
    74     void dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&) final;
     74    void dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&) final;
    7575    bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int) final;
    7676
     
    183183#if PLATFORM(COCOA)
    184184    RemoteAXObjectRef accessibilityRemoteObject() final;
    185     void willCacheResponse(DocumentLoader*, unsigned long, NSCachedURLResponse *, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
     185    void willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, NSCachedURLResponse *, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
    186186#endif
    187187
    188188#if USE(CFURLCONNECTION)
    189     bool shouldCacheResponse(DocumentLoader*, unsigned long, const ResourceResponse&, const unsigned char*, unsigned long long) final;
     189    bool shouldCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, const unsigned char*, unsigned long long) final;
    190190#endif
    191191
  • trunk/Source/WebCore/loader/FrameLoader.cpp

    r281941 r282712  
    16901690    request.setInspectorInitiatorNodeIdentifier(InspectorInstrumentation::identifierForNode(initiatorNode));
    16911691
    1692     unsigned long identifier;
     1692    ResourceLoaderIdentifier identifier;
    16931693    ResourceError error;
    16941694    requestFromDelegate(request, identifier, error);
     
    20692069        // consistency with all other loads. See https://bugs.webkit.org/show_bug.cgi?id=150927.
    20702070        ResourceError mainResouceError;
    2071         unsigned long mainResourceIdentifier;
     2071        ResourceLoaderIdentifier mainResourceIdentifier;
    20722072        ResourceRequest mainResourceRequest(cachedPage->documentLoader()->request());
    20732073        requestFromDelegate(mainResourceRequest, mainResourceIdentifier, mainResouceError);
     
    21342134            // FIXME: If the WebKit client changes or cancels the request, this is not respected.
    21352135            ResourceError error;
    2136             unsigned long identifier;
     2136            ResourceLoaderIdentifier identifier;
    21372137            ResourceRequest request(response.url());
    21382138            requestFromDelegate(request, identifier, error);
     
    31073107}
    31083108
    3109 unsigned long FrameLoader::loadResourceSynchronously(const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data)
     3109ResourceLoaderIdentifier FrameLoader::loadResourceSynchronously(const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data)
    31103110{
    31113111    ASSERT(m_frame.document());
     
    31253125    applyUserAgentIfNeeded(initialRequest);
    31263126
    3127     unsigned long identifier = 0;   
     3127    ResourceLoaderIdentifier identifier;   
    31283128    ResourceRequest newRequest(initialRequest);
    31293129    requestFromDelegate(newRequest, identifier, error);
     
    35883588}
    35893589
    3590 void FrameLoader::requestFromDelegate(ResourceRequest& request, unsigned long& identifier, ResourceError& error)
     3590void FrameLoader::requestFromDelegate(ResourceRequest& request, ResourceLoaderIdentifier& identifier, ResourceError& error)
    35913591{
    35923592    ASSERT(!request.isNull());
    35933593
    3594     identifier = 0;
    3595     if (Page* page = m_frame.page()) {
    3596         identifier = page->progress().createUniqueIdentifier();
    3597         notifier().assignIdentifierToInitialRequest(identifier, m_documentLoader.get(), request);
    3598     }
     3594    identifier = ResourceLoaderIdentifier::generate();
     3595    notifier().assignIdentifierToInitialRequest(identifier, m_documentLoader.get(), request);
    35993596
    36003597    ResourceRequest newRequest(request);
     
    36353632    }
    36363633
    3637     unsigned long identifier;
     3634    ResourceLoaderIdentifier identifier;
    36383635    requestFromDelegate(newRequest, identifier, error);
    36393636
     
    36523649}
    36533650
    3654 bool FrameLoader::shouldInterruptLoadForXFrameOptions(const String& content, const URL& url, unsigned long requestIdentifier)
     3651bool FrameLoader::shouldInterruptLoadForXFrameOptions(const String& content, const URL& url, ResourceLoaderIdentifier requestIdentifier)
    36553652{
    36563653    Frame& topFrame = m_frame.tree().top();
     
    36763673        return false;
    36773674    case XFrameOptionsDisposition::Conflict:
    3678         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);
     3675        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());
    36793676        return true;
    36803677    case XFrameOptionsDisposition::Invalid:
    3681         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);
     3678        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());
    36823679        return false;
    36833680    case XFrameOptionsDisposition::None:
  • trunk/Source/WebCore/loader/FrameLoader.h

    r281832 r282712  
    128128    WEBCORE_EXPORT void loadArchive(Ref<Archive>&&);
    129129#endif
    130     unsigned long loadResourceSynchronously(const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, RefPtr<SharedBuffer>& data);
     130    ResourceLoaderIdentifier loadResourceSynchronously(const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, RefPtr<SharedBuffer>& data);
    131131
    132132    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);
     
    276276    void applyUserAgentIfNeeded(ResourceRequest&);
    277277
    278     bool shouldInterruptLoadForXFrameOptions(const String&, const URL&, unsigned long requestIdentifier);
     278    bool shouldInterruptLoadForXFrameOptions(const String&, const URL&, ResourceLoaderIdentifier);
    279279
    280280    void completed();
     
    387387    bool shouldReload(const URL& currentURL, const URL& destinationURL);
    388388
    389     void requestFromDelegate(ResourceRequest&, unsigned long& identifier, ResourceError&);
     389    void requestFromDelegate(ResourceRequest&, ResourceLoaderIdentifier&, ResourceError&);
    390390
    391391    WEBCORE_EXPORT void detachChildren();
  • trunk/Source/WebCore/loader/FrameLoaderClient.h

    r282429 r282712  
    3636#include "PageIdentifier.h"
    3737#include "RegistrableDomain.h"
     38#include "ResourceLoaderIdentifier.h"
    3839#include <wtf/Expected.h>
    3940#include <wtf/Forward.h>
     
    139140    virtual void detachedFromParent3() = 0;
    140141
    141     virtual void assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&) = 0;
    142 
    143     virtual void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse) = 0;
    144     virtual bool shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier) = 0;
    145     virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&) = 0;
     142    virtual void assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&) = 0;
     143
     144    virtual void dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse& redirectResponse) = 0;
     145    virtual bool shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier) = 0;
     146    virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, ResourceLoaderIdentifier, const AuthenticationChallenge&) = 0;
    146147#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
    147     virtual bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long identifier, const ProtectionSpace&) = 0;
     148    virtual bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, ResourceLoaderIdentifier, const ProtectionSpace&) = 0;
    148149#endif
    149150
    150151#if PLATFORM(IOS_FAMILY)
    151     virtual RetainPtr<CFDictionaryRef> connectionProperties(DocumentLoader*, unsigned long identifier) = 0;
    152 #endif
    153 
    154     virtual void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&) = 0;
    155     virtual void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long identifier, int dataLength) = 0;
    156     virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier) = 0;
    157     virtual void dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&) = 0;
     152    virtual RetainPtr<CFDictionaryRef> connectionProperties(DocumentLoader*, ResourceLoaderIdentifier) = 0;
     153#endif
     154
     155    virtual void dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&) = 0;
     156    virtual void dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier, int dataLength) = 0;
     157    virtual void dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier) = 0;
     158    virtual void dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&) = 0;
    158159    virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length) = 0;
    159160
     
    299300    // Allow an accessibility object to retrieve a Frame parent if there's no PlatformWidget.
    300301    virtual RemoteAXObjectRef accessibilityRemoteObject() = 0;
    301     virtual void willCacheResponse(DocumentLoader*, unsigned long identifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const = 0;
     302    virtual void willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const = 0;
    302303    virtual NSDictionary *dataDetectionContext() { return nullptr; }
    303304#endif
     
    305306#if USE(CFURLCONNECTION)
    306307    // FIXME: Windows should use willCacheResponse - <https://bugs.webkit.org/show_bug.cgi?id=57257>.
    307     virtual bool shouldCacheResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const unsigned char* data, unsigned long long length) = 0;
     308    virtual bool shouldCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, const unsigned char* data, unsigned long long length) = 0;
    308309#endif
    309310
  • trunk/Source/WebCore/loader/LoaderStrategy.cpp

    r271946 r282712  
    4242}
    4343
    44 ResourceResponse LoaderStrategy::responseFromResourceLoadIdentifier(uint64_t /* resourceLoadIdentifier */)
     44ResourceResponse LoaderStrategy::responseFromResourceLoadIdentifier(ResourceLoaderIdentifier)
    4545{
    4646    return { };
    4747}
    4848
    49 NetworkLoadMetrics LoaderStrategy::networkMetricsFromResourceLoadIdentifier(uint64_t /* resourceLoadIdentifier */)
     49NetworkLoadMetrics LoaderStrategy::networkMetricsFromResourceLoadIdentifier(ResourceLoaderIdentifier)
    5050{
    5151    return { };
    5252}
    5353
    54 Vector<NetworkTransactionInformation> LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(uint64_t /* resourceLoadIdentifier */)
     54Vector<NetworkTransactionInformation> LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(ResourceLoaderIdentifier)
    5555{
    5656    return { };
  • trunk/Source/WebCore/loader/LoaderStrategy.h

    r277740 r282712  
    3030#include "PageIdentifier.h"
    3131#include "ResourceLoadPriority.h"
     32#include "ResourceLoaderIdentifier.h"
    3233#include "ResourceLoaderOptions.h"
    3334#include "StoredCredentialsPolicy.h"
     
    5960public:
    6061    virtual void loadResource(Frame&, CachedResource&, ResourceRequest&&, const ResourceLoaderOptions&, CompletionHandler<void(RefPtr<SubresourceLoader>&&)>&&) = 0;
    61     virtual void loadResourceSynchronously(FrameLoader&, unsigned long identifier, const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, Vector<uint8_t>& data) = 0;
     62    virtual void loadResourceSynchronously(FrameLoader&, ResourceLoaderIdentifier, const ResourceRequest&, ClientCredentialPolicy, const FetchOptions&, const HTTPHeaderMap&, ResourceError&, ResourceResponse&, Vector<uint8_t>& data) = 0;
    6263    virtual void pageLoadCompleted(Page&) = 0;
    6364    virtual void browsingContextRemoved(Frame&) = 0;
     
    8990    virtual bool havePerformedSecurityChecks(const ResourceResponse&) const { return false; }
    9091
    91     virtual ResourceResponse responseFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier);
    92     virtual Vector<NetworkTransactionInformation> intermediateLoadInformationFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier);
    93     virtual NetworkLoadMetrics networkMetricsFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier);
     92    virtual ResourceResponse responseFromResourceLoadIdentifier(ResourceLoaderIdentifier);
     93    virtual Vector<NetworkTransactionInformation> intermediateLoadInformationFromResourceLoadIdentifier(ResourceLoaderIdentifier);
     94    virtual NetworkLoadMetrics networkMetricsFromResourceLoadIdentifier(ResourceLoaderIdentifier);
    9495
    9596    virtual void isResourceLoadFinished(CachedResource&, CompletionHandler<void(bool)>&& callback) = 0;
    9697
    9798    // Used for testing only.
    98     virtual Vector<uint64_t> ongoingLoads() const { return { }; }
     99    virtual Vector<ResourceLoaderIdentifier> ongoingLoads() const { return { }; }
    99100
    100101protected:
  • trunk/Source/WebCore/loader/PingLoader.cpp

    r282604 r282712  
    201201void PingLoader::startPingLoad(Frame& frame, ResourceRequest& request, HTTPHeaderMap&& originalRequestHeaders, ShouldFollowRedirects shouldFollowRedirects, ContentSecurityPolicyImposition policyCheck, ReferrerPolicy referrerPolicy, std::optional<ViolationReportType> violationReportType)
    202202{
    203     unsigned long identifier = frame.page()->progress().createUniqueIdentifier();
     203    auto identifier = ResourceLoaderIdentifier::generate();
    204204    // FIXME: Why activeDocumentLoader? I would have expected documentLoader().
    205205    // It seems like the PingLoader should be associated with the current
  • trunk/Source/WebCore/loader/ProgressTracker.cpp

    r278779 r282712  
    184184}
    185185
    186 void ProgressTracker::incrementProgress(unsigned long identifier, const ResourceResponse& response)
     186void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    187187{
    188188    LOG(Progress, "Progress incremented (%p) - value %f, tracked frames %d, originating frame %p", this, m_progressValue, m_numProgressTrackedFrames, m_originatingProgressFrame.get());
     
    207207}
    208208
    209 void ProgressTracker::incrementProgress(unsigned long identifier, unsigned bytesReceived)
     209void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, unsigned bytesReceived)
    210210{
    211211    ProgressItem* item = m_progressItems.get(identifier);
     
    267267}
    268268
    269 void ProgressTracker::completeProgress(unsigned long identifier)
     269void ProgressTracker::completeProgress(ResourceLoaderIdentifier identifier)
    270270{
    271271    auto it = m_progressItems.find(identifier);
     
    286286unsigned long ProgressTracker::createUniqueIdentifier()
    287287{
     288    // FIXME: Use a strongly typed identifier for websockets and remove this.
    288289    return ++s_uniqueIdentifier;
    289290}
  • trunk/Source/WebCore/loader/ProgressTracker.h

    r278779 r282712  
    2626#pragma once
    2727
     28#include "ResourceLoaderIdentifier.h"
    2829#include "Timer.h"
    2930#include <wtf/Forward.h>
     
    5657    void progressCompleted(Frame&);
    5758
    58     void incrementProgress(unsigned long identifier, const ResourceResponse&);
    59     void incrementProgress(unsigned long identifier, unsigned bytesReceived);
    60     void completeProgress(unsigned long identifier);
     59    void incrementProgress(ResourceLoaderIdentifier, const ResourceResponse&);
     60    void incrementProgress(ResourceLoaderIdentifier, unsigned bytesReceived);
     61    void completeProgress(ResourceLoaderIdentifier);
    6162
    6263    long long totalPageAndResourceBytesToLoad() const { return m_totalPageAndResourceBytesToLoad; }
     
    7576    UniqueRef<ProgressTrackerClient> m_client;
    7677    RefPtr<Frame> m_originatingProgressFrame;
    77     HashMap<unsigned long, std::unique_ptr<ProgressItem>> m_progressItems;
     78    HashMap<ResourceLoaderIdentifier, std::unique_ptr<ProgressItem>> m_progressItems;
    7879    Timer m_progressHeartbeatTimer;
    7980
  • trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp

    r281777 r282712  
    5757}
    5858
    59 void ResourceLoadNotifier::didReceiveAuthenticationChallenge(unsigned long identifier, DocumentLoader* loader, const AuthenticationChallenge& currentWebChallenge)
     59void ResourceLoadNotifier::didReceiveAuthenticationChallenge(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const AuthenticationChallenge& currentWebChallenge)
    6060{
    6161    m_frame.loader().client().dispatchDidReceiveAuthenticationChallenge(loader, identifier, currentWebChallenge);
     
    108108}
    109109
    110 void ResourceLoadNotifier::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
     110void ResourceLoadNotifier::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request)
    111111{
    112112    bool pageIsProvisionallyLoading = false;
     
    120120}
    121121
    122 void ResourceLoadNotifier::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
     122void ResourceLoadNotifier::dispatchWillSendRequest(DocumentLoader* loader, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)
    123123{
    124124#if USE(QUICK_LOOK)
     
    151151}
    152152
    153 void ResourceLoadNotifier::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& r, ResourceLoader* resourceLoader)
     153void ResourceLoadNotifier::dispatchDidReceiveResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& r, ResourceLoader* resourceLoader)
    154154{
    155155    // Notifying the FrameLoaderClient may cause the frame to be destroyed.
     
    160160}
    161161
    162 void ResourceLoadNotifier::dispatchDidReceiveData(DocumentLoader* loader, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength)
     162void ResourceLoadNotifier::dispatchDidReceiveData(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength)
    163163{
    164164    // Notifying the FrameLoaderClient may cause the frame to be destroyed.
     
    169169}
    170170
    171 void ResourceLoadNotifier::dispatchDidFinishLoading(DocumentLoader* loader, unsigned long identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
     171void ResourceLoadNotifier::dispatchDidFinishLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)
    172172{
    173173    // Notifying the FrameLoaderClient may cause the frame to be destroyed.
     
    178178}
    179179
    180 void ResourceLoadNotifier::dispatchDidFailLoading(DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
     180void ResourceLoadNotifier::dispatchDidFailLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error)
    181181{
    182182    // Notifying the FrameLoaderClient may cause the frame to be destroyed.
     
    187187}
    188188
    189 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)
     189void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceRequest& request, const ResourceResponse& response, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError& error)
    190190{
    191191    // If the request is null, willSendRequest cancelled the load. We should
  • trunk/Source/WebCore/loader/ResourceLoadNotifier.h

    r278717 r282712  
    3030#pragma once
    3131
     32#include "ResourceLoaderIdentifier.h"
    3233#include <optional>
    3334#include <wtf/Noncopyable.h>
     
    5152
    5253    void didReceiveAuthenticationChallenge(ResourceLoader*, const AuthenticationChallenge&);
    53     void didReceiveAuthenticationChallenge(unsigned long identifier, DocumentLoader*, const AuthenticationChallenge&);
     54    void didReceiveAuthenticationChallenge(ResourceLoaderIdentifier, DocumentLoader*, const AuthenticationChallenge&);
    5455
    5556    void willSendRequest(ResourceLoader*, ResourceRequest&, const ResourceResponse& redirectResponse);
     
    5960    void didFailToLoad(ResourceLoader*, const ResourceError&);
    6061
    61     void assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&);
    62     void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
    63     void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&, ResourceLoader* = nullptr);
    64     void dispatchDidReceiveData(DocumentLoader*, unsigned long identifier, const uint8_t* data, int dataLength, int encodedDataLength);
    65     void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier, const NetworkLoadMetrics&, ResourceLoader*);
    66     void dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&);
     62    void assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&);
     63    void dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*);
     64    void dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, ResourceLoader* = nullptr);
     65    void dispatchDidReceiveData(DocumentLoader*, ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength);
     66    void dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier, const NetworkLoadMetrics&, ResourceLoader*);
     67    void dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&);
    6768
    68     void sendRemainingDelegateMessages(DocumentLoader*, unsigned long identifier, const ResourceRequest&, const ResourceResponse&, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError&);
     69    void sendRemainingDelegateMessages(DocumentLoader*, ResourceLoaderIdentifier, const ResourceRequest&, const ResourceResponse&, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError&);
    6970
    7071private:
    7172    Frame& m_frame;
    72     std::optional<unsigned long> m_initialRequestIdentifier;
     73    std::optional<ResourceLoaderIdentifier> m_initialRequestIdentifier;
    7374};
    7475
  • trunk/Source/WebCore/loader/ResourceLoader.cpp

    r282429 r282712  
    6868#define PAGE_ID ((frame() ? frame()->pageID().value_or(PageIdentifier()) : PageIdentifier()).toUInt64())
    6969#define FRAME_ID ((frame() ? frame()->frameID().value_or(FrameIdentifier()) : FrameIdentifier()).toUInt64())
    70 #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__)
     70#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__)
    7171
    7272namespace WebCore {
     
    117117    finishNetworkLoad();
    118118
    119     m_identifier = 0;
     119    m_identifier = { };
    120120
    121121    m_resourceData = nullptr;
     
    374374    bool createdResourceIdentifier = false;
    375375    if (!m_identifier) {
    376         m_identifier = m_frame->page()->progress().createUniqueIdentifier();
     376        m_identifier = ResourceLoaderIdentifier::generate();
    377377        createdResourceIdentifier = true;
    378378    }
  • trunk/Source/WebCore/loader/ResourceLoader.h

    r278779 r282712  
    3131#include "ResourceHandleClient.h"
    3232#include "ResourceLoadTiming.h"
     33#include "ResourceLoaderIdentifier.h"
    3334#include "ResourceLoaderOptions.h"
    3435#include "ResourceLoaderTypes.h"
     
    9192    bool defersLoading() const { return m_defersLoading; }
    9293
    93     unsigned long identifier() const { return m_identifier; }
     94    ResourceLoaderIdentifier identifier() const { return m_identifier; }
    9495
    9596    bool wasAuthenticationChallengeBlocked() const { return m_wasAuthenticationChallengeBlocked; }
     
    229230    RefPtr<SharedBuffer> m_resourceData;
    230231   
    231     unsigned long m_identifier { 0 };
     232    ResourceLoaderIdentifier m_identifier;
    232233
    233234    bool m_reachedTerminalState { false };
  • trunk/Source/WebCore/loader/SubresourceLoader.cpp

    r281125 r282712  
    7676#define SUBRESOURCELOADER_RELEASE_LOG_ERROR(fmt, ...) UNUSED_VARIABLE(this)
    7777#else
    78 #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__)
    79 #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__)
     78#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__)
     79#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__)
    8080#endif
    8181
     
    173173        ASSERT(!reachedTerminalState());
    174174        m_state = Initialized;
    175         m_documentLoader->addSubresourceLoader(this);
     175        m_documentLoader->addSubresourceLoader(*this);
    176176        m_origin = m_resource->origin();
    177177        completionHandler(true);
     
    211211
    212212        ResourceLoader::willSendRequestInternal(WTFMove(newRequest), redirectResponse, [this, protectedThis = WTFMove(protectedThis), completionHandler = WTFMove(completionHandler), redirectResponse] (ResourceRequest&& request) mutable {
    213             tracePoint(SubresourceLoadWillStart, identifier(), PAGE_ID, FRAME_ID);
     213            tracePoint(SubresourceLoadWillStart, identifier().toUInt64(), PAGE_ID, FRAME_ID);
    214214
    215215            if (reachedTerminalState()) {
     
    492492            // After the first multipart section is complete, signal to delegates that this load is "finished"
    493493            NetworkLoadMetrics emptyMetrics;
    494             m_documentLoader->subresourceLoaderFinishedLoadingOnePart(this);
     494            m_documentLoader->subresourceLoaderFinishedLoadingOnePart(*this);
    495495            didFinishLoadingOnePart(emptyMetrics);
    496496        }
     
    746746
    747747    if (m_resource->type() != CachedResource::Type::MainResource)
    748         tracePoint(SubresourceLoadDidEnd, identifier());
     748        tracePoint(SubresourceLoadDidEnd, identifier().toUInt64());
    749749
    750750    m_state = Finishing;
     
    792792
    793793    if (m_resource->type() != CachedResource::Type::MainResource)
    794         tracePoint(SubresourceLoadDidEnd, identifier());
     794        tracePoint(SubresourceLoadDidEnd, identifier().toUInt64());
    795795
    796796    if (m_resource->resourceToRevalidate())
     
    845845
    846846    if (m_resource->type() != CachedResource::Type::MainResource)
    847         tracePoint(SubresourceLoadDidEnd, identifier());
     847        tracePoint(SubresourceLoadDidEnd, identifier().toUInt64());
    848848
    849849    m_resource->cancelLoad();
  • trunk/Source/WebCore/loader/ThreadableLoaderClient.h

    r278516 r282712  
    3131#pragma once
    3232
     33#include "ResourceLoaderIdentifier.h"
     34
    3335namespace WebCore {
    3436
    35     class ResourceError;
    36     class ResourceResponse;
    37     class ResourceTiming;
     37class ResourceError;
     38class ResourceResponse;
     39class ResourceTiming;
    3840
    39     class ThreadableLoaderClient {
    40         WTF_MAKE_NONCOPYABLE(ThreadableLoaderClient); WTF_MAKE_FAST_ALLOCATED;
    41     public:
    42         virtual void didSendData(unsigned long long /*bytesSent*/, unsigned long long /*totalBytesToBeSent*/) { }
     41class ThreadableLoaderClient {
     42    WTF_MAKE_NONCOPYABLE(ThreadableLoaderClient); WTF_MAKE_FAST_ALLOCATED;
     43public:
     44    virtual void didSendData(unsigned long long /*bytesSent*/, unsigned long long /*totalBytesToBeSent*/) { }
    4345
    44         virtual void didReceiveResponse(unsigned long /*identifier*/, const ResourceResponse&) { }
    45         virtual void didReceiveData(const uint8_t*, int /*dataLength*/) { }
    46         virtual void didFinishLoading(unsigned long /*identifier*/) { }
    47         virtual void didFail(const ResourceError&) { }
    48         virtual void didFinishTiming(const ResourceTiming&) { }
    49         virtual void notifyIsDone(bool) { ASSERT_NOT_REACHED(); }
     46    virtual void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) { }
     47    virtual void didReceiveData(const uint8_t*, int /*dataLength*/) { }
     48    virtual void didFinishLoading(ResourceLoaderIdentifier) { }
     49    virtual void didFail(const ResourceError&) { }
     50    virtual void didFinishTiming(const ResourceTiming&) { }
     51    virtual void notifyIsDone(bool) { ASSERT_NOT_REACHED(); }
    5052
    51     protected:
    52         ThreadableLoaderClient() = default;
    53         virtual ~ThreadableLoaderClient() = default;
    54     };
     53protected:
     54    ThreadableLoaderClient() = default;
     55    virtual ~ThreadableLoaderClient() = default;
     56};
    5557
    5658} // namespace WebCore
  • trunk/Source/WebCore/loader/ThreadableLoaderClientWrapper.h

    r278516 r282712  
    6161    }
    6262
    63     void didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
     63    void didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    6464    {
    6565        if (m_client)
     
    7373    }
    7474
    75     void didFinishLoading(unsigned long identifier)
     75    void didFinishLoading(ResourceLoaderIdentifier identifier)
    7676    {
    7777        m_done = true;
     
    9393    }
    9494
    95     void didReceiveAuthenticationCancellation(unsigned long identifier, const ResourceResponse& response)
     95    void didReceiveAuthenticationCancellation(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    9696    {
    9797        if (m_client)
  • trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp

    r282305 r282712  
    114114    , m_loaderProxy(loaderProxy)
    115115    , m_taskMode(taskMode.isolatedCopy())
    116     , m_workerRequestIdentifier(globalScope.createUniqueIdentifier())
     116    , m_workerRequestIdentifier { ResourceLoaderIdentifier::generate() }
    117117{
    118118    auto* securityOrigin = globalScope.securityOrigin();
     
    221221}
    222222
    223 void WorkerThreadableLoader::MainThreadBridge::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
     223void WorkerThreadableLoader::MainThreadBridge::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    224224{
    225225    m_loaderProxy.postTaskForModeToWorkerOrWorkletGlobalScope([protectedWorkerClientWrapper = makeRef(*m_workerClientWrapper), workerRequestIdentifier = m_workerRequestIdentifier, identifier, responseData = response.crossThreadData()] (ScriptExecutionContext& context) mutable {
     
    243243}
    244244
    245 void WorkerThreadableLoader::MainThreadBridge::didFinishLoading(unsigned long identifier)
     245void WorkerThreadableLoader::MainThreadBridge::didFinishLoading(ResourceLoaderIdentifier identifier)
    246246{
    247247    m_loadingFinished = true;
  • trunk/Source/WebCore/loader/WorkerThreadableLoader.h

    r278516 r282712  
    3232
    3333#include "NetworkLoadMetrics.h"
     34#include "ResourceLoaderIdentifier.h"
    3435#include "ThreadableLoader.h"
    3536#include "ThreadableLoaderClient.h"
     
    3940namespace WebCore {
    4041
    41     class ContentSecurityPolicy;
    42     class DocumentThreadableLoader;
    43     class ResourceError;
    44     class ResourceRequest;
    45     class SecurityOrigin;
    46     class WorkerOrWorkletGlobalScope;
    47     class WorkerLoaderProxy;
     42class ContentSecurityPolicy;
     43class DocumentThreadableLoader;
     44class ResourceError;
     45class ResourceRequest;
     46class SecurityOrigin;
     47class WorkerOrWorkletGlobalScope;
     48class WorkerLoaderProxy;
    4849
    49     class WorkerThreadableLoader : public RefCounted<WorkerThreadableLoader>, public ThreadableLoader {
    50         WTF_MAKE_FAST_ALLOCATED;
     50class WorkerThreadableLoader : public RefCounted<WorkerThreadableLoader>, public ThreadableLoader {
     51    WTF_MAKE_FAST_ALLOCATED;
     52public:
     53    static void loadResourceSynchronously(WorkerOrWorkletGlobalScope&, ResourceRequest&&, ThreadableLoaderClient&, const ThreadableLoaderOptions&);
     54    static Ref<WorkerThreadableLoader> create(WorkerOrWorkletGlobalScope& WorkerOrWorkletGlobalScope, ThreadableLoaderClient& client, const String& taskMode, ResourceRequest&& request, const ThreadableLoaderOptions& options, const String& referrer)
     55    {
     56        return adoptRef(*new WorkerThreadableLoader(WorkerOrWorkletGlobalScope, client, taskMode, WTFMove(request), options, referrer));
     57    }
     58
     59    ~WorkerThreadableLoader();
     60
     61    void cancel() override;
     62
     63    bool done() const { return m_workerClientWrapper->done(); }
     64
     65    void notifyIsDone(bool isDone);
     66
     67    using RefCounted<WorkerThreadableLoader>::ref;
     68    using RefCounted<WorkerThreadableLoader>::deref;
     69
     70protected:
     71    void refThreadableLoader() override { ref(); }
     72    void derefThreadableLoader() override { deref(); }
     73
     74private:
     75    // Creates a loader on the main thread and bridges communication between
     76    // the main thread and the worker context's thread where WorkerThreadableLoader runs.
     77    //
     78    // Regarding the bridge and lifetimes of items used in callbacks, there are a few cases:
     79    //
     80    // all cases. All tasks posted from the worker context's thread are ok because
     81    //    the last task posted always is "mainThreadDestroy", so MainThreadBridge is
     82    //    around for all tasks that use it on the main thread.
     83    //
     84    // case 1. worker.terminate is called.
     85    //    In this case, no more tasks are posted from the worker object's thread to the worker
     86    //    context's thread -- WorkerOrWorkletGlobalScopeProxy implementation enforces this.
     87    //
     88    // case 2. xhr gets aborted and the worker context continues running.
     89    //    The ThreadableLoaderClientWrapper has the underlying client cleared, so no more calls
     90    //    go through it. All tasks posted from the worker object's thread to the worker context's
     91    //    thread contain the RefPtr<ThreadableLoaderClientWrapper> object, so the
     92    //    ThreadableLoaderClientWrapper instance is there until all tasks are executed.
     93    class MainThreadBridge : public ThreadableLoaderClient {
    5194    public:
    52         static void loadResourceSynchronously(WorkerOrWorkletGlobalScope&, ResourceRequest&&, ThreadableLoaderClient&, const ThreadableLoaderOptions&);
    53         static Ref<WorkerThreadableLoader> create(WorkerOrWorkletGlobalScope& WorkerOrWorkletGlobalScope, ThreadableLoaderClient& client, const String& taskMode, ResourceRequest&& request, const ThreadableLoaderOptions& options, const String& referrer)
    54         {
    55             return adoptRef(*new WorkerThreadableLoader(WorkerOrWorkletGlobalScope, client, taskMode, WTFMove(request), options, referrer));
    56         }
    57 
    58         ~WorkerThreadableLoader();
    59 
    60         void cancel() override;
    61 
    62         bool done() const { return m_workerClientWrapper->done(); }
    63 
    64         void notifyIsDone(bool isDone);
    65 
    66         using RefCounted<WorkerThreadableLoader>::ref;
    67         using RefCounted<WorkerThreadableLoader>::deref;
    68 
    69     protected:
    70         void refThreadableLoader() override { ref(); }
    71         void derefThreadableLoader() override { deref(); }
     95        // All executed on the worker context's thread.
     96        MainThreadBridge(ThreadableLoaderClientWrapper&, WorkerLoaderProxy&, const String& taskMode, ResourceRequest&&, const ThreadableLoaderOptions&, const String& outgoingReferrer, WorkerOrWorkletGlobalScope&);
     97        void cancel();
     98        void destroy();
     99        void computeIsDone();
    72100
    73101    private:
    74         // Creates a loader on the main thread and bridges communication between
    75         // the main thread and the worker context's thread where WorkerThreadableLoader runs.
    76         //
    77         // Regarding the bridge and lifetimes of items used in callbacks, there are a few cases:
    78         //
    79         // all cases. All tasks posted from the worker context's thread are ok because
    80         //    the last task posted always is "mainThreadDestroy", so MainThreadBridge is
    81         //    around for all tasks that use it on the main thread.
    82         //
    83         // case 1. worker.terminate is called.
    84         //    In this case, no more tasks are posted from the worker object's thread to the worker
    85         //    context's thread -- WorkerOrWorkletGlobalScopeProxy implementation enforces this.
    86         //
    87         // case 2. xhr gets aborted and the worker context continues running.
    88         //    The ThreadableLoaderClientWrapper has the underlying client cleared, so no more calls
    89         //    go through it.  All tasks posted from the worker object's thread to the worker context's
    90         //    thread contain the RefPtr<ThreadableLoaderClientWrapper> object, so the
    91         //    ThreadableLoaderClientWrapper instance is there until all tasks are executed.
    92         class MainThreadBridge : public ThreadableLoaderClient {
    93         public:
    94             // All executed on the worker context's thread.
    95             MainThreadBridge(ThreadableLoaderClientWrapper&, WorkerLoaderProxy&, const String& taskMode, ResourceRequest&&, const ThreadableLoaderOptions&, const String& outgoingReferrer, WorkerOrWorkletGlobalScope&);
    96             void cancel();
    97             void destroy();
    98             void computeIsDone();
     102        // Executed on the worker context's thread.
     103        void clearClientWrapper();
    99104
    100         private:
    101             // Executed on the worker context's thread.
    102             void clearClientWrapper();
     105        // All executed on the main thread.
     106        void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
     107        void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override;
     108        void didReceiveData(const uint8_t*, int dataLength) override;
     109        void didFinishLoading(ResourceLoaderIdentifier) override;
     110        void didFail(const ResourceError&) override;
     111        void didFinishTiming(const ResourceTiming&) override;
     112        void notifyIsDone(bool isDone) final;
    103113
    104             // All executed on the main thread.
    105             void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
    106             void didReceiveResponse(unsigned long identifier, const ResourceResponse&) override;
    107             void didReceiveData(const uint8_t*, int dataLength) override;
    108             void didFinishLoading(unsigned long identifier) override;
    109             void didFail(const ResourceError&) override;
    110             void didFinishTiming(const ResourceTiming&) override;
    111             void notifyIsDone(bool isDone) final;
     114        // Only to be used on the main thread.
     115        RefPtr<DocumentThreadableLoader> m_mainThreadLoader;
     116        bool m_loadingFinished { false };
    112117
    113             // Only to be used on the main thread.
    114             RefPtr<DocumentThreadableLoader> m_mainThreadLoader;
    115             bool m_loadingFinished { false };
     118        // ThreadableLoaderClientWrapper is to be used on the worker context thread.
     119        // The ref counting is done on either thread.
     120        RefPtr<ThreadableLoaderClientWrapper> m_workerClientWrapper;
    116121
    117             // ThreadableLoaderClientWrapper is to be used on the worker context thread.
    118             // The ref counting is done on either thread.
    119             RefPtr<ThreadableLoaderClientWrapper> m_workerClientWrapper;
     122        // May be used on either thread.
     123        WorkerLoaderProxy& m_loaderProxy;
    120124
    121             // May be used on either thread.
    122             WorkerLoaderProxy& m_loaderProxy;
    123 
    124             // For use on the main thread.
    125             String m_taskMode;
    126             unsigned long m_workerRequestIdentifier { 0 };
    127             NetworkLoadMetrics m_networkLoadMetrics;
    128         };
    129 
    130         WorkerThreadableLoader(WorkerOrWorkletGlobalScope&, ThreadableLoaderClient&, const String& taskMode, ResourceRequest&&, const ThreadableLoaderOptions&, const String& referrer);
    131 
    132         void computeIsDone() final;
    133 
    134         Ref<WorkerOrWorkletGlobalScope> m_WorkerOrWorkletGlobalScope;
    135         Ref<ThreadableLoaderClientWrapper> m_workerClientWrapper;
    136         MainThreadBridge& m_bridge;
     125        // For use on the main thread.
     126        String m_taskMode;
     127        ResourceLoaderIdentifier m_workerRequestIdentifier;
     128        NetworkLoadMetrics m_networkLoadMetrics;
    137129    };
    138130
     131    WorkerThreadableLoader(WorkerOrWorkletGlobalScope&, ThreadableLoaderClient&, const String& taskMode, ResourceRequest&&, const ThreadableLoaderOptions&, const String& referrer);
     132
     133    void computeIsDone() final;
     134
     135    Ref<WorkerOrWorkletGlobalScope> m_WorkerOrWorkletGlobalScope;
     136    Ref<ThreadableLoaderClientWrapper> m_workerClientWrapper;
     137    MainThreadBridge& m_bridge;
     138};
     139
    139140} // namespace WebCore
  • trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp

    r278717 r282712  
    438438    auto request = createRequest(URL { m_manifestURL }, m_newestCache ? m_newestCache->manifestResource() : nullptr);
    439439
    440     m_currentResourceIdentifier = m_frame->page()->progress().createUniqueIdentifier();
     440    m_currentResourceIdentifier = ResourceLoaderIdentifier::generate();
    441441    InspectorInstrumentation::willSendRequest(m_frame.get(), m_currentResourceIdentifier, m_frame->loader().documentLoader(), request, ResourceResponse { }, nullptr);
    442442
     
    899899    auto request = createRequest(URL { { }, firstPendingEntryURL }, m_newestCache ? m_newestCache->resourceForURL(firstPendingEntryURL) : nullptr);
    900900
    901     m_currentResourceIdentifier = m_frame->page()->progress().createUniqueIdentifier();
     901    m_currentResourceIdentifier = ResourceLoaderIdentifier::generate();
    902902    InspectorInstrumentation::willSendRequest(m_frame.get(), m_currentResourceIdentifier, m_frame->loader().documentLoader(), request, ResourceResponse { }, nullptr);
    903903
  • trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.h

    r269435 r282712  
    182182    RefPtr<ApplicationCacheResource> m_currentResource;
    183183    RefPtr<ApplicationCacheResourceLoader> m_entryLoader;
    184     unsigned long m_currentResourceIdentifier;
     184    ResourceLoaderIdentifier m_currentResourceIdentifier;
    185185
    186186    RefPtr<ApplicationCacheResource> m_manifestResource;
  • trunk/Source/WebCore/loader/cache/CachedRawResource.cpp

    r282241 r282712  
    4444CachedRawResource::CachedRawResource(CachedResourceRequest&& request, Type type, PAL::SessionID sessionID, const CookieJar* cookieJar)
    4545    : CachedResource(WTFMove(request), type, sessionID, cookieJar)
    46     , m_identifier(0)
    4746    , m_allowEncodedDataReplacement(true)
    4847{
  • trunk/Source/WebCore/loader/cache/CachedRawResource.h

    r278849 r282712  
    4040
    4141    // FIXME: This is exposed for the InspectorInstrumentation for preflights in DocumentThreadableLoader. It's also really lame.
    42     unsigned long identifier() const { return m_identifier; }
     42    ResourceLoaderIdentifier identifier() const { return m_identifier; }
    4343
    4444    void clear();
     
    7474#endif
    7575
    76     unsigned long m_identifier;
     76    ResourceLoaderIdentifier m_identifier;
    7777    bool m_allowEncodedDataReplacement;
    7878    bool m_inIncrementalDataNotify { false };
  • trunk/Source/WebCore/loader/cache/CachedResource.cpp

    r279085 r282712  
    266266        CachedResourceHandle<CachedResource> protectedThis(this);
    267267
    268         unsigned long identifier = frame.page()->progress().createUniqueIdentifier();
     268        auto identifier = ResourceLoaderIdentifier::generate();
    269269        InspectorInstrumentation::willSendRequestOfType(&frame, identifier, frameLoader.activeDocumentLoader(), request, InspectorInstrumentation::LoadType::Beacon);
    270270
  • trunk/Source/WebCore/loader/cache/CachedResource.h

    r281110 r282712  
    2727#include "ResourceError.h"
    2828#include "ResourceLoadPriority.h"
     29#include "ResourceLoaderIdentifier.h"
    2930#include "ResourceLoaderOptions.h"
    3031#include "ResourceRequest.h"
     
    287288#endif
    288289
    289     unsigned long identifierForLoadWithoutResourceLoader() const { return m_identifierForLoadWithoutResourceLoader; }
     290    ResourceLoaderIdentifier identifierForLoadWithoutResourceLoader() const { return m_identifierForLoadWithoutResourceLoader; }
    290291
    291292    void setOriginalRequest(std::unique_ptr<ResourceRequest>&& originalRequest) { m_originalRequest = WTFMove(originalRequest); }
     
    343344    RefPtr<const CookieJar> m_cookieJar;
    344345    WallTime m_responseTimestamp;
    345     unsigned long m_identifierForLoadWithoutResourceLoader { 0 };
     346    ResourceLoaderIdentifier m_identifierForLoadWithoutResourceLoader;
    346347
    347348    HashMap<CachedResourceClient*, std::unique_ptr<Callback>> m_clientsAwaitingCallback;
  • trunk/Source/WebCore/page/EventSource.cpp

    r278763 r282712  
    189189}
    190190
    191 void EventSource::didReceiveResponse(unsigned long, const ResourceResponse& response)
     191void EventSource::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
    192192{
    193193    ASSERT(m_state == CONNECTING);
     
    221221}
    222222
    223 void EventSource::didFinishLoading(unsigned long)
     223void EventSource::didFinishLoading(ResourceLoaderIdentifier)
    224224{
    225225    ASSERT(m_state == OPEN);
  • trunk/Source/WebCore/page/EventSource.h

    r278516 r282712  
    8484
    8585    // ThreadableLoaderClient
    86     void didReceiveResponse(unsigned long, const ResourceResponse&) final;
     86    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
    8787    void didReceiveData(const uint8_t*, int) final;
    88     void didFinishLoading(unsigned long) final;
     88    void didFinishLoading(ResourceLoaderIdentifier) final;
    8989    void didFail(const ResourceError&) final;
    9090
  • trunk/Source/WebCore/workers/Worker.cpp

    r282484 r282712  
    197197}
    198198
    199 void Worker::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
     199void Worker::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    200200{
    201201    const URL& responseURL = response.url();
  • trunk/Source/WebCore/workers/Worker.h

    r282484 r282712  
    8888    void notifyNetworkStateChange(bool isOnline);
    8989
    90     void didReceiveResponse(unsigned long identifier, const ResourceResponse&) final;
     90    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
    9191    void notifyFinished() final;
    9292
  • trunk/Source/WebCore/workers/WorkerFontLoadRequest.cpp

    r278516 r282712  
    106106}
    107107
    108 void WorkerFontLoadRequest::didReceiveResponse(unsigned long, const ResourceResponse& response)
     108void WorkerFontLoadRequest::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
    109109{
    110110    if (response.httpStatusCode() / 100 != 2 && response.httpStatusCode())
     
    123123}
    124124
    125 void WorkerFontLoadRequest::didFinishLoading(unsigned long)
     125void WorkerFontLoadRequest::didFinishLoading(ResourceLoaderIdentifier)
    126126{
    127127    m_isLoading = false;
  • trunk/Source/WebCore/workers/WorkerFontLoadRequest.h

    r278516 r282712  
    6161    bool isWorkerFontLoadRequest() const final { return true; }
    6262
    63     void didReceiveResponse(unsigned long identifier, const ResourceResponse&) final;
     63    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
    6464    void didReceiveData(const uint8_t* data, int dataLength) final;
    65     void didFinishLoading(unsigned long identifier) final;
     65    void didFinishLoading(ResourceLoaderIdentifier) final;
    6666    void didFail(const ResourceError&) final;
    6767
  • trunk/Source/WebCore/workers/WorkerOrWorkletGlobalScope.h

    r273203 r282712  
    5555    WorkerInspectorController& inspectorController() const { return *m_inspectorController; }
    5656
    57     unsigned long createUniqueIdentifier() { return m_uniqueIdentifier++; }
    58 
    5957    ScriptModuleLoader& moduleLoader() { return *m_moduleLoader; }
    6058
     
    10098    std::unique_ptr<EventLoopTaskGroup> m_defaultTaskGroup;
    10199    std::unique_ptr<WorkerInspectorController> m_inspectorController;
    102     unsigned long m_uniqueIdentifier { 1 };
    103100    bool m_isClosing { false };
    104101};
  • trunk/Source/WebCore/workers/WorkerScriptLoader.cpp

    r281935 r282712  
    179179}
    180180
    181 void WorkerScriptLoader::didReceiveResponse(unsigned long identifier, const ResourceResponse& response)
     181void WorkerScriptLoader::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    182182{
    183183    m_error = validateWorkerResponse(response, m_destination);
     
    222222}
    223223
    224 void WorkerScriptLoader::didFinishLoading(unsigned long identifier)
     224void WorkerScriptLoader::didFinishLoading(ResourceLoaderIdentifier identifier)
    225225{
    226226    if (m_failed) {
  • trunk/Source/WebCore/workers/WorkerScriptLoader.h

    r281935 r282712  
    7676    const String& responseMIMEType() const { return m_responseMIMEType; }
    7777    bool failed() const { return m_failed; }
    78     unsigned long identifier() const { return m_identifier; }
     78    ResourceLoaderIdentifier identifier() const { return m_identifier; }
    7979    const ResourceError& error() const { return m_error; }
    8080
    81     void didReceiveResponse(unsigned long identifier, const ResourceResponse&) override;
     81    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override;
    8282    void didReceiveData(const uint8_t* data, int dataLength) override;
    83     void didFinishLoading(unsigned long identifier) override;
     83    void didFinishLoading(ResourceLoaderIdentifier) override;
    8484    void didFail(const ResourceError&) override;
    8585
     
    111111    String m_referrerPolicy;
    112112    CrossOriginEmbedderPolicy m_crossOriginEmbedderPolicy;
    113     unsigned long m_identifier { 0 };
     113    ResourceLoaderIdentifier m_identifier;
    114114    bool m_failed { false };
    115115    bool m_finishing { false };
  • trunk/Source/WebCore/workers/WorkerScriptLoaderClient.h

    r230374 r282712  
    3333class WorkerScriptLoaderClient {
    3434public:
    35     virtual void didReceiveResponse(unsigned long identifier, const ResourceResponse&) = 0;
     35    virtual void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) = 0;
    3636    virtual void notifyFinished() = 0;
    3737
  • trunk/Source/WebCore/workers/service/ServiceWorkerJob.cpp

    r280953 r282712  
    141141}
    142142
    143 void ServiceWorkerJob::didReceiveResponse(unsigned long, const ResourceResponse& response)
     143void ServiceWorkerJob::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
    144144{
    145145    ASSERT(m_creationThread.ptr() == &Thread::current());
  • trunk/Source/WebCore/workers/service/ServiceWorkerJob.h

    r254087 r282712  
    7575private:
    7676    // WorkerScriptLoaderClient
    77     void didReceiveResponse(unsigned long identifier, const ResourceResponse&) final;
     77    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final;
    7878    void notifyFinished() final;
    7979
  • trunk/Source/WebCore/xml/XMLHttpRequest.cpp

    r280824 r282712  
    927927}
    928928
    929 void XMLHttpRequest::didFinishLoading(unsigned long)
     929void XMLHttpRequest::didFinishLoading(ResourceLoaderIdentifier)
    930930{
    931931    auto protectedThis = makeRef(*this);
     
    971971}
    972972
    973 void XMLHttpRequest::didReceiveResponse(unsigned long, const ResourceResponse& response)
     973void XMLHttpRequest::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response)
    974974{
    975975    m_response = response;
  • trunk/Source/WebCore/xml/XMLHttpRequest.h

    r280824 r282712  
    162162    // ThreadableLoaderClient
    163163    void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) override;
    164     void didReceiveResponse(unsigned long identifier, const ResourceResponse&) override;
     164    void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override;
    165165    void didReceiveData(const uint8_t* data, int dataLength) override;
    166     void didFinishLoading(unsigned long identifier) override;
     166    void didFinishLoading(ResourceLoaderIdentifier) override;
    167167    void didFail(const ResourceError&) override;
    168168    void notifyIsDone(bool) final;
  • trunk/Source/WebKit/ChangeLog

    r282711 r282712  
     12021-09-17  Alex Christensen  <achristensen@webkit.org>
     2
     3        Use ObjectIdentifier for ResourceLoader
     4        https://bugs.webkit.org/show_bug.cgi?id=230278
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     9        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
     10        (WebKit::NetworkConnectionToWebProcess::resolveBlobReferences):
     11        (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
     12        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
     13        (WebKit::NetworkConnectionToWebProcess::loadPing):
     14        (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
     15        (WebKit::NetworkConnectionToWebProcess::preconnectTo):
     16        (WebKit::NetworkConnectionToWebProcess::isResourceLoadFinished):
     17        (WebKit::NetworkConnectionToWebProcess::didFinishPreconnection):
     18        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
     19        (WebKit::NetworkConnectionToWebProcess::startTrackingResourceLoad):
     20        (WebKit::NetworkConnectionToWebProcess::stopTrackingResourceLoad):
     21        (WebKit::NetworkConnectionToWebProcess::findNetworkActivityTracker):
     22        (WebKit::NetworkConnectionToWebProcess::prioritizeResourceLoads):
     23        (WebKit::NetworkConnectionToWebProcess::takeNetworkResourceLoader):
     24        * NetworkProcess/NetworkConnectionToWebProcess.h:
     25        (WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationResponse):
     26        (WebKit::NetworkConnectionToWebProcess::getNetworkLoadIntermediateInformation):
     27        (WebKit::NetworkConnectionToWebProcess::takeNetworkLoadInformationMetrics):
     28        (WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformation):
     29        (WebKit::NetworkConnectionToWebProcess::addNetworkLoadInformationMetrics):
     30        (WebKit::NetworkConnectionToWebProcess::removeNetworkLoadInformation):
     31        (WebKit::NetworkConnectionToWebProcess::ResourceNetworkActivityTracker::ResourceNetworkActivityTracker):
     32        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
     33        * NetworkProcess/NetworkProcess.cpp:
     34        (WebKit::NetworkProcess::prepareLoadForWebProcessTransfer):
     35        * NetworkProcess/NetworkProcess.h:
     36        * NetworkProcess/NetworkProcess.messages.in:
     37        * NetworkProcess/NetworkResourceLoadMap.cpp:
     38        (WebKit::NetworkResourceLoadMap::add):
     39        (WebKit::NetworkResourceLoadMap::remove):
     40        (WebKit::NetworkResourceLoadMap::take):
     41        (WebKit::NetworkResourceLoadMap::get const):
     42        * NetworkProcess/NetworkResourceLoadMap.h:
     43        (WebKit::NetworkResourceLoadMap::contains const):
     44        * NetworkProcess/NetworkResourceLoadParameters.h:
     45        * NetworkProcess/NetworkResourceLoader.cpp:
     46        (WebKit::NetworkResourceLoader::transferToNewWebProcess):
     47        (WebKit::escapeIDForJSON):
     48        (WebKit::logBlockedCookieInformation):
     49        (WebKit::logCookieInformationInternal):
     50        (WebKit::NetworkResourceLoader::logCookieInformation):
     51        * NetworkProcess/NetworkResourceLoader.h:
     52        * Scripts/webkit/messages.py:
     53        (types_that_cannot_be_forward_declared):
     54        * Shared/URLSchemeTaskParameters.cpp:
     55        (WebKit::URLSchemeTaskParameters::decode):
     56        * Shared/URLSchemeTaskParameters.h:
     57        * UIProcess/Network/NetworkProcessProxy.cpp:
     58        (WebKit::NetworkProcessProxy::prepareLoadForWebProcessTransfer):
     59        * UIProcess/Network/NetworkProcessProxy.h:
     60        * UIProcess/ProvisionalPageProxy.cpp:
     61        (WebKit::ProvisionalPageProxy::decidePolicyForResponse):
     62        * UIProcess/ProvisionalPageProxy.h:
     63        * UIProcess/WebPageProxy.cpp:
     64        (WebKit::WebPageProxy::decidePolicyForResponse):
     65        (WebKit::WebPageProxy::decidePolicyForResponseShared):
     66        (WebKit::WebPageProxy::stopURLSchemeTask):
     67        * UIProcess/WebPageProxy.h:
     68        * UIProcess/WebPageProxy.messages.in:
     69        * UIProcess/WebURLSchemeHandler.cpp:
     70        (WebKit::WebURLSchemeHandler::startTask):
     71        (WebKit::WebURLSchemeHandler::processForTaskIdentifier const):
     72        (WebKit::WebURLSchemeHandler::stopAllTasksForPage):
     73        (WebKit::WebURLSchemeHandler::stopTask):
     74        (WebKit::WebURLSchemeHandler::removeTaskFromPageMap):
     75        * UIProcess/WebURLSchemeHandler.h:
     76        * UIProcess/WebURLSchemeTask.h:
     77        (WebKit::WebURLSchemeTask::identifier const):
     78        * WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h:
     79        (API::InjectedBundle::ResourceLoadClient::didInitiateLoadForResource):
     80        (API::InjectedBundle::ResourceLoadClient::willSendRequestForFrame):
     81        (API::InjectedBundle::ResourceLoadClient::didReceiveResponseForResource):
     82        (API::InjectedBundle::ResourceLoadClient::didReceiveContentLengthForResource):
     83        (API::InjectedBundle::ResourceLoadClient::didFinishLoadForResource):
     84        (API::InjectedBundle::ResourceLoadClient::didFailLoadForResource):
     85        (API::InjectedBundle::ResourceLoadClient::shouldCacheResponse):
     86        (API::InjectedBundle::ResourceLoadClient::shouldUseCredentialStorage):
     87        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
     88        (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
     89        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
     90        (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
     91        (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
     92        (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
     93        (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
     94        (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
     95        (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):
     96        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
     97        * WebProcess/Network/NetworkProcessConnection.cpp:
     98        (WebKit::NetworkProcessConnection::didReceiveMessage):
     99        (WebKit::NetworkProcessConnection::didFinishPingLoad):
     100        (WebKit::NetworkProcessConnection::didFinishPreconnection):
     101        * WebProcess/Network/NetworkProcessConnection.h:
     102        * WebProcess/Network/NetworkProcessConnection.messages.in:
     103        * WebProcess/Network/WebLoaderStrategy.cpp:
     104        (WebKit::WebLoaderStrategy::scheduleLoad):
     105        (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
     106        (WebKit::WebLoaderStrategy::remove):
     107        (WebKit::WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler):
     108        (WebKit::WebLoaderStrategy::loadResourceSynchronously):
     109        (WebKit::WebLoaderStrategy::startPingLoad):
     110        (WebKit::WebLoaderStrategy::didFinishPingLoad):
     111        (WebKit::WebLoaderStrategy::preconnectTo):
     112        (WebKit::WebLoaderStrategy::didFinishPreconnection):
     113        (WebKit::WebLoaderStrategy::responseFromResourceLoadIdentifier):
     114        (WebKit::WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier):
     115        (WebKit::WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier):
     116        (WebKit::WebLoaderStrategy::prioritizeResourceLoads):
     117        (WebKit::WebLoaderStrategy::generateLoadIdentifier): Deleted.
     118        * WebProcess/Network/WebLoaderStrategy.h:
     119        * WebProcess/Network/WebResourceInterceptController.cpp:
     120        (WebKit::WebResourceInterceptController::isIntercepting const):
     121        (WebKit::WebResourceInterceptController::beginInterceptingResponse):
     122        (WebKit::WebResourceInterceptController::continueResponse):
     123        (WebKit::WebResourceInterceptController::interceptedResponse):
     124        (WebKit::WebResourceInterceptController::defer):
     125        * WebProcess/Network/WebResourceInterceptController.h:
     126        * WebProcess/Network/WebResourceLoader.cpp:
     127        (WebKit::WebResourceLoader::messageSenderDestinationID const):
     128        (WebKit::WebResourceLoader::didReceiveResponse):
     129        * WebProcess/Network/WebResourceLoader.h:
     130        * WebProcess/Storage/WebSWContextManagerConnection.h:
     131        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
     132        (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
     133        (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
     134        (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
     135        (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
     136        (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
     137        (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
     138        (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
     139        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
     140        (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
     141        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
     142        (WebKit::WebFrameLoaderClient::willCacheResponse const):
     143        (WebKit::WebFrameLoaderClient::sendH2Ping):
     144        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
     145        * WebProcess/WebPage/WebFrame.cpp:
     146        (WebKit::WebFrame::convertMainResourceLoadToDownload):
     147        * WebProcess/WebPage/WebPage.cpp:
     148        (WebKit::WebPage::addConsoleMessage):
     149        (WebKit::WebPage::addResourceRequest):
     150        (WebKit::WebPage::removeResourceRequest):
     151        (WebKit::WebPage::urlSchemeTaskWillPerformRedirection):
     152        (WebKit::WebPage::urlSchemeTaskDidPerformRedirection):
     153        (WebKit::WebPage::urlSchemeTaskDidReceiveResponse):
     154        (WebKit::WebPage::urlSchemeTaskDidReceiveData):
     155        (WebKit::WebPage::urlSchemeTaskDidComplete):
     156        * WebProcess/WebPage/WebPage.h:
     157        (WebKit::WebPage::addConsoleMessage):
     158        * WebProcess/WebPage/WebPage.messages.in:
     159        * WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp:
     160        (WebKit::WebURLSchemeHandlerProxy::loadSynchronously):
     161        (WebKit::WebURLSchemeHandlerProxy::taskDidPerformRedirection):
     162        (WebKit::WebURLSchemeHandlerProxy::taskDidReceiveResponse):
     163        (WebKit::WebURLSchemeHandlerProxy::taskDidReceiveData):
     164        (WebKit::WebURLSchemeHandlerProxy::taskDidComplete):
     165        (WebKit::WebURLSchemeHandlerProxy::removeTask):
     166        * WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
     167        * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
     168        * WebProcess/WebPage/WebURLSchemeTaskProxy.h:
     169        (WebKit::WebURLSchemeTaskProxy::identifier const):
     170
    11712021-09-17  Kate Cheney  <katherine_cheney@apple.com>
    2172
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r282429 r282712  
    207207        RELEASE_ASSERT(RunLoop::isMain());
    208208        RELEASE_ASSERT(decoder.destinationID());
    209         if (auto* loader = m_networkResourceLoaders.get(decoder.destinationID()))
     209        if (auto* loader = m_networkResourceLoaders.get(makeObjectIdentifier<WebCore::ResourceLoader>(decoder.destinationID())))
    210210            loader->didReceiveNetworkResourceLoaderMessage(connection, decoder);
    211211        return;
     
    460460Vector<RefPtr<WebCore::BlobDataFileReference>> NetworkConnectionToWebProcess::resolveBlobReferences(const NetworkResourceLoadParameters& loadParameters)
    461461{
    462     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);
     462    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());
    463463
    464464    auto* session = networkSession();
     
    489489void NetworkConnectionToWebProcess::scheduleResourceLoad(NetworkResourceLoadParameters&& loadParameters, std::optional<NetworkResourceLoadIdentifier> existingLoaderToResume)
    490490{
    491     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());
     491    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());
    492492
    493493#if ENABLE(SERVICE_WORKER)
     
    533533void NetworkConnectionToWebProcess::performSynchronousLoad(NetworkResourceLoadParameters&& loadParameters, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply)
    534534{
    535     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);
     535    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());
    536536
    537537    auto identifier = loadParameters.identifier;
     
    555555void NetworkConnectionToWebProcess::loadPing(NetworkResourceLoadParameters&& loadParameters)
    556556{
    557     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);
     557    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());
    558558
    559559    auto completionHandler = [connection = m_connection, identifier = loadParameters.identifier] (const ResourceError& error, const ResourceResponse& response) {
     
    575575}
    576576
    577 void NetworkConnectionToWebProcess::removeLoadIdentifier(ResourceLoadIdentifier identifier)
     577void NetworkConnectionToWebProcess::removeLoadIdentifier(WebCore::ResourceLoaderIdentifier identifier)
    578578{
    579579    RELEASE_ASSERT(identifier);
     
    588588    // Abort the load now, as the WebProcess won't be able to respond to messages any more which might lead
    589589    // to leaked loader resources (connections, threads, etc).
    590     CONNECTION_RELEASE_LOG(Loading, "removeLoadIdentifier: Removing identifier %" PRIu64 " and aborting corresponding loader", identifier);
     590    CONNECTION_RELEASE_LOG(Loading, "removeLoadIdentifier: Removing identifier %" PRIu64 " and aborting corresponding loader", identifier.toUInt64());
    591591    loader->abort();
    592592    ASSERT(!m_networkResourceLoaders.contains(identifier));
     
    628628}
    629629
    630 void NetworkConnectionToWebProcess::preconnectTo(std::optional<uint64_t> preconnectionIdentifier, NetworkResourceLoadParameters&& loadParameters)
    631 {
    632     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);
     630void NetworkConnectionToWebProcess::preconnectTo(std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier, NetworkResourceLoadParameters&& loadParameters)
     631{
     632    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());
    633633
    634634    ASSERT(!loadParameters.request.httpBody());
     
    658658}
    659659
    660 void NetworkConnectionToWebProcess::isResourceLoadFinished(uint64_t loadIdentifier, CompletionHandler<void(bool)>&& callback)
     660void NetworkConnectionToWebProcess::isResourceLoadFinished(WebCore::ResourceLoaderIdentifier loadIdentifier, CompletionHandler<void(bool)>&& callback)
    661661{
    662662    callback(!m_networkResourceLoaders.contains(loadIdentifier));
    663663}
    664664
    665 void NetworkConnectionToWebProcess::didFinishPreconnection(uint64_t preconnectionIdentifier, const ResourceError& error)
     665void NetworkConnectionToWebProcess::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, const ResourceError& error)
    666666{
    667667    if (!m_connection->isValid())
     
    684684}
    685685
    686 void NetworkConnectionToWebProcess::convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response, std::optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
     686void NetworkConnectionToWebProcess::convertMainResourceLoadToDownload(std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response, std::optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
    687687{
    688688    RELEASE_ASSERT(RunLoop::isMain());
     
    694694    }
    695695
    696     NetworkResourceLoader* loader = m_networkResourceLoaders.get(mainResourceLoadIdentifier);
     696    NetworkResourceLoader* loader = m_networkResourceLoaders.get(*mainResourceLoadIdentifier);
    697697    if (!loader) {
    698698        // If we're trying to download a blob here loader can be null.
     
    10301030}
    10311031
    1032 std::optional<NetworkActivityTracker> NetworkConnectionToWebProcess::startTrackingResourceLoad(PageIdentifier pageID, ResourceLoadIdentifier resourceID, bool isTopResource)
     1032std::optional<NetworkActivityTracker> NetworkConnectionToWebProcess::startTrackingResourceLoad(PageIdentifier pageID, WebCore::ResourceLoaderIdentifier resourceID, bool isTopResource)
    10331033{
    10341034    if (m_sessionID.isEphemeral())
     
    10811081}
    10821082
    1083 void NetworkConnectionToWebProcess::stopTrackingResourceLoad(ResourceLoadIdentifier resourceID, NetworkActivityTracker::CompletionCode code)
     1083void NetworkConnectionToWebProcess::stopTrackingResourceLoad(WebCore::ResourceLoaderIdentifier resourceID, NetworkActivityTracker::CompletionCode code)
    10841084{
    10851085    auto itemIndex = findNetworkActivityTracker(resourceID);
     
    11181118}
    11191119
    1120 size_t NetworkConnectionToWebProcess::findNetworkActivityTracker(ResourceLoadIdentifier resourceID)
     1120size_t NetworkConnectionToWebProcess::findNetworkActivityTracker(WebCore::ResourceLoaderIdentifier resourceID)
    11211121{
    11221122    return m_networkActivityTrackers.findMatching([&](const auto& item) {
     
    12691269}
    12701270
    1271 void NetworkConnectionToWebProcess::prioritizeResourceLoads(Vector<ResourceLoadIdentifier> loadIdentifiers)
     1271void NetworkConnectionToWebProcess::prioritizeResourceLoads(const Vector<WebCore::ResourceLoaderIdentifier>& loadIdentifiers)
    12721272{
    12731273    auto* session = networkSession();
     
    12861286}
    12871287
    1288 RefPtr<NetworkResourceLoader> NetworkConnectionToWebProcess::takeNetworkResourceLoader(uint64_t resourceLoadIdentifier)
     1288RefPtr<NetworkResourceLoader> NetworkConnectionToWebProcess::takeNetworkResourceLoader(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier)
    12891289{
    12901290    if (!NetworkResourceLoadMap::MapType::isValidKey(resourceLoadIdentifier))
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h

    r282429 r282712  
    8888class WebSWServerConnection;
    8989class WebSWServerToContextConnection;
    90 typedef uint64_t ResourceLoadIdentifier;
    9190
    9291namespace NetworkCache {
     
    126125    void endSuspension();
    127126
    128     void getNetworkLoadInformationResponse(ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::ResourceResponse&)>&& completionHandler)
     127    void getNetworkLoadInformationResponse(WebCore::ResourceLoaderIdentifier identifier, CompletionHandler<void(const WebCore::ResourceResponse&)>&& completionHandler)
    129128    {
    130129        if (auto* info = m_networkLoadInformationByID.get(identifier))
     
    133132    }
    134133
    135     void getNetworkLoadIntermediateInformation(ResourceLoadIdentifier identifier, CompletionHandler<void(const Vector<WebCore::NetworkTransactionInformation>&)>&& completionHandler)
     134    void getNetworkLoadIntermediateInformation(WebCore::ResourceLoaderIdentifier identifier, CompletionHandler<void(const Vector<WebCore::NetworkTransactionInformation>&)>&& completionHandler)
    136135    {
    137136        if (auto* info = m_networkLoadInformationByID.get(identifier))
     
    140139    }
    141140
    142     void takeNetworkLoadInformationMetrics(ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::NetworkLoadMetrics&)>&& completionHandler)
     141    void takeNetworkLoadInformationMetrics(WebCore::ResourceLoaderIdentifier identifier, CompletionHandler<void(const WebCore::NetworkLoadMetrics&)>&& completionHandler)
    143142    {
    144143        if (auto info = m_networkLoadInformationByID.take(identifier))
     
    147146    }
    148147
    149     void addNetworkLoadInformation(ResourceLoadIdentifier identifier, WebCore::NetworkLoadInformation&& information)
     148    void addNetworkLoadInformation(WebCore::ResourceLoaderIdentifier identifier, WebCore::NetworkLoadInformation&& information)
    150149    {
    151150        ASSERT(!m_networkLoadInformationByID.contains(identifier));
     
    153152    }
    154153
    155     void addNetworkLoadInformationMetrics(ResourceLoadIdentifier identifier, const WebCore::NetworkLoadMetrics& metrics)
     154    void addNetworkLoadInformationMetrics(WebCore::ResourceLoaderIdentifier identifier, const WebCore::NetworkLoadMetrics& metrics)
    156155    {
    157156        ASSERT(m_networkLoadInformationByID.contains(identifier));
     
    161160    }
    162161
    163     void removeNetworkLoadInformation(ResourceLoadIdentifier identifier)
     162    void removeNetworkLoadInformation(WebCore::ResourceLoaderIdentifier identifier)
    164163    {
    165164        m_networkLoadInformationByID.remove(identifier);
    166165    }
    167166
    168     std::optional<NetworkActivityTracker> startTrackingResourceLoad(WebCore::PageIdentifier, ResourceLoadIdentifier resourceID, bool isTopResource);
    169     void stopTrackingResourceLoad(ResourceLoadIdentifier resourceID, NetworkActivityTracker::CompletionCode);
     167    std::optional<NetworkActivityTracker> startTrackingResourceLoad(WebCore::PageIdentifier, WebCore::ResourceLoaderIdentifier resourceID, bool isTopResource);
     168    void stopTrackingResourceLoad(WebCore::ResourceLoaderIdentifier resourceID, NetworkActivityTracker::CompletionCode);
    170169
    171170    Vector<RefPtr<WebCore::BlobDataFileReference>> resolveBlobReferences(const NetworkResourceLoadParameters&);
     
    188187
    189188    void broadcastConsoleMessage(JSC::MessageSource, JSC::MessageLevel, const String& message);
    190     RefPtr<NetworkResourceLoader> takeNetworkResourceLoader(uint64_t resourceLoadIdentifier);
     189    RefPtr<NetworkResourceLoader> takeNetworkResourceLoader(WebCore::ResourceLoaderIdentifier);
    191190
    192191private:
    193192    NetworkConnectionToWebProcess(NetworkProcess&, WebCore::ProcessIdentifier, PAL::SessionID, IPC::Connection::Identifier);
    194193
    195     void didFinishPreconnection(uint64_t preconnectionIdentifier, const WebCore::ResourceError&);
     194    void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, const WebCore::ResourceError&);
    196195    WebCore::NetworkStorageSession* storageSession();
    197196
     
    212211    void prefetchDNS(const String&);
    213212    void sendH2Ping(NetworkResourceLoadParameters&&, CompletionHandler<void(Expected<WTF::Seconds, WebCore::ResourceError>&&)>&&);
    214     void preconnectTo(std::optional<uint64_t> preconnectionIdentifier, NetworkResourceLoadParameters&&);
    215     void isResourceLoadFinished(uint64_t loadIdentifier, CompletionHandler<void(bool)>&&);
    216 
    217     void removeLoadIdentifier(ResourceLoadIdentifier);
     213    void preconnectTo(std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier, NetworkResourceLoadParameters&&);
     214    void isResourceLoadFinished(WebCore::ResourceLoaderIdentifier, CompletionHandler<void(bool)>&&);
     215
     216    void removeLoadIdentifier(WebCore::ResourceLoaderIdentifier);
    218217    void pageLoadCompleted(WebCore::PageIdentifier);
    219218    void browsingContextRemoved(WebPageProxyIdentifier, WebCore::PageIdentifier, WebCore::FrameIdentifier);
    220     void crossOriginRedirectReceived(ResourceLoadIdentifier, const URL& redirectURL);
     219    void crossOriginRedirectReceived(WebCore::ResourceLoaderIdentifier, const URL& redirectURL);
    221220    void startDownload(DownloadID, const WebCore::ResourceRequest&, std::optional<NavigatingToAppBoundDomain>, const String& suggestedName = { });
    222     void convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, std::optional<NavigatingToAppBoundDomain>);
     221    void convertMainResourceLoadToDownload(std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, std::optional<NavigatingToAppBoundDomain>);
    223222
    224223    void registerURLSchemesAsCORSEnabled(Vector<String>&& schemes);
     
    328327        }
    329328
    330         ResourceNetworkActivityTracker(WebCore::PageIdentifier pageID, ResourceLoadIdentifier resourceID)
     329        ResourceNetworkActivityTracker(WebCore::PageIdentifier pageID, WebCore::ResourceLoaderIdentifier resourceID)
    331330            : pageID { pageID }
    332331            , resourceID { resourceID }
     
    336335
    337336        WebCore::PageIdentifier pageID;
    338         ResourceLoadIdentifier resourceID { 0 };
     337        WebCore::ResourceLoaderIdentifier resourceID;
    339338        bool isRootActivity { false };
    340339        NetworkActivityTracker networkActivity;
     
    344343    void stopAllNetworkActivityTrackingForPage(WebCore::PageIdentifier);
    345344    size_t findRootNetworkActivity(WebCore::PageIdentifier);
    346     size_t findNetworkActivityTracker(ResourceLoadIdentifier resourceID);
     345    size_t findNetworkActivityTracker(WebCore::ResourceLoaderIdentifier resourceID);
    347346
    348347    void hasUploadStateChanged(bool);
    349348
    350349    void setResourceLoadSchedulingMode(WebCore::PageIdentifier, WebCore::LoadSchedulingMode);
    351     void prioritizeResourceLoads(Vector<ResourceLoadIdentifier>);
     350    void prioritizeResourceLoads(const Vector<WebCore::ResourceLoaderIdentifier>&);
    352351
    353352#if ENABLE(APPLE_PAY_REMOTE_UI)
     
    376375    Vector<ResourceNetworkActivityTracker> m_networkActivityTrackers;
    377376
    378     HashMap<ResourceLoadIdentifier, std::unique_ptr<WebCore::NetworkLoadInformation>> m_networkLoadInformationByID;
     377    HashMap<WebCore::ResourceLoaderIdentifier, std::unique_ptr<WebCore::NetworkLoadInformation>> m_networkLoadInformationByID;
    379378
    380379
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in

    r282429 r282712  
    2727    TestProcessIncomingSyncMessagesWhenWaitingForSyncReply(WebKit::WebPageProxyIdentifier pageID) -> (bool handled) Synchronous
    2828    LoadPing(WebKit::NetworkResourceLoadParameters resourceLoadParameters)
    29     RemoveLoadIdentifier(uint64_t resourceLoadIdentifier)
     29    RemoveLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier)
    3030    PageLoadCompleted(WebCore::PageIdentifier webPageID)
    3131    BrowsingContextRemoved(WebKit::WebPageProxyIdentifier webPageProxyID, WebCore::PageIdentifier webPageID, WebCore::FrameIdentifier webFrameID)
    3232    PrefetchDNS(String hostname)
    3333    SendH2Ping(WebKit::NetworkResourceLoadParameters parameters) -> (Expected<Seconds, WebCore::ResourceError> result) Async
    34     PreconnectTo(std::optional<uint64_t> preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters);
    35     IsResourceLoadFinished(uint64_t resourceLoadIdentifier) -> (bool isFinished) Async
     34    PreconnectTo(std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters);
     35    IsResourceLoadFinished(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (bool isFinished) Async
    3636
    3737    StartDownload(WebKit::DownloadID downloadID, WebCore::ResourceRequest request, enum:bool std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, String suggestedName)
    38     ConvertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, WebCore::ResourceResponse response, enum:bool std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
     38    ConvertMainResourceLoadToDownload(std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, WebCore::ResourceResponse response, enum:bool std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
    3939
    4040    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
     
    8080    ResetOriginAccessAllowLists();
    8181
    82     GetNetworkLoadInformationResponse(uint64_t resourceLoadIdentifier) -> (WebCore::ResourceResponse response) Synchronous
    83     GetNetworkLoadIntermediateInformation(uint64_t resourceLoadIdentifier) -> (Vector<WebCore::NetworkTransactionInformation> transactions) Synchronous
    84     TakeNetworkLoadInformationMetrics(uint64_t resourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) Synchronous
     82    GetNetworkLoadInformationResponse(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (WebCore::ResourceResponse response) Synchronous
     83    GetNetworkLoadIntermediateInformation(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (Vector<WebCore::NetworkTransactionInformation> transactions) Synchronous
     84    TakeNetworkLoadInformationMetrics(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) Synchronous
    8585
    8686#if ENABLE(SERVICE_WORKER)
     
    109109#endif
    110110    SetResourceLoadSchedulingMode(WebCore::PageIdentifier webPageID, enum:uint8_t WebCore::LoadSchedulingMode mode)
    111     PrioritizeResourceLoads(Vector<uint64_t> loadIdentifiers)
     111    PrioritizeResourceLoads(Vector<WebCore::ResourceLoaderIdentifier> loadIdentifiers)
    112112}
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp

    r282429 r282712  
    28422842#endif
    28432843
    2844 void NetworkProcess::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)
    2845 {
    2846     ASSERT(resourceLoadIdentifier);
     2844void NetworkProcess::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)
     2845{
     2846    if (!resourceLoadIdentifier) {
     2847        ASSERT_NOT_REACHED();
     2848        return completionHandler(std::nullopt);
     2849    }
    28472850    auto* connection = webProcessConnection(sourceProcessIdentifier);
    28482851    if (!connection)
     
    28532856        return completionHandler(std::nullopt);
    28542857
    2855     auto loader = connection->takeNetworkResourceLoader(resourceLoadIdentifier);
     2858    auto loader = connection->takeNetworkResourceLoader(*resourceLoadIdentifier);
    28562859    if (!loader)
    28572860        return completionHandler(std::nullopt);
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.h

    r282429 r282712  
    424424    void initializeNetworkProcess(NetworkProcessCreationParameters&&);
    425425    void createNetworkConnectionToWebProcess(WebCore::ProcessIdentifier, PAL::SessionID, CompletionHandler<void(std::optional<IPC::Attachment>&&, WebCore::HTTPCookieAcceptPolicy)>&&);
    426     void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);
     426    void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);
    427427
    428428    void fetchWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, OptionSet<WebsiteDataFetchOption>, CompletionHandler<void(WebsiteData&&)>&&);
  • trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in

    r282429 r282712  
    197197#endif
    198198
    199     PrepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier) -> (std::optional<WebKit::NetworkResourceLoadIdentifier> networkResourceLoadIdentifier) Async
     199    PrepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier) -> (std::optional<WebKit::NetworkResourceLoadIdentifier> networkResourceLoadIdentifier) Async
    200200
    201201    AddWebPageNetworkParameters(PAL::SessionID sessionID, WebKit::WebPageProxyIdentifier pageID, WebKit::WebPageNetworkParameters parameters)
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.cpp

    r266157 r282712  
    4040}
    4141
    42 NetworkResourceLoadMap::MapType::AddResult NetworkResourceLoadMap::add(ResourceLoadIdentifier identifier, Ref<NetworkResourceLoader>&& loader)
     42NetworkResourceLoadMap::MapType::AddResult NetworkResourceLoadMap::add(WebCore::ResourceLoaderIdentifier identifier, Ref<NetworkResourceLoader>&& loader)
    4343{
    4444    ASSERT(!m_loaders.contains(identifier));
     
    5050}
    5151
    52 bool NetworkResourceLoadMap::remove(ResourceLoadIdentifier identifier)
     52bool NetworkResourceLoadMap::remove(WebCore::ResourceLoaderIdentifier identifier)
    5353{
    5454    return !!take(identifier);
     
    6161}
    6262
    63 RefPtr<NetworkResourceLoader> NetworkResourceLoadMap::take(ResourceLoadIdentifier identifier)
     63RefPtr<NetworkResourceLoader> NetworkResourceLoadMap::take(WebCore::ResourceLoaderIdentifier identifier)
    6464{
    6565    auto loader = m_loaders.take(identifier);
     
    7373}
    7474
    75 NetworkResourceLoader* NetworkResourceLoadMap::get(ResourceLoadIdentifier identifier) const
     75NetworkResourceLoader* NetworkResourceLoadMap::get(WebCore::ResourceLoaderIdentifier identifier) const
    7676{
    7777    return m_loaders.get(identifier);
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h

    r276880 r282712  
    2626#pragma once
    2727
     28#include <WebCore/ResourceLoaderIdentifier.h>
    2829#include <wtf/Function.h>
    2930#include <wtf/HashMap.h>
     
    3839class NetworkConnectionToWebProcess;
    3940
    40 typedef uint64_t ResourceLoadIdentifier;
    41 
    4241class NetworkResourceLoadMap {
    4342public:
    44     typedef HashMap<ResourceLoadIdentifier, Ref<NetworkResourceLoader>> MapType;
     43    using MapType = HashMap<WebCore::ResourceLoaderIdentifier, Ref<NetworkResourceLoader>>;
    4544    NetworkResourceLoadMap(Function<void(bool hasUpload)>&&);
    4645    ~NetworkResourceLoadMap();
    4746
    4847    bool isEmpty() const { return m_loaders.isEmpty(); }
    49     bool contains(ResourceLoadIdentifier identifier) const { return m_loaders.contains(identifier); }
     48    bool contains(WebCore::ResourceLoaderIdentifier identifier) const { return m_loaders.contains(identifier); }
    5049    MapType::iterator begin() { return m_loaders.begin(); }
    5150    MapType::ValuesIteratorRange values() { return m_loaders.values(); }
    5251    void clear();
    5352
    54     MapType::AddResult add(ResourceLoadIdentifier, Ref<NetworkResourceLoader>&&);
    55     NetworkResourceLoader* get(ResourceLoadIdentifier) const;
    56     bool remove(ResourceLoadIdentifier);
    57     RefPtr<NetworkResourceLoader> take(ResourceLoadIdentifier);
     53    MapType::AddResult add(WebCore::ResourceLoaderIdentifier, Ref<NetworkResourceLoader>&&);
     54    NetworkResourceLoader* get(WebCore::ResourceLoaderIdentifier) const;
     55    bool remove(WebCore::ResourceLoaderIdentifier);
     56    RefPtr<NetworkResourceLoader> take(WebCore::ResourceLoaderIdentifier);
    5857
    5958    bool hasUpload() const { return m_hasUpload; }
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h

    r282003 r282712  
    3434#include <WebCore/CrossOriginEmbedderPolicy.h>
    3535#include <WebCore/FetchOptions.h>
     36#include <WebCore/ResourceLoaderIdentifier.h>
    3637#include <wtf/Seconds.h>
    3738
     
    4344namespace WebKit {
    4445
    45 typedef uint64_t ResourceLoadIdentifier;
    46 
    4746class NetworkResourceLoadParameters : public NetworkLoadParameters {
    4847public:
     
    5251    RefPtr<WebCore::SecurityOrigin> parentOrigin() const;
    5352
    54     mutable ResourceLoadIdentifier identifier { 0 };
     53    mutable WebCore::ResourceLoaderIdentifier identifier;
    5554    Vector<RefPtr<SandboxExtension>> requestBodySandboxExtensions; // Created automatically for the sender.
    5655    RefPtr<SandboxExtension> resourceSandboxExtension; // Created automatically for the sender.
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp

    r282604 r282712  
    6767#endif
    6868
    69 #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__)
    70 #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__)
     69#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__)
     70#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__)
    7171
    7272namespace WebKit {
     
    525525}
    526526
    527 void NetworkResourceLoader::transferToNewWebProcess(NetworkConnectionToWebProcess& newConnection, ResourceLoadIdentifier newCoreIdentifier)
     527void NetworkResourceLoader::transferToNewWebProcess(NetworkConnectionToWebProcess& newConnection, WebCore::ResourceLoaderIdentifier newCoreIdentifier)
    528528{
    529529    m_connection = newConnection;
     
    13971397}
    13981398
    1399 static String escapeIDForJSON(const std::optional<uint64_t>& value)
    1400 {
    1401     return value ? String::number(value.value()) : String("None"_s);
    1402 }
    1403 
    1404 static String escapeIDForJSON(const std::optional<FrameIdentifier>& value)
    1405 {
    1406     return value ? String::number(value->toUInt64()) : String("None"_s);
    1407 }
    1408 
    1409 static String escapeIDForJSON(const std::optional<PageIdentifier>& value)
     1399template<typename IdentifierType>
     1400static String escapeIDForJSON(const std::optional<ObjectIdentifier<IdentifierType>>& value)
    14101401{
    14111402    return value ? String::number(value->toUInt64()) : String("None"_s);
     
    14221413}
    14231414
    1424 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)
     1415static 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)
    14251416{
    14261417    ASSERT(NetworkResourceLoader::shouldLogCookieInformation(connection, networkStorageSession.sessionID()));
     
    14491440}
    14501441
    1451 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)
     1442static 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)
    14521443{
    14531444    ASSERT(NetworkResourceLoader::shouldLogCookieInformation(connection, networkStorageSession.sessionID()));
     
    15101501}
    15111502
    1512 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)
     1503void 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)
    15131504{
    15141505    ASSERT(shouldLogCookieInformation(connection, networkStorageSession.sessionID()));
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h

    r282604 r282712  
    8686    void abort();
    8787
    88     void transferToNewWebProcess(NetworkConnectionToWebProcess&, ResourceLoadIdentifier);
     88    void transferToNewWebProcess(NetworkConnectionToWebProcess&, WebCore::ResourceLoaderIdentifier);
    8989
    9090    // Message handlers.
     
    9898    NetworkConnectionToWebProcess& connectionToWebProcess() const { return m_connection; }
    9999    PAL::SessionID sessionID() const { return m_connection->sessionID(); }
    100     ResourceLoadIdentifier coreIdentifier() const { return m_parameters.identifier; }
     100    WebCore::ResourceLoaderIdentifier coreIdentifier() const { return m_parameters.identifier; }
    101101    WebCore::FrameIdentifier frameID() const { return m_parameters.webFrameID; }
    102102    WebCore::PageIdentifier pageID() const { return m_parameters.webPageID; }
     
    133133#if ENABLE(INTELLIGENT_TRACKING_PREVENTION) && !RELEASE_LOG_DISABLED
    134134    static bool shouldLogCookieInformation(NetworkConnectionToWebProcess&, PAL::SessionID);
    135     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);
     135    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>);
    136136#endif
    137137
     
    154154    // IPC::MessageSender
    155155    IPC::Connection* messageSenderConnection() const override;
    156     uint64_t messageSenderDestinationID() const override { return m_parameters.identifier; }
     156    uint64_t messageSenderDestinationID() const override { return m_parameters.identifier.toUInt64(); }
    157157
    158158    bool canUseCache(const WebCore::ResourceRequest&) const;
  • trunk/Source/WebKit/Scripts/webkit/messages.py

    r282604 r282712  
    298298        'WebCore::RenderingMode',
    299299        'WebCore::RenderingResourceIdentifier',
     300        'WebCore::ResourceLoaderIdentifier',
    300301        'WebCore::SWServerConnectionIdentifier',
    301302        'WebCore::ServiceWorkerIdentifier',
  • trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp

    r278253 r282712  
    5353        return std::nullopt;
    5454   
    55     std::optional<uint64_t> taskIdentifier;
     55    std::optional<WebCore::ResourceLoaderIdentifier> taskIdentifier;
    5656    decoder >> taskIdentifier;
    5757    if (!taskIdentifier)
  • trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h

    r278253 r282712  
    2727
    2828#include "FrameInfoData.h"
     29#include <WebCore/ResourceLoaderIdentifier.h>
    2930#include <WebCore/ResourceRequest.h>
    3031
     
    3839struct URLSchemeTaskParameters {
    3940    uint64_t handlerIdentifier { 0 };
    40     uint64_t taskIdentifier { 0 };
     41    WebCore::ResourceLoaderIdentifier taskIdentifier;
    4142    WebCore::ResourceRequest request;
    4243    FrameInfoData frameInfo;
  • trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp

    r282269 r282712  
    6161#include "WebsiteDataType.h"
    6262#include <JavaScriptCore/RemoteInspector.h>
     63#include <WebCore/ResourceLoaderIdentifier.h>
    6364#include <glib/gi18n-lib.h>
    6465#include <libintl.h>
     
    195196    void* m_userData { nullptr };
    196197    GDestroyNotify m_destroyNotify { nullptr };
    197     HashMap<uint64_t, GRefPtr<WebKitURISchemeRequest>> m_requests;
     198    HashMap<WebCore::ResourceLoaderIdentifier, GRefPtr<WebKitURISchemeRequest>> m_requests;
    198199};
    199200
    200201typedef HashMap<String, RefPtr<WebKitURISchemeHandler> > URISchemeHandlerMap;
    201 typedef HashMap<uint64_t, GRefPtr<WebKitURISchemeRequest> > URISchemeRequestMap;
    202202
    203203class WebKitAutomationClient;
  • trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp

    r282429 r282712  
    477477}
    478478
    479 void NetworkProcessProxy::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)
    480 {
    481     RELEASE_LOG(ProcessSwapping, "%p - NetworkProcessProxy::prepareLoadForWebProcessTransfer: sourceProcessIdentifier: %" PRIu64 ", resourceLoadIdentifier: %" PRIu64, this, sourceProcessIdentifier.toUInt64(), resourceLoadIdentifier);
     479void NetworkProcessProxy::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)
     480{
     481    RELEASE_LOG(ProcessSwapping, "%p - NetworkProcessProxy::prepareLoadForWebProcessTransfer: sourceProcessIdentifier: %" PRIu64 ", resourceLoadIdentifier: %" PRIu64, this, sourceProcessIdentifier.toUInt64(), resourceLoadIdentifier ? resourceLoadIdentifier->toUInt64() : 0);
    482482    if (!resourceLoadIdentifier) {
    483483        completionHandler({ });
  • trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h

    r282429 r282712  
    215215    void terminateUnresponsiveServiceWorkerProcesses(WebCore::ProcessIdentifier);
    216216
    217     void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);
     217    void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier>, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);
    218218
    219219    ProcessThrottler& throttler() final { return m_throttler; }
  • trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp

    r282115 r282712  
    334334}
    335335
    336 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)
     336void 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)
    337337{
    338338    if (!validateInput(frameID, navigationID))
  • trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h

    r281832 r282712  
    126126
    127127    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);
    128     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&);
     128    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&);
    129129    void didChangeProvisionalURLForFrame(WebCore::FrameIdentifier, uint64_t navigationID, URL&&);
    130130    void didPerformServerRedirect(const String& sourceURLString, const String& destinationURLString, WebCore::FrameIdentifier);
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r282611 r282712  
    56315631void WebPageProxy::decidePolicyForResponse(FrameIdentifier frameID, FrameInfoData&& frameInfo, PolicyCheckIdentifier identifier,
    56325632    uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, const String& downloadAttribute,
    5633     bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, uint64_t mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)
     5633    bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)
    56345634{
    56355635    decidePolicyForResponseShared(m_process.copyRef(), m_webPageID, frameID, WTFMove(frameInfo), identifier, navigationID, response, request, canShowMIMEType, downloadAttribute, wasAllowedByInjectedBundle, browsingContextGroupSwitchDecision, mainResourceLoadIdentifier, listenerID, userData);
    56365636}
    56375637
    5638 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)
     5638void 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)
    56395639{
    56405640    PageClientProtector protector(pageClient());
     
    1000310003}
    1000410004
    10005 void WebPageProxy::stopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier)
     10005void WebPageProxy::stopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier)
    1000610006{
    1000710007    MESSAGE_CHECK(m_process, decltype(m_urlSchemeHandlersByIdentifier)::isValidKey(handlerIdentifier));
  • trunk/Source/WebKit/UIProcess/WebPageProxy.h

    r282567 r282712  
    17461746    void didChangeProvisionalURLForFrameShared(Ref<WebProcessProxy>&&, WebCore::FrameIdentifier, uint64_t navigationID, URL&&);
    17471747    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);
    1748     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&);
     1748    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&);
    17491749    void startURLSchemeTaskShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, URLSchemeTaskParameters&&);
    17501750    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);
     
    20642064        WebCore::ResourceRequest&&, const String& frameName, uint64_t listenerID, const UserData&);
    20652065    void decidePolicyForResponse(WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID,
    2066         const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, const String& downloadAttribute, bool wasAllowedByInjectedBundle, WebCore::BrowsingContextGroupSwitchDecision, uint64_t mainResourceLoadIdentifier, uint64_t listenerID, const UserData&);
     2066        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&);
    20672067    void unableToImplementPolicy(WebCore::FrameIdentifier, const WebCore::ResourceError&, const UserData&);
    20682068    void beginSafeBrowsingCheck(const URL&, bool, WebFramePolicyListenerProxy&);
     
    24282428
    24292429    void startURLSchemeTask(URLSchemeTaskParameters&&);
    2430     void stopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier);
     2430    void stopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier);
    24312431    void loadSynchronousURLSchemeTask(URLSchemeTaskParameters&&, Messages::WebPageProxy::LoadSynchronousURLSchemeTaskDelayedReply&&);
    24322432
  • trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in

    r282567 r282712  
    108108
    109109    # Policy messages
    110     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)
     110    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)
    111111    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)
    112112    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
     
    522522
    523523    StartURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters)
    524     StopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier)
     524    StopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier)
    525525    LoadSynchronousURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters) -> (WebCore::ResourceResponse response, WebCore::ResourceError error, Vector<uint8_t> data) Synchronous
    526526
  • trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp

    r271263 r282712  
    5656    ASSERT(result.isNewEntry);
    5757
    58     auto pageEntry = m_tasksByPageIdentifier.add(page.identifier(), HashSet<uint64_t>());
     58    auto pageEntry = m_tasksByPageIdentifier.add(page.identifier(), HashSet<WebCore::ResourceLoaderIdentifier>());
    5959    ASSERT(!pageEntry.iterator->value.contains(taskIdentifier));
    6060    pageEntry.iterator->value.add(taskIdentifier);
     
    6363}
    6464
    65 WebProcessProxy* WebURLSchemeHandler::processForTaskIdentifier(uint64_t taskIdentifier) const
     65WebProcessProxy* WebURLSchemeHandler::processForTaskIdentifier(WebCore::ResourceLoaderIdentifier taskIdentifier) const
    6666{
    6767    if (!decltype(m_tasks)::isValidKey(taskIdentifier))
     
    8080
    8181    auto& tasksByPage = iterator->value;
    82     Vector<uint64_t> taskIdentifiersToStop;
     82    Vector<WebCore::ResourceLoaderIdentifier> taskIdentifiersToStop;
    8383    taskIdentifiersToStop.reserveInitialCapacity(tasksByPage.size());
    8484    for (auto taskIdentifier : tasksByPage) {
     
    9292}
    9393
    94 void WebURLSchemeHandler::stopTask(WebPageProxy& page, uint64_t taskIdentifier)
     94void WebURLSchemeHandler::stopTask(WebPageProxy& page, WebCore::ResourceLoaderIdentifier taskIdentifier)
    9595{
    9696    if (!decltype(m_tasks)::isValidKey(taskIdentifier))
     
    116116}
    117117
    118 void WebURLSchemeHandler::removeTaskFromPageMap(WebPageProxyIdentifier pageID, uint64_t taskID)
     118void WebURLSchemeHandler::removeTaskFromPageMap(WebPageProxyIdentifier pageID, WebCore::ResourceLoaderIdentifier taskID)
    119119{
    120120    auto iterator = m_tasksByPageIdentifier.find(pageID);
  • trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h

    r277740 r282712  
    2727
    2828#include "WebURLSchemeTask.h"
     29#include <WebCore/ResourceLoaderIdentifier.h>
    2930#include <wtf/HashMap.h>
    3031#include <wtf/HashSet.h>
     
    5253
    5354    void startTask(WebPageProxy&, WebProcessProxy&, WebCore::PageIdentifier, URLSchemeTaskParameters&&, SyncLoadCompletionHandler&&);
    54     void stopTask(WebPageProxy&, uint64_t taskIdentifier);
     55    void stopTask(WebPageProxy&, WebCore::ResourceLoaderIdentifier taskIdentifier);
    5556    void stopAllTasksForPage(WebPageProxy&, WebProcessProxy*);
    5657    void taskCompleted(WebURLSchemeTask&);
     
    6465    virtual void platformTaskCompleted(WebURLSchemeTask&) { };
    6566
    66     void removeTaskFromPageMap(WebPageProxyIdentifier, uint64_t taskID);
    67     WebProcessProxy* processForTaskIdentifier(uint64_t) const;
     67    void removeTaskFromPageMap(WebPageProxyIdentifier, WebCore::ResourceLoaderIdentifier);
     68    WebProcessProxy* processForTaskIdentifier(WebCore::ResourceLoaderIdentifier) const;
    6869
    6970    uint64_t m_identifier;
    7071
    71     HashMap<uint64_t, Ref<WebURLSchemeTask>> m_tasks;
    72     HashMap<WebPageProxyIdentifier, HashSet<uint64_t>> m_tasksByPageIdentifier;
     72    HashMap<WebCore::ResourceLoaderIdentifier, Ref<WebURLSchemeTask>> m_tasks;
     73    HashMap<WebPageProxyIdentifier, HashSet<WebCore::ResourceLoaderIdentifier>> m_tasksByPageIdentifier;
    7374   
    7475    SyncLoadCompletionHandler m_syncLoadCompletionHandler;
  • trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h

    r277958 r282712  
    6262    ~WebURLSchemeTask();
    6363
    64     uint64_t identifier() const { ASSERT(RunLoop::isMain()); return m_identifier; }
     64    WebCore::ResourceLoaderIdentifier identifier() const { ASSERT(RunLoop::isMain()); return m_identifier; }
    6565    WebPageProxyIdentifier pageProxyID() const { ASSERT(RunLoop::isMain()); return m_pageProxyID; }
    6666    WebCore::PageIdentifier webPageID() const { ASSERT(RunLoop::isMain()); return m_webPageID; }
     
    102102    Ref<WebURLSchemeHandler> m_urlSchemeHandler;
    103103    RefPtr<WebProcessProxy> m_process;
    104     uint64_t m_identifier;
     104    WebCore::ResourceLoaderIdentifier m_identifier;
    105105    WebPageProxyIdentifier m_pageProxyID;
    106106    WebCore::PageIdentifier m_webPageID;
  • trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h

    r241183 r282712  
    2626#pragma once
    2727
     28#include <WebCore/ResourceLoaderIdentifier.h>
     29
    2830namespace WebKit {
    2931class WebFrame;
     
    4648    virtual ~ResourceLoadClient() = default;
    4749
    48     virtual void didInitiateLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, const WebCore::ResourceRequest&, bool /*pageIsProvisionallyLoading*/) { }
    49     virtual void willSendRequestForFrame(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) { }
    50     virtual void didReceiveResponseForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, const WebCore::ResourceResponse&) { }
    51     virtual void didReceiveContentLengthForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, uint64_t contentLength) { }
    52     virtual void didFinishLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/) { }
    53     virtual void didFailLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/, const WebCore::ResourceError&) { }
    54     virtual bool shouldCacheResponse(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/) { return true; }
    55     virtual bool shouldUseCredentialStorage(WebKit::WebPage&, WebKit::WebFrame&, uint64_t /*identifier*/) { return true; }
     50    virtual void didInitiateLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&, bool /*pageIsProvisionallyLoading*/) { }
     51    virtual void willSendRequestForFrame(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) { }
     52    virtual void didReceiveResponseForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) { }
     53    virtual void didReceiveContentLengthForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, uint64_t contentLength) { }
     54    virtual void didFinishLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier) { }
     55    virtual void didFailLoadForResource(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) { }
     56    virtual bool shouldCacheResponse(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier) { return true; }
     57    virtual bool shouldUseCredentialStorage(WebKit::WebPage&, WebKit::WebFrame&, WebCore::ResourceLoaderIdentifier) { return true; }
    5658};
    5759
  • trunk/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp

    r278548 r282712  
    240240
    241241private:
    242     void didInitiateLoadForResource(WebPage& page, WebFrame& frame, uint64_t identifier, const ResourceRequest& request, bool) override
     242    void didInitiateLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request, bool) override
    243243    {
    244244        API::Dictionary::MapType message;
    245245        message.set(String::fromUTF8("Page"), &page);
    246246        message.set(String::fromUTF8("Frame"), &frame);
    247         message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
     247        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
    248248        message.set(String::fromUTF8("Request"), API::URLRequest::create(request));
    249249        WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidInitiateLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr());
    250250    }
    251251
    252     void willSendRequestForFrame(WebPage& page, WebFrame&, uint64_t identifier, ResourceRequest& resourceRequest, const ResourceResponse& redirectResourceResponse) override
     252    void willSendRequestForFrame(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, ResourceRequest& resourceRequest, const ResourceResponse& redirectResourceResponse) override
    253253    {
    254254        GRefPtr<WebKitURIRequest> request = adoptGRef(webkitURIRequestCreateForResourceRequest(resourceRequest));
     
    266266        API::Dictionary::MapType message;
    267267        message.set(String::fromUTF8("Page"), &page);
    268         message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
     268        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
    269269        message.set(String::fromUTF8("Request"), API::URLRequest::create(resourceRequest));
    270270        if (!redirectResourceResponse.isNull())
     
    273273    }
    274274
    275     void didReceiveResponseForResource(WebPage& page, WebFrame&, uint64_t identifier, const ResourceResponse& response) override
     275    void didReceiveResponseForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, const ResourceResponse& response) override
    276276    {
    277277        API::Dictionary::MapType message;
    278278        message.set(String::fromUTF8("Page"), &page);
    279         message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
     279        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
    280280        message.set(String::fromUTF8("Response"), API::URLResponse::create(response));
    281281        WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidReceiveResponseForResource"), API::Dictionary::create(WTFMove(message)).ptr());
     
    288288    }
    289289
    290     void didReceiveContentLengthForResource(WebPage& page, WebFrame&, uint64_t identifier, uint64_t contentLength) override
     290    void didReceiveContentLengthForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, uint64_t contentLength) override
    291291    {
    292292        API::Dictionary::MapType message;
    293293        message.set(String::fromUTF8("Page"), &page);
    294         message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
     294        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
    295295        message.set(String::fromUTF8("ContentLength"), API::UInt64::create(contentLength));
    296296        WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidReceiveContentLengthForResource"), API::Dictionary::create(WTFMove(message)).ptr());
    297297    }
    298298
    299     void didFinishLoadForResource(WebPage& page, WebFrame&, uint64_t identifier) override
     299    void didFinishLoadForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier) override
    300300    {
    301301        API::Dictionary::MapType message;
    302302        message.set(String::fromUTF8("Page"), &page);
    303         message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
     303        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
    304304        WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidFinishLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr());
    305305    }
    306306
    307     void didFailLoadForResource(WebPage& page, WebFrame&, uint64_t identifier, const ResourceError& error) override
     307    void didFailLoadForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, const ResourceError& error) override
    308308    {
    309309        API::Dictionary::MapType message;
    310310        message.set(String::fromUTF8("Page"), &page);
    311         message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier));
     311        message.set(String::fromUTF8("Identifier"), API::UInt64::create(identifier.toUInt64()));
    312312        message.set(String::fromUTF8("Error"), API::Error::create(error));
    313313        WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidFailLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr());
  • trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp

    r235205 r282712  
    4040}
    4141
    42 void InjectedBundlePageResourceLoadClient::didInitiateLoadForResource(WebPage& page, WebFrame& frame, uint64_t identifier, const ResourceRequest& request, bool pageIsProvisionallyLoading)
     42void InjectedBundlePageResourceLoadClient::didInitiateLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request, bool pageIsProvisionallyLoading)
    4343{
    4444    if (!m_client.didInitiateLoadForResource)
    4545        return;
    4646
    47     m_client.didInitiateLoadForResource(toAPI(&page), toAPI(&frame), identifier, toAPI(request), pageIsProvisionallyLoading, m_client.base.clientInfo);
     47    m_client.didInitiateLoadForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), toAPI(request), pageIsProvisionallyLoading, m_client.base.clientInfo);
    4848}
    4949
    50 void InjectedBundlePageResourceLoadClient::willSendRequestForFrame(WebPage& page, WebFrame& frame, uint64_t identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
     50void InjectedBundlePageResourceLoadClient::willSendRequestForFrame(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
    5151{
    5252    if (!m_client.willSendRequestForFrame)
    5353        return;
    5454
    55     RefPtr<API::URLRequest> returnedRequest = adoptRef(toImpl(m_client.willSendRequestForFrame(toAPI(&page), toAPI(&frame), identifier, toAPI(request), toAPI(redirectResponse), m_client.base.clientInfo)));
     55    RefPtr<API::URLRequest> returnedRequest = adoptRef(toImpl(m_client.willSendRequestForFrame(toAPI(&page), toAPI(&frame), identifier.toUInt64(), toAPI(request), toAPI(redirectResponse), m_client.base.clientInfo)));
    5656    if (returnedRequest) {
    5757        // If the client returned an HTTP body, we want to use that http body. This is needed to fix <rdar://problem/23763584>
     
    6565}
    6666
    67 void InjectedBundlePageResourceLoadClient::didReceiveResponseForResource(WebPage& page, WebFrame& frame, uint64_t identifier, const ResourceResponse& response)
     67void InjectedBundlePageResourceLoadClient::didReceiveResponseForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    6868{
    6969    if (!m_client.didReceiveResponseForResource)
    7070        return;
    7171
    72     m_client.didReceiveResponseForResource(toAPI(&page), toAPI(&frame), identifier, toAPI(response), m_client.base.clientInfo);
     72    m_client.didReceiveResponseForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), toAPI(response), m_client.base.clientInfo);
    7373}
    7474
    75 void InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource(WebPage& page, WebFrame& frame, uint64_t identifier, uint64_t contentLength)
     75void InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, uint64_t contentLength)
    7676{
    7777    if (!m_client.didReceiveContentLengthForResource)
    7878        return;
    7979
    80     m_client.didReceiveContentLengthForResource(toAPI(&page), toAPI(&frame), identifier, contentLength, m_client.base.clientInfo);
     80    m_client.didReceiveContentLengthForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), contentLength, m_client.base.clientInfo);
    8181}
    8282
    83 void InjectedBundlePageResourceLoadClient::didFinishLoadForResource(WebPage& page, WebFrame& frame, uint64_t identifier)
     83void InjectedBundlePageResourceLoadClient::didFinishLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier)
    8484{
    8585    if (!m_client.didFinishLoadForResource)
    8686        return;
    8787
    88     m_client.didFinishLoadForResource(toAPI(&page), toAPI(&frame), identifier, m_client.base.clientInfo);
     88    m_client.didFinishLoadForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), m_client.base.clientInfo);
    8989}
    9090
    91 void InjectedBundlePageResourceLoadClient::didFailLoadForResource(WebPage& page, WebFrame& frame, uint64_t identifier, const ResourceError& error)
     91void InjectedBundlePageResourceLoadClient::didFailLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceError& error)
    9292{
    9393    if (!m_client.didFailLoadForResource)
    9494        return;
    9595
    96     m_client.didFailLoadForResource(toAPI(&page), toAPI(&frame), identifier, toAPI(error), m_client.base.clientInfo);
     96    m_client.didFailLoadForResource(toAPI(&page), toAPI(&frame), identifier.toUInt64(), toAPI(error), m_client.base.clientInfo);
    9797}
    9898
    99 bool InjectedBundlePageResourceLoadClient::shouldCacheResponse(WebPage& page, WebFrame& frame, uint64_t identifier)
     99bool InjectedBundlePageResourceLoadClient::shouldCacheResponse(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier)
    100100{
    101101    if (!m_client.shouldCacheResponse)
    102102        return true;
    103103
    104     return m_client.shouldCacheResponse(toAPI(&page), toAPI(&frame), identifier, m_client.base.clientInfo);
     104    return m_client.shouldCacheResponse(toAPI(&page), toAPI(&frame), identifier.toUInt64(), m_client.base.clientInfo);
    105105}
    106106
    107 bool InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage(WebPage& page, WebFrame& frame, uint64_t identifier)
     107bool InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier)
    108108{
    109109    if (!m_client.shouldUseCredentialStorage)
    110110        return true;
    111111
    112     return m_client.shouldUseCredentialStorage(toAPI(&page), toAPI(&frame), identifier, m_client.base.clientInfo);
     112    return m_client.shouldUseCredentialStorage(toAPI(&page), toAPI(&frame), identifier.toUInt64(), m_client.base.clientInfo);
    113113}
    114114
  • trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h

    r218321 r282712  
    5252    explicit InjectedBundlePageResourceLoadClient(const WKBundlePageResourceLoadClientBase*);
    5353
    54     void didInitiateLoadForResource(WebPage&, WebFrame&, uint64_t identifier, const WebCore::ResourceRequest&, bool /*pageIsProvisionallyLoading*/) override;
    55     void willSendRequestForFrame(WebPage&, WebFrame&, uint64_t identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) override;
    56     void didReceiveResponseForResource(WebPage&, WebFrame&, uint64_t identifier, const WebCore::ResourceResponse&) override;
    57     void didReceiveContentLengthForResource(WebPage&, WebFrame&, uint64_t identifier, uint64_t contentLength) override;
    58     void didFinishLoadForResource(WebPage&, WebFrame&, uint64_t identifier) override;
    59     void didFailLoadForResource(WebPage&, WebFrame&, uint64_t identifier, const WebCore::ResourceError&) override;
    60     bool shouldCacheResponse(WebPage&, WebFrame&, uint64_t identifier) override;
    61     bool shouldUseCredentialStorage(WebPage&, WebFrame&, uint64_t identifier) override;
     54    void didInitiateLoadForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&, bool /*pageIsProvisionallyLoading*/) override;
     55    void willSendRequestForFrame(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) override;
     56    void didReceiveResponseForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) override;
     57    void didReceiveContentLengthForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, uint64_t contentLength) override;
     58    void didFinishLoadForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier) override;
     59    void didFailLoadForResource(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) override;
     60    bool shouldCacheResponse(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier) override;
     61    bool shouldUseCredentialStorage(WebPage&, WebFrame&, WebCore::ResourceLoaderIdentifier) override;
    6262};
    6363
  • trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp

    r282393 r282712  
    9393{
    9494    if (decoder.messageReceiverName() == Messages::WebResourceLoader::messageReceiverName()) {
    95         if (auto* webResourceLoader = WebProcess::singleton().webLoaderStrategy().webResourceLoaderForIdentifier(decoder.destinationID()))
     95        if (auto* webResourceLoader = WebProcess::singleton().webLoaderStrategy().webResourceLoaderForIdentifier(makeObjectIdentifier<WebCore::ResourceLoader>(decoder.destinationID())))
    9696            webResourceLoader->didReceiveWebResourceLoaderMessage(connection, decoder);
    9797        return;
     
    227227}
    228228
    229 void NetworkProcessConnection::didFinishPingLoad(uint64_t pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)
     229void NetworkProcessConnection::didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)
    230230{
    231231    WebProcess::singleton().webLoaderStrategy().didFinishPingLoad(pingLoadIdentifier, WTFMove(error), WTFMove(response));
    232232}
    233233
    234 void NetworkProcessConnection::didFinishPreconnection(uint64_t preconnectionIdentifier, ResourceError&& error)
     234void NetworkProcessConnection::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, ResourceError&& error)
    235235{
    236236    WebProcess::singleton().webLoaderStrategy().didFinishPreconnection(preconnectionIdentifier, WTFMove(error));
  • trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h

    r282393 r282712  
    2424 */
    2525
    26 #ifndef NetworkProcessConnection_h
    27 #define NetworkProcessConnection_h
     26#pragma once
    2827
    2928#include "Connection.h"
     
    3231#include <WebCore/MessagePortChannelProvider.h>
    3332#include <WebCore/RTCDataChannelIdentifier.h>
     33#include <WebCore/ResourceLoaderIdentifier.h>
    3434#include <WebCore/ServiceWorkerTypes.h>
    3535#include <wtf/RefCounted.h>
     
    5050class WebIDBConnectionToServer;
    5151class WebSWClientConnection;
    52 
    53 typedef uint64_t ResourceLoadIdentifier;
    5452
    5553class NetworkProcessConnection : public RefCounted<NetworkProcessConnection>, IPC::Connection::Client {
     
    9795    void didReceiveInvalidMessage(IPC::Connection&, IPC::MessageName) override;
    9896
    99     void didFinishPingLoad(uint64_t pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
    100     void didFinishPreconnection(uint64_t preconnectionIdentifier, WebCore::ResourceError&&);
     97    void didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
     98    void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError&&);
    10199    void setOnLineState(bool isOnLine);
    102100    void cookieAcceptPolicyChanged(WebCore::HTTPCookieAcceptPolicy);
     
    130128
    131129} // namespace WebKit
    132 
    133 #endif // NetworkProcessConnection_h
  • trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.messages.in

    r278253 r282712  
    2727#endif
    2828
    29     DidFinishPingLoad(uint64_t pingLoadIdentifier, WebCore::ResourceError error, WebCore::ResourceResponse response)
    30     DidFinishPreconnection(uint64_t preconnectionIdentifier, WebCore::ResourceError error)
     29    DidFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError error, WebCore::ResourceResponse response)
     30    DidFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError error)
    3131    SetOnLineState(bool isOnLine);
    3232    CookieAcceptPolicyChanged(enum:uint8_t WebCore::HTTPCookieAcceptPolicy policy);
  • trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp

    r282003 r282712  
    8282
    8383#define WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_TEMPLATE "%p - [resourceLoader=%p, frameLoader=%p, frame=%p, webPageID=%" PRIu64 ", frameID=%" PRIu64 ", resourceID=%" PRIu64 "] WebLoaderStrategy::"
    84 #define WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_PARAMETERS this, &resourceLoader, resourceLoader.frameLoader(), resourceLoader.frame(), trackingParameters.pageID.toUInt64(), trackingParameters.frameID.toUInt64(), trackingParameters.resourceID
    85 #define WEBLOADERSTRATEGY_WITH_FRAMELOADER_RELEASE_LOG_STANDARD_PARAMETERS this, nullptr, &frameLoader, &frameLoader.frame(), trackingParameters.pageID.toUInt64(), trackingParameters.frameID.toUInt64(), trackingParameters.resourceID
     84#define WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_PARAMETERS this, &resourceLoader, resourceLoader.frameLoader(), resourceLoader.frame(), trackingParameters.pageID.toUInt64(), trackingParameters.frameID.toUInt64(), trackingParameters.resourceID.toUInt64()
     85#define WEBLOADERSTRATEGY_WITH_FRAMELOADER_RELEASE_LOG_STANDARD_PARAMETERS this, nullptr, &frameLoader, &frameLoader.frame(), trackingParameters.pageID.toUInt64(), trackingParameters.frameID.toUInt64(), trackingParameters.resourceID.toUInt64()
    8686
    8787#define WEBLOADERSTRATEGY_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_TEMPLATE fmt, WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_PARAMETERS, ##__VA_ARGS__)
     
    171171void WebLoaderStrategy::scheduleLoad(ResourceLoader& resourceLoader, CachedResource* resource, bool shouldClearReferrerOnHTTPSToHTTPRedirect)
    172172{
    173     ResourceLoadIdentifier identifier = resourceLoader.identifier();
     173    auto identifier = resourceLoader.identifier();
    174174    ASSERT(identifier);
    175175
     
    296296void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceLoader, const ResourceRequest& request, const WebResourceLoader::TrackingParameters& trackingParameters, bool shouldClearReferrerOnHTTPSToHTTPRedirect, Seconds maximumBufferingTime)
    297297{
    298     ResourceLoadIdentifier identifier = resourceLoader.identifier();
     298    auto identifier = resourceLoader.identifier();
    299299    ASSERT(identifier);
    300300
     
    474474    }
    475475   
    476     ResourceLoadIdentifier identifier = resourceLoader->identifier();
     476    auto identifier = resourceLoader->identifier();
    477477    if (!identifier) {
    478478        LOG_ERROR("WebLoaderStrategy removing a ResourceLoader that has no identifier.");
     
    567567}
    568568
    569 std::optional<WebLoaderStrategy::SyncLoadResult> WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler(FrameLoader& frameLoader, ResourceLoadIdentifier identifier, const ResourceRequest& request)
     569std::optional<WebLoaderStrategy::SyncLoadResult> WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler(FrameLoader& frameLoader, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request)
    570570{
    571571    auto* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client());
     
    587587}
    588588
    589 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)
     589void 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)
    590590{
    591591    auto* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client());
     
    684684}
    685685
    686 uint64_t WebLoaderStrategy::generateLoadIdentifier()
    687 {
    688     static uint64_t identifier = 0;
    689     return ++identifier;
    690 }
    691 
    692686bool WebLoaderStrategy::usePingLoad() const
    693687{
     
    713707
    714708    NetworkResourceLoadParameters loadParameters;
    715     loadParameters.identifier = WebLoaderStrategy::generateLoadIdentifier();
     709    loadParameters.identifier = WebCore::ResourceLoaderIdentifier::generate();
    716710    loadParameters.webPageProxyID = webPage->webPageProxyIdentifier();
    717711    loadParameters.webPageID = webPage->identifier();
     
    750744}
    751745
    752 void WebLoaderStrategy::didFinishPingLoad(uint64_t pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)
     746void WebLoaderStrategy::didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)
    753747{
    754748    if (auto completionHandler = m_pingLoadCompletionHandlers.take(pingLoadIdentifier))
     
    786780        if (auto* loader = document->loader())
    787781            request.setIsAppInitiated(loader->lastNavigationWasAppInitiated());
    788     }
    789 
    790     std::optional<uint64_t> preconnectionIdentifier;
    791     if (completionHandler) {
    792         preconnectionIdentifier = WebLoaderStrategy::generateLoadIdentifier();
    793         auto addResult = m_preconnectCompletionHandlers.add(*preconnectionIdentifier, WTFMove(completionHandler));
    794         ASSERT_UNUSED(addResult, addResult.isNewEntry);
    795782    }
    796783
     
    804791            parameters.request.setHTTPUserAgent(webPageUserAgent);
    805792    }
     793    parameters.identifier = WebCore::ResourceLoaderIdentifier::generate();
    806794    parameters.webPageProxyID = webPage.webPageProxyIdentifier();
    807795    parameters.webPageID = webPage.identifier();
     
    820808#endif
    821809
     810    std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier;
     811    if (completionHandler) {
     812        preconnectionIdentifier = parameters.identifier;
     813        auto addResult = m_preconnectCompletionHandlers.add(*preconnectionIdentifier, WTFMove(completionHandler));
     814        ASSERT_UNUSED(addResult, addResult.isNewEntry);
     815    }
     816
     817    // FIXME: Use sendWithAsyncReply instead of preconnectionIdentifier
     818    // FIXME: don't use WebCore::ResourceLoaderIdentifier for a preconnection identifier, too. It should have its own type.
    822819    WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::PreconnectTo(preconnectionIdentifier, WTFMove(parameters)), 0);
    823820}
    824821
    825 void WebLoaderStrategy::didFinishPreconnection(uint64_t preconnectionIdentifier, ResourceError&& error)
     822void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, ResourceError&& error)
    826823{
    827824    if (auto completionHandler = m_preconnectCompletionHandlers.take(preconnectionIdentifier))
     
    864861}
    865862
    866 ResourceResponse WebLoaderStrategy::responseFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier)
     863ResourceResponse WebLoaderStrategy::responseFromResourceLoadIdentifier(ResourceLoaderIdentifier resourceLoadIdentifier)
    867864{
    868865    ResourceResponse response;
     
    871868}
    872869
    873 Vector<NetworkTransactionInformation> WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier)
     870Vector<NetworkTransactionInformation> WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier)
    874871{
    875872    Vector<NetworkTransactionInformation> information;
     
    878875}
    879876
    880 NetworkLoadMetrics WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier)
     877NetworkLoadMetrics WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier)
    881878{
    882879    NetworkLoadMetrics networkMetrics;
     
    920917void WebLoaderStrategy::prioritizeResourceLoads(const Vector<WebCore::SubresourceLoader*>& resources)
    921918{
    922     auto identifiers = resources.map([](auto* loader) -> ResourceLoadIdentifier {
     919    auto identifiers = resources.map([](auto* loader) -> WebCore::ResourceLoaderIdentifier {
    923920        return loader->identifier();
    924921    });
  • trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h

    r282003 r282712  
    4545class WebPage;
    4646class WebURLSchemeTaskProxy;
    47 typedef uint64_t ResourceLoadIdentifier;
    4847
    4948class WebLoaderStrategy final : public WebCore::LoaderStrategy {
     
    5453   
    5554    void loadResource(WebCore::Frame&, WebCore::CachedResource&, WebCore::ResourceRequest&&, const WebCore::ResourceLoaderOptions&, CompletionHandler<void(RefPtr<WebCore::SubresourceLoader>&&)>&&) final;
    56     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;
     55    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;
    5756    void pageLoadCompleted(WebCore::Page&) final;
    5857    void browsingContextRemoved(WebCore::Frame&) final;
     
    6968    bool usePingLoad() const final;
    7069    void startPingLoad(WebCore::Frame&, WebCore::ResourceRequest&, const WebCore::HTTPHeaderMap& originalRequestHeaders, const WebCore::FetchOptions&, WebCore::ContentSecurityPolicyImposition, PingLoadCompletionHandler&&) final;
    71     void didFinishPingLoad(uint64_t pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
     70    void didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);
    7271
    7372    void preconnectTo(WebCore::ResourceRequest&&, WebPage&, WebFrame&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&& = nullptr);
    7473    void preconnectTo(WebCore::FrameLoader&, const URL&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&&) final;
    75     void didFinishPreconnection(uint64_t preconnectionIdentifier, WebCore::ResourceError&&);
     74    void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError&&);
    7675
    7776    void setCaptureExtraNetworkLoadMetricsEnabled(bool) final;
    7877
    79     WebResourceLoader* webResourceLoaderForIdentifier(ResourceLoadIdentifier identifier) const { return m_webResourceLoaders.get(identifier); }
     78    WebResourceLoader* webResourceLoaderForIdentifier(WebCore::ResourceLoaderIdentifier identifier) const { return m_webResourceLoaders.get(identifier); }
    8079    void schedulePluginStreamLoad(WebCore::Frame&, WebCore::NetscapePlugInStreamLoaderClient&, WebCore::ResourceRequest&&, CompletionHandler<void(RefPtr<WebCore::NetscapePlugInStreamLoader>&&)>&&);
    8180
     
    9089    void addOnlineStateChangeListener(Function<void(bool)>&&) final;
    9190    void setOnLineState(bool);
    92 
    93     static uint64_t generateLoadIdentifier();
    9491
    9592    void setExistingNetworkResourceLoadIdentifierToResume(std::optional<NetworkResourceLoadIdentifier> existingNetworkResourceLoadIdentifierToResume) { m_existingNetworkResourceLoadIdentifierToResume = existingNetworkResourceLoadIdentifierToResume; }
     
    109106        Vector<uint8_t> data;
    110107    };
    111     std::optional<SyncLoadResult> tryLoadingSynchronouslyUsingURLSchemeHandler(WebCore::FrameLoader&, ResourceLoadIdentifier, const WebCore::ResourceRequest&);
     108    std::optional<SyncLoadResult> tryLoadingSynchronouslyUsingURLSchemeHandler(WebCore::FrameLoader&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&);
    112109    SyncLoadResult loadDataURLSynchronously(const WebCore::ResourceRequest&);
    113110
    114     WebCore::ResourceResponse responseFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier) final;
    115     Vector<WebCore::NetworkTransactionInformation> intermediateLoadInformationFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier) final;
    116     WebCore::NetworkLoadMetrics networkMetricsFromResourceLoadIdentifier(uint64_t resourceLoadIdentifier) final;
     111    WebCore::ResourceResponse responseFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier) final;
     112    Vector<WebCore::NetworkTransactionInformation> intermediateLoadInformationFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier) final;
     113    WebCore::NetworkLoadMetrics networkMetricsFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier) final;
    117114
    118115    bool shouldPerformSecurityChecks() const final;
     
    124121    void prioritizeResourceLoads(const Vector<WebCore::SubresourceLoader*>&) final;
    125122
    126     Vector<uint64_t> ongoingLoads() const final
     123    Vector<WebCore::ResourceLoaderIdentifier> ongoingLoads() const final
    127124    {
    128         return WTF::map(m_webResourceLoaders, [](auto&& keyValue) -> uint64_t {
     125        return WTF::map(m_webResourceLoaders, [](auto&& keyValue) -> WebCore::ResourceLoaderIdentifier {
    129126            return keyValue.key;
    130127        });
     
    134131    RunLoop::Timer<WebLoaderStrategy> m_internallyFailedLoadTimer;
    135132   
    136     HashMap<unsigned long, RefPtr<WebResourceLoader>> m_webResourceLoaders;
    137     HashMap<unsigned long, WebURLSchemeTaskProxy*> m_urlSchemeTasks;
    138     HashMap<unsigned long, PingLoadCompletionHandler> m_pingLoadCompletionHandlers;
    139     HashMap<unsigned long, PreconnectCompletionHandler> m_preconnectCompletionHandlers;
     133    HashMap<WebCore::ResourceLoaderIdentifier, RefPtr<WebResourceLoader>> m_webResourceLoaders;
     134    HashMap<WebCore::ResourceLoaderIdentifier, WebURLSchemeTaskProxy*> m_urlSchemeTasks;
     135    HashMap<WebCore::ResourceLoaderIdentifier, PingLoadCompletionHandler> m_pingLoadCompletionHandlers;
     136    HashMap<WebCore::ResourceLoaderIdentifier, PreconnectCompletionHandler> m_preconnectCompletionHandlers;
    140137    Vector<Function<void(bool)>> m_onlineStateChangeListeners;
    141138    std::optional<NetworkResourceLoadIdentifier> m_existingNetworkResourceLoadIdentifierToResume;
  • trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.cpp

    r249504 r282712  
    2929namespace WebKit {
    3030
    31 bool WebResourceInterceptController::isIntercepting(unsigned long identifier) const
     31bool WebResourceInterceptController::isIntercepting(WebCore::ResourceLoaderIdentifier identifier) const
    3232{
    3333    return m_interceptedResponseQueue.contains(identifier);
    3434}
    3535
    36 void WebResourceInterceptController::beginInterceptingResponse(unsigned long identifier)
     36void WebResourceInterceptController::beginInterceptingResponse(WebCore::ResourceLoaderIdentifier identifier)
    3737{
    3838    m_interceptedResponseQueue.set(identifier, Deque<Function<void()>>());
    3939}
    4040
    41 void WebResourceInterceptController::continueResponse(unsigned long identifier)
     41void WebResourceInterceptController::continueResponse(WebCore::ResourceLoaderIdentifier identifier)
    4242{
    4343    auto queue = m_interceptedResponseQueue.take(identifier);
     
    4646}
    4747
    48 void WebResourceInterceptController::interceptedResponse(unsigned long identifier)
     48void WebResourceInterceptController::interceptedResponse(WebCore::ResourceLoaderIdentifier identifier)
    4949{
    5050    m_interceptedResponseQueue.remove(identifier);
    5151}
    5252
    53 void WebResourceInterceptController::defer(unsigned long identifier, Function<void()>&& function)
     53void WebResourceInterceptController::defer(WebCore::ResourceLoaderIdentifier identifier, Function<void()>&& function)
    5454{
    5555    ASSERT(isIntercepting(identifier));
  • trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.h

    r249504 r282712  
    2626#pragma once
    2727
     28#include <WebCore/ResourceLoaderIdentifier.h>
    2829#include <wtf/Deque.h>
    2930#include <wtf/Function.h>
     
    3435class WebResourceInterceptController {
    3536public:
    36     bool isIntercepting(unsigned long identifier) const;
     37    bool isIntercepting(WebCore::ResourceLoaderIdentifier) const;
    3738
    3839    // Start intercepting a response.
    39     void beginInterceptingResponse(unsigned long identifier);
     40    void beginInterceptingResponse(WebCore::ResourceLoaderIdentifier);
    4041
    4142    // Stop intercepting a response. An intercept response was not supplied. Send deferred networking callbacks.
    42     void continueResponse(unsigned long identifier);
     43    void continueResponse(WebCore::ResourceLoaderIdentifier);
    4344
    4445    // Stop intercepting a response. An intercept response was supplied. Send no deferred networking callbacks.
    45     void interceptedResponse(unsigned long identifier);
     46    void interceptedResponse(WebCore::ResourceLoaderIdentifier);
    4647
    47     void defer(unsigned long identifier, Function<void()>&&);
     48    void defer(WebCore::ResourceLoaderIdentifier, Function<void()>&&);
    4849
    4950private:
    50     HashMap<unsigned long, Deque<Function<void()>>> m_interceptedResponseQueue;
     51    HashMap<WebCore::ResourceLoaderIdentifier, Deque<Function<void()>>> m_interceptedResponseQueue;
    5152};
    5253
  • trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp

    r278779 r282712  
    5555#include <wtf/CompletionHandler.h>
    5656
    57 #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__)
     57#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__)
    5858
    5959namespace WebKit {
     
    8484    RELEASE_ASSERT(RunLoop::isMain());
    8585    RELEASE_ASSERT(m_coreLoader->identifier());
    86     return m_coreLoader->identifier();
     86    return m_coreLoader->identifier().toUInt64();
    8787}
    8888
     
    154154
    155155    if (InspectorInstrumentationWebKit::shouldInterceptResponse(m_coreLoader->frame(), response)) {
    156         unsigned long interceptedRequestIdentifier = m_coreLoader->identifier();
     156        auto interceptedRequestIdentifier = m_coreLoader->identifier();
    157157        m_interceptController.beginInterceptingResponse(interceptedRequestIdentifier);
    158158        InspectorInstrumentationWebKit::interceptResponse(m_coreLoader->frame(), response, interceptedRequestIdentifier, [this, protectedThis = makeRef(*this), interceptedRequestIdentifier, policyDecisionCompletionHandler = WTFMove(policyDecisionCompletionHandler)](const ResourceResponse& inspectorResponse, RefPtr<SharedBuffer> overrideData) mutable {
  • trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.h

    r278779 r282712  
    3434#include <WebCore/FrameIdentifier.h>
    3535#include <WebCore/PageIdentifier.h>
     36#include <WebCore/ResourceLoaderIdentifier.h>
    3637#include <wtf/RefCounted.h>
    3738#include <wtf/RefPtr.h>
     
    5152namespace WebKit {
    5253
    53 typedef uint64_t ResourceLoadIdentifier;
    54 
    5554class WebResourceLoader : public RefCounted<WebResourceLoader>, public IPC::MessageSender {
    5655public:
     
    5958        WebCore::PageIdentifier pageID;
    6059        WebCore::FrameIdentifier frameID;
    61         ResourceLoadIdentifier resourceID { 0 };
     60        WebCore::ResourceLoaderIdentifier resourceID;
    6261    };
    6362
  • trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h

    r281854 r282712  
    136136    std::optional<WebCore::FrameIdentifier> frameID() const final { return m_frameID; }
    137137
    138     bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long) final { return true; }
     138    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final { return true; }
    139139    bool isServiceWorkerFrameLoaderClient() const final { return true; }
    140140
  • trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp

    r282429 r282712  
    222222}
    223223
    224 void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
     224void WebFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request)
    225225{
    226226    WebPage* webPage = m_frame->page();
     
    236236}
    237237
    238 void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
     238void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
    239239{
    240240    WebPage* webPage = m_frame->page();
     
    253253}
    254254
    255 bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier)
     255bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier identifier)
    256256{
    257257    WebPage* webPage = m_frame->page();
     
    262262}
    263263
    264 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)
     264void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, WebCore::ResourceLoaderIdentifier, const AuthenticationChallenge&)
    265265{
    266266    ASSERT_NOT_REACHED();
     
    268268
    269269#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
    270 bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace& protectionSpace)
     270bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, WebCore::ResourceLoaderIdentifier, const ProtectionSpace& protectionSpace)
    271271{
    272272    // The WebKit 2 Networking process asks the UIProcess directly, so the WebContent process should never receive this callback.
     
    276276#endif
    277277
    278 void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse& response)
     278void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    279279{
    280280    WebPage* webPage = m_frame->page();
     
    285285}
    286286
    287 void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, unsigned long identifier, int dataLength)
     287void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier identifier, int dataLength)
    288288{
    289289    WebPage* webPage = m_frame->page();
     
    304304#endif
    305305
    306 void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier)
     306void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier identifier)
    307307{
    308308    WebPage* webPage = m_frame->page();
     
    314314}
    315315
    316 void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError& error)
     316void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier identifier, const ResourceError& error)
    317317{
    318318    WebPage* webPage = m_frame->page();
     
    850850    auto* policyDocumentLoader = coreFrame ? coreFrame->loader().provisionalDocumentLoader() : nullptr;
    851851    auto navigationID = policyDocumentLoader ? static_cast<WebDocumentLoader&>(*policyDocumentLoader).navigationID() : 0;
    852     // FIXME: We should be using a strongly-typed identifier for mainResourceLoadIdentifier.
    853     auto mainResourceLoadIdentifier = policyDocumentLoader && policyDocumentLoader->mainResourceLoader() ? policyDocumentLoader->mainResourceLoader()->identifier() : 0;
     852    std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier;
     853    if (auto mainResourceLoader = policyDocumentLoader ? policyDocumentLoader->mainResourceLoader() : nullptr)
     854        mainResourceLoadIdentifier = mainResourceLoader->identifier();
    854855
    855856    bool wasAllowedByInjectedBundle = policy == WKBundlePagePolicyActionUse;
     
    18091810}
    18101811   
    1811 void WebFrameLoaderClient::willCacheResponse(DocumentLoader*, unsigned long identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
     1812void WebFrameLoaderClient::willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
    18121813{
    18131814    WebPage* webPage = m_frame->page();
     
    18901891    NetworkResourceLoadParameters parameters;
    18911892    parameters.request = ResourceRequest(url);
    1892     parameters.identifier = WebLoaderStrategy::generateLoadIdentifier();
     1893    parameters.identifier = WebCore::ResourceLoaderIdentifier::generate();
    18931894    parameters.webPageProxyID = webPage->webPageProxyIdentifier();
    18941895    parameters.webPageID = webPage->identifier();
  • trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h

    r282429 r282712  
    8282    void detachedFromParent3() final;
    8383   
    84     void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) final;
    85    
    86     void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) final;
    87     bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier) final;
    88     void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&) final;
     84    void assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) final;
     85   
     86    void dispatchWillSendRequest(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) final;
     87    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
     88    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::AuthenticationChallenge&) final;
    8989#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
    90     bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ProtectionSpace&) final;
     90    bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ProtectionSpace&) final;
    9191#endif
    9292#if PLATFORM(IOS_FAMILY)
    93     RetainPtr<CFDictionaryRef> connectionProperties(WebCore::DocumentLoader*, unsigned long identifier) final;
    94 #endif
    95     void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&) final;
    96     void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength) final;
    97     void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier) final;
    98     void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&) final;
     93    RetainPtr<CFDictionaryRef> connectionProperties(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
     94#endif
     95    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) final;
     96    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, int dataLength) final;
     97    void dispatchDidFinishLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
     98    void dispatchDidFailLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) final;
    9999    bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length) final;
    100100#if ENABLE(DATA_DETECTION)
     
    239239    RemoteAXObjectRef accessibilityRemoteObject() final;
    240240   
    241     void willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
     241    void willCacheResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
    242242
    243243    NSDictionary *dataDetectionContext() final;
  • trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm

    r251488 r282712  
    5959}
    6060
    61 RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(DocumentLoader*, unsigned long identifier)
     61RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(DocumentLoader*, WebCore::ResourceLoaderIdentifier)
    6262{
    6363    notImplemented();
  • trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp

    r281606 r282712  
    305305
    306306    auto& webProcess = WebProcess::singleton();
    307     // Use 0 to indicate that the resource load can't be converted and a new download must be started.
     307    // Use std::nullopt to indicate that the resource load can't be converted and a new download must be started.
    308308    // This can happen if there is no loader because the main resource is in the WebCore memory cache,
    309309    // or because the conversion was attempted when not calling SubresourceLoader::didReceiveResponse().
    310     uint64_t mainResourceLoadIdentifier;
     310    std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier;
    311311    if (mainResourceLoader)
    312312        mainResourceLoadIdentifier = mainResourceLoader->identifier();
    313     else
    314         mainResourceLoadIdentifier = 0;
    315313
    316314    std::optional<NavigatingToAppBoundDomain> isAppBound = NavigatingToAppBoundDomain::No;
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp

    r282604 r282712  
    43224322#endif
    43234323
    4324 void WebPage::addConsoleMessage(FrameIdentifier frameID, MessageSource messageSource, MessageLevel messageLevel, const String& message, uint64_t requestID)
     4324void WebPage::addConsoleMessage(FrameIdentifier frameID, MessageSource messageSource, MessageLevel messageLevel, const String& message, WebCore::ResourceLoaderIdentifier requestID)
    43254325{
    43264326    if (auto* frame = WebProcess::singleton().webFrame(frameID))
    4327         frame->addConsoleMessage(messageSource, messageLevel, message, requestID);
     4327        frame->addConsoleMessage(messageSource, messageLevel, message, requestID.toUInt64());
    43284328}
    43294329
     
    55295529#endif
    55305530
    5531 void WebPage::addResourceRequest(unsigned long identifier, const WebCore::ResourceRequest& request)
     5531void WebPage::addResourceRequest(WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceRequest& request)
    55325532{
    55335533    if (!request.url().protocolIsInHTTPFamily())
     
    55445544}
    55455545
    5546 void WebPage::removeResourceRequest(unsigned long identifier)
     5546void WebPage::removeResourceRequest(WebCore::ResourceLoaderIdentifier identifier)
    55475547{
    55485548    if (!m_trackedNetworkResourceRequestIdentifiers.remove(identifier))
     
    69416941}
    69426942
    6943 void WebPage::urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
     6943void WebPage::urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
    69446944{
    69456945    auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     
    69506950}
    69516951
    6952 void WebPage::urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, ResourceResponse&& response, ResourceRequest&& request)
     6952void WebPage::urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request)
    69536953{
    69546954    auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     
    69586958}
    69596959   
    6960 void WebPage::urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_t taskIdentifier, const ResourceResponse& response)
     6960void WebPage::urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceResponse& response)
    69616961{
    69626962    auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     
    69666966}
    69676967
    6968 void WebPage::urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_t taskIdentifier, const IPC::DataReference& data)
     6968void WebPage::urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const IPC::DataReference& data)
    69696969{
    69706970    auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
     
    69746974}
    69756975
    6976 void WebPage::urlSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_t taskIdentifier, const ResourceError& error)
     6976void WebPage::urlSchemeTaskDidComplete(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceError& error)
    69776977{
    69786978    auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier);
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.h

    r282604 r282712  
    438438#endif
    439439
    440     void addConsoleMessage(WebCore::FrameIdentifier, MessageSource, MessageLevel, const String&, uint64_t requestID = 0);
     440    void addConsoleMessage(WebCore::FrameIdentifier, MessageSource, MessageLevel, const String&, WebCore::ResourceLoaderIdentifier = { });
    441441    void sendCSPViolationReport(WebCore::FrameIdentifier, const URL& reportURL, IPC::FormDataReference&&);
    442442    void sendCOEPPolicyInheritenceViolation(WebCore::FrameIdentifier, const WebCore::SecurityOriginData& embedderOrigin, const String& endpoint, WebCore::COEPDisposition, const String& type, const URL& blockedURL);
     
    10171017#endif
    10181018
    1019     void addResourceRequest(unsigned long, const WebCore::ResourceRequest&);
    1020     void removeResourceRequest(unsigned long);
     1019    void addResourceRequest(WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&);
     1020    void removeResourceRequest(WebCore::ResourceLoaderIdentifier);
    10211021
    10221022    void setMediaVolume(float);
     
    18781878    void registerURLSchemeHandler(uint64_t identifier, const String& scheme);
    18791879
    1880     void urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
    1881     void urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&);
    1882     void urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_t taskIdentifier, const WebCore::ResourceResponse&);
    1883     void urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_t taskIdentifier, const IPC::DataReference&);
    1884     void urlSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_t taskIdentifier, const WebCore::ResourceError&);
     1880    void urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
     1881    void urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&);
     1882    void urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const WebCore::ResourceResponse&);
     1883    void urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const IPC::DataReference&);
     1884    void urlSchemeTaskDidComplete(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const WebCore::ResourceError&);
    18851885
    18861886    void setIsTakingSnapshotsForApplicationSuspension(bool);
     
    21622162    unsigned m_cachedPageCount { 0 };
    21632163
    2164     HashSet<unsigned long> m_trackedNetworkResourceRequestIdentifiers;
     2164    HashSet<WebCore::ResourceLoaderIdentifier> m_trackedNetworkResourceRequestIdentifiers;
    21652165
    21662166    WebCore::IntSize m_minimumSizeForAutoLayout;
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in

    r282604 r282712  
    2828    SetBackgroundColor(std::optional<WebCore::Color> color)
    2929
    30     AddConsoleMessage(WebCore::FrameIdentifier frameID, enum:uint8_t JSC::MessageSource messageSource, enum:uint8_t JSC::MessageLevel messageLevel, String message, uint64_t requestID)
     30    AddConsoleMessage(WebCore::FrameIdentifier frameID, enum:uint8_t JSC::MessageSource messageSource, enum:uint8_t JSC::MessageLevel messageLevel, String message, WebCore::ResourceLoaderIdentifier requestID)
    3131    SendCSPViolationReport(WebCore::FrameIdentifier frameID, URL reportURL, IPC::FormDataReference reportData)
    3232    SendCOEPPolicyInheritenceViolation(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData embedderOrigin, String endpoint, enum:bool WebCore::COEPDisposition disposition, String type, URL blockedURL)
     
    554554    RegisterURLSchemeHandler(uint64_t identifier, String scheme)
    555555
    556     URLSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest) -> (WebCore::ResourceRequest actualRequest) Async
    557     URLSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest)
    558     URLSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceResponse response)
    559     URLSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_t taskIdentifier, IPC::SharedBufferDataReference data)
    560     URLSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_t taskIdentifier, WebCore::ResourceError error)
     556    URLSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest) -> (WebCore::ResourceRequest actualRequest) Async
     557    URLSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest)
     558    URLSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse response)
     559    URLSchemeTaskDidReceiveData(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, IPC::SharedBufferDataReference data)
     560    URLSchemeTaskDidComplete(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceError error)
    561561
    562562    SetIsSuspended(bool suspended)
  • trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp

    r277740 r282712  
    6464}
    6565
    66 void WebURLSchemeHandlerProxy::loadSynchronously(ResourceLoadIdentifier loadIdentifier, WebFrame& webFrame, const ResourceRequest& request, ResourceResponse& response, ResourceError& error, Vector<uint8_t>& data)
     66void WebURLSchemeHandlerProxy::loadSynchronously(WebCore::ResourceLoaderIdentifier loadIdentifier, WebFrame& webFrame, const ResourceRequest& request, ResourceResponse& response, ResourceError& error, Vector<uint8_t>& data)
    6767{
    6868    data.shrink(0);
     
    7979}
    8080
    81 void WebURLSchemeHandlerProxy::taskDidPerformRedirection(uint64_t taskIdentifier, WebCore::ResourceResponse&& redirectResponse, WebCore::ResourceRequest&& newRequest, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
     81void WebURLSchemeHandlerProxy::taskDidPerformRedirection(WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&& redirectResponse, WebCore::ResourceRequest&& newRequest, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)
    8282{
    8383    auto* task = m_tasks.get(taskIdentifier);
     
    8888}
    8989
    90 void WebURLSchemeHandlerProxy::taskDidReceiveResponse(uint64_t taskIdentifier, const ResourceResponse& response)
     90void WebURLSchemeHandlerProxy::taskDidReceiveResponse(WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceResponse& response)
    9191{
    9292    auto* task = m_tasks.get(taskIdentifier);
     
    9797}
    9898
    99 void WebURLSchemeHandlerProxy::taskDidReceiveData(uint64_t taskIdentifier, size_t size, const uint8_t* data)
     99void WebURLSchemeHandlerProxy::taskDidReceiveData(WebCore::ResourceLoaderIdentifier taskIdentifier, size_t size, const uint8_t* data)
    100100{
    101101    auto* task = m_tasks.get(taskIdentifier);
     
    106106}
    107107
    108 void WebURLSchemeHandlerProxy::taskDidComplete(uint64_t taskIdentifier, const ResourceError& error)
     108void WebURLSchemeHandlerProxy::taskDidComplete(WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceError& error)
    109109{
    110110    if (auto task = removeTask(taskIdentifier))
     
    118118}
    119119
    120 RefPtr<WebURLSchemeTaskProxy> WebURLSchemeHandlerProxy::removeTask(uint64_t identifier)
     120RefPtr<WebURLSchemeTaskProxy> WebURLSchemeHandlerProxy::removeTask(WebCore::ResourceLoaderIdentifier identifier)
    121121{
    122122    auto task = m_tasks.take(identifier);
  • trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h

    r277740 r282712  
    4040
    4141class WebPage;
    42 typedef uint64_t ResourceLoadIdentifier;
    4342
    4443class WebURLSchemeHandlerProxy : public RefCounted<WebURLSchemeHandlerProxy> {
     
    5352    void stopAllTasks();
    5453
    55     void loadSynchronously(ResourceLoadIdentifier, WebFrame&, const WebCore::ResourceRequest&, WebCore::ResourceResponse&, WebCore::ResourceError&, Vector<uint8_t>&);
     54    void loadSynchronously(WebCore::ResourceLoaderIdentifier, WebFrame&, const WebCore::ResourceRequest&, WebCore::ResourceResponse&, WebCore::ResourceError&, Vector<uint8_t>&);
    5655
    5756    uint64_t identifier() const { return m_identifier; }
    5857    WebPage& page() { return m_webPage; }
    5958
    60     void taskDidPerformRedirection(uint64_t taskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
    61     void taskDidReceiveResponse(uint64_t taskIdentifier, const WebCore::ResourceResponse&);
    62     void taskDidReceiveData(uint64_t taskIdentifier, size_t, const uint8_t* data);
    63     void taskDidComplete(uint64_t taskIdentifier, const WebCore::ResourceError&);
     59    void taskDidPerformRedirection(WebCore::ResourceLoaderIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);
     60    void taskDidReceiveResponse(WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&);
     61    void taskDidReceiveData(WebCore::ResourceLoaderIdentifier, size_t, const uint8_t* data);
     62    void taskDidComplete(WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&);
    6463    void taskDidStopLoading(WebURLSchemeTaskProxy&);
    6564
     
    6766    WebURLSchemeHandlerProxy(WebPage&, uint64_t identifier);
    6867
    69     RefPtr<WebURLSchemeTaskProxy> removeTask(uint64_t identifier);
     68    RefPtr<WebURLSchemeTaskProxy> removeTask(WebCore::ResourceLoaderIdentifier);
    7069
    7170    WebPage& m_webPage;
     71    // FIXME: This should be a strongly typed identifier.
    7272    uint64_t m_identifier { 0 };
    7373
    74     HashMap<uint64_t, RefPtr<WebURLSchemeTaskProxy>> m_tasks;
     74    HashMap<WebCore::ResourceLoaderIdentifier, RefPtr<WebURLSchemeTaskProxy>> m_tasks;
    7575}; // class WebURLSchemeHandlerProxy
    7676
  • trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp

    r279017 r282712  
    4040#include <wtf/CompletionHandler.h>
    4141
    42 #define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_TEMPLATE "[schemeHandler=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", taskID=%lu] WebURLSchemeTaskProxy::"
    43 #define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS m_urlSchemeHandler.identifier(), pageIDFromWebFrame(m_frame), frameIDFromWebFrame(m_frame), m_identifier
     42#define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_TEMPLATE "[schemeHandler=%" PRIu64 ", webPageID=%" PRIu64 ", frameID=%" PRIu64 ", taskID=%" PRIu64 "] WebURLSchemeTaskProxy::"
     43#define WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS m_urlSchemeHandler.identifier(), pageIDFromWebFrame(m_frame), frameIDFromWebFrame(m_frame), m_identifier.toUInt64()
    4444#define WEBURLSCHEMETASKPROXY_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_TEMPLATE fmt, WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS, ##__VA_ARGS__)
    4545
  • trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.h

    r275447 r282712  
    2626#pragma once
    2727
     28#include <WebCore/ResourceLoaderIdentifier.h>
    2829#include <WebCore/ResourceRequest.h>
    2930#include <wtf/Deque.h>
     
    5859    void didComplete(const WebCore::ResourceError&);
    5960
    60     unsigned long identifier() const { return m_identifier; }
     61    WebCore::ResourceLoaderIdentifier identifier() const { return m_identifier; }
    6162
    6263private:
     
    7172    RefPtr<WebFrame> m_frame;
    7273    WebCore::ResourceRequest m_request;
    73     unsigned long m_identifier;
     74    WebCore::ResourceLoaderIdentifier m_identifier;
    7475    bool m_waitingForCompletionHandler { false };
    7576    Deque<Function<void()>> m_queuedTasks;
  • trunk/Source/WebKitLegacy/ChangeLog

    r282105 r282712  
     12021-09-17  Alex Christensen  <achristensen@webkit.org>
     2
     3        Use ObjectIdentifier for ResourceLoader
     4        https://bugs.webkit.org/show_bug.cgi?id=230278
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * WebCoreSupport/WebResourceLoadScheduler.cpp:
     9        (WebResourceLoadScheduler::loadResourceSynchronously):
     10        * WebCoreSupport/WebResourceLoadScheduler.h:
     11
    1122021-09-07  Chris Dumez  <cdumez@apple.com>
    213
  • trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp

    r278738 r282712  
    108108}
    109109
    110 void WebResourceLoadScheduler::loadResourceSynchronously(FrameLoader& frameLoader, unsigned long, const ResourceRequest& request, ClientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap&, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data)
     110void WebResourceLoadScheduler::loadResourceSynchronously(FrameLoader& frameLoader, ResourceLoaderIdentifier, const ResourceRequest& request, ClientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap&, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data)
    111111{
    112112    auto* document = frameLoader.frame().document();
  • trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h

    r277740 r282712  
    4646
    4747    void loadResource(WebCore::Frame&, WebCore::CachedResource&, WebCore::ResourceRequest&&, const WebCore::ResourceLoaderOptions&, CompletionHandler<void(RefPtr<WebCore::SubresourceLoader>&&)>&&) final;
    48     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;
     48    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;
    4949    void pageLoadCompleted(WebCore::Page&) final;
    5050    void browsingContextRemoved(WebCore::Frame&) final;
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r282707 r282712  
     12021-09-17  Alex Christensen  <achristensen@webkit.org>
     2
     3        Use ObjectIdentifier for ResourceLoader
     4        https://bugs.webkit.org/show_bug.cgi?id=230278
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * WebCoreSupport/WebFrameLoaderClient.h:
     9        * WebCoreSupport/WebFrameLoaderClient.mm:
     10        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
     11        (WebFrameLoaderClient::dispatchWillSendRequest):
     12        (WebFrameLoaderClient::shouldUseCredentialStorage):
     13        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
     14        (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
     15        (WebFrameLoaderClient::connectionProperties):
     16        (WebFrameLoaderClient::dispatchDidReceiveResponse):
     17        (WebFrameLoaderClient::willCacheResponse const):
     18        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
     19        (WebFrameLoaderClient::dispatchDidFinishLoading):
     20        (WebFrameLoaderClient::dispatchDidFailLoading):
     21        * WebView/WebDocumentLoaderMac.h:
     22        * WebView/WebDocumentLoaderMac.mm:
     23        (WebDocumentLoaderMac::increaseLoadCount):
     24        (WebDocumentLoaderMac::decreaseLoadCount):
     25        * WebView/WebViewInternal.h:
     26
    1272021-09-17  Yusuke Suzuki  <ysuzuki@apple.com>
    228
  • trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h

    r281832 r282712  
    8383    void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&) final;
    8484
    85     void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) final;
    86 
    87     void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) final;
    88     bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier) final;
    89     void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&) final;
     85    void assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) final;
     86
     87    void dispatchWillSendRequest(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) final;
     88    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
     89    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::AuthenticationChallenge&) final;
    9090#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
    91     bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ProtectionSpace&) final;
    92 #endif
    93 
    94 #if PLATFORM(IOS_FAMILY)
    95     RetainPtr<CFDictionaryRef> connectionProperties(WebCore::DocumentLoader*, unsigned long identifier) final;
    96 #endif
    97 
    98     void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&) final;
    99     void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength) final;
    100     void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier) final;
     91    bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ProtectionSpace&) final;
     92#endif
     93
     94#if PLATFORM(IOS_FAMILY)
     95    RetainPtr<CFDictionaryRef> connectionProperties(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
     96#endif
     97
     98    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) final;
     99    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, int dataLength) final;
     100    void dispatchDidFinishLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final;
    101101#if ENABLE(DATA_DETECTION)
    102102    void dispatchDidFinishDataDetection(NSArray *detectionResults) final;
    103103#endif
    104     void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&) final;
    105 
    106     void willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
     104    void dispatchDidFailLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) final;
     105
     106    void willCacheResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, NSCachedURLResponse*, CompletionHandler<void(NSCachedURLResponse *)>&&) const final;
    107107
    108108    void dispatchDidDispatchOnloadEvents() final;
  • trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm

    r281832 r282712  
    337337}
    338338
    339 void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader* loader, const WebCore::ResourceRequest& request)
     339void WebFrameLoaderClient::assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier identifier, WebCore::DocumentLoader* loader, const WebCore::ResourceRequest& request)
    340340{
    341341    WebView *webView = getWebView(m_webFrame.get());
     
    357357}
    358358
    359 void WebFrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, unsigned long identifier, WebCore::ResourceRequest& request, const WebCore::ResourceResponse& redirectResponse)
     359void WebFrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, WebCore::ResourceRequest& request, const WebCore::ResourceResponse& redirectResponse)
    360360{
    361361    WebView *webView = getWebView(m_webFrame.get());
     
    387387}
    388388
    389 bool WebFrameLoaderClient::shouldUseCredentialStorage(WebCore::DocumentLoader* loader, unsigned long identifier)
     389bool WebFrameLoaderClient::shouldUseCredentialStorage(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier)
    390390{
    391391    WebView *webView = getWebView(m_webFrame.get());
     
    400400}
    401401
    402 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader* loader, unsigned long identifier, const WebCore::AuthenticationChallenge& challenge)
     402void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::AuthenticationChallenge& challenge)
    403403{
    404404    WebView *webView = getWebView(m_webFrame.get());
     
    421421
    422422#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
    423 bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader* loader, unsigned long identifier, const WebCore::ProtectionSpace& protectionSpace)
     423bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ProtectionSpace& protectionSpace)
    424424{
    425425    WebView *webView = getWebView(m_webFrame.get());
     
    442442
    443443#if PLATFORM(IOS_FAMILY)
    444 RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(WebCore::DocumentLoader* loader, unsigned long identifier)
     444RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier)
    445445{
    446446    WebView *webView = getWebView(m_webFrame.get());
     
    469469}
    470470
    471 void WebFrameLoaderClient::dispatchDidReceiveResponse(WebCore::DocumentLoader* loader, unsigned long identifier, const WebCore::ResourceResponse& response)
     471void WebFrameLoaderClient::dispatchDidReceiveResponse(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceResponse& response)
    472472{
    473473    WebView *webView = getWebView(m_webFrame.get());
     
    487487}
    488488
    489 void WebFrameLoaderClient::willCacheResponse(WebCore::DocumentLoader* loader, unsigned long identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
     489void WebFrameLoaderClient::willCacheResponse(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const
    490490{
    491491    WebView *webView = getWebView(m_webFrame.get());
     
    507507}
    508508
    509 void WebFrameLoaderClient::dispatchDidReceiveContentLength(WebCore::DocumentLoader* loader, unsigned long identifier, int dataLength)
     509void WebFrameLoaderClient::dispatchDidReceiveContentLength(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, int dataLength)
    510510{
    511511    WebView *webView = getWebView(m_webFrame.get());
     
    529529#endif
    530530
    531 void WebFrameLoaderClient::dispatchDidFinishLoading(WebCore::DocumentLoader* loader, unsigned long identifier)
     531void WebFrameLoaderClient::dispatchDidFinishLoading(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier)
    532532{
    533533    WebView *webView = getWebView(m_webFrame.get());
     
    551551}
    552552
    553 void WebFrameLoaderClient::dispatchDidFailLoading(WebCore::DocumentLoader* loader, unsigned long identifier, const WebCore::ResourceError& error)
     553void WebFrameLoaderClient::dispatchDidFailLoading(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceError& error)
    554554{
    555555    WebView *webView = getWebView(m_webFrame.get());
  • trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.h

    r187002 r282712  
    2828
    2929#import <WebCore/DocumentLoader.h>
     30#import <WebCore/ResourceLoaderIdentifier.h>
    3031#import <wtf/RetainPtr.h>
    3132#import <wtf/HashSet.h>
     
    4950    WebDataSource *dataSource() const;
    5051
    51     void increaseLoadCount(unsigned long identifier);
    52     void decreaseLoadCount(unsigned long identifier);
     52    void increaseLoadCount(WebCore::ResourceLoaderIdentifier);
     53    void decreaseLoadCount(WebCore::ResourceLoaderIdentifier);
    5354
    5455private:
     
    6566    RetainPtr<id> m_resourceLoadDelegate;
    6667    RetainPtr<id> m_downloadDelegate;
    67     HashSet<unsigned long> m_loadingResources;
     68    HashSet<WebCore::ResourceLoaderIdentifier> m_loadingResources;
    6869};
  • trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm

    r237266 r282712  
    9393}
    9494
    95 void WebDocumentLoaderMac::increaseLoadCount(unsigned long identifier)
     95void WebDocumentLoaderMac::increaseLoadCount(WebCore::ResourceLoaderIdentifier identifier)
    9696{
    9797    ASSERT(m_dataSource);
     
    104104}
    105105
    106 void WebDocumentLoaderMac::decreaseLoadCount(unsigned long identifier)
     106void WebDocumentLoaderMac::decreaseLoadCount(WebCore::ResourceLoaderIdentifier identifier)
    107107{
    108     HashSet<unsigned long>::iterator it = m_loadingResources.find(identifier);
     108    auto it = m_loadingResources.find(identifier);
    109109   
    110110    // It is valid for a load to be cancelled before it's started.
  • trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h

    r278993 r282712  
    4343#import <WebCore/LayoutMilestone.h>
    4444#import <WebCore/PlaybackTargetClientContextIdentifier.h>
     45#import <WebCore/ResourceLoaderIdentifier.h>
    4546#import <WebCore/TextAlternativeWithRange.h>
    4647#import <WebCore/TextIndicator.h>
     
    251252#endif
    252253
    253 - (void)_addObject:(id)object forIdentifier:(unsigned long)identifier;
    254 - (id)_objectForIdentifier:(unsigned long)identifier;
    255 - (void)_removeObjectForIdentifier:(unsigned long)identifier;
     254#ifdef __cplusplus
     255- (void)_addObject:(id)object forIdentifier:(WebCore::ResourceLoaderIdentifier)identifier;
     256- (id)_objectForIdentifier:(WebCore::ResourceLoaderIdentifier)identifier;
     257- (void)_removeObjectForIdentifier:(WebCore::ResourceLoaderIdentifier)identifier;
     258#endif
    256259
    257260- (void)_setZoomMultiplier:(float)multiplier isTextOnly:(BOOL)isTextOnly;
  • trunk/Source/WebKitLegacy/win/ChangeLog

    r282686 r282712  
     12021-09-17  Alex Christensen  <achristensen@webkit.org>
     2
     3        Use ObjectIdentifier for ResourceLoader
     4        https://bugs.webkit.org/show_bug.cgi?id=230278
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * WebCoreSupport/WebFrameLoaderClient.cpp:
     9        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
     10        (WebFrameLoaderClient::shouldUseCredentialStorage):
     11        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
     12        (WebFrameLoaderClient::dispatchWillSendRequest):
     13        (WebFrameLoaderClient::dispatchDidReceiveResponse):
     14        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
     15        (WebFrameLoaderClient::dispatchDidFinishLoading):
     16        (WebFrameLoaderClient::dispatchDidFailLoading):
     17        (WebFrameLoaderClient::shouldCacheResponse):
     18        * WebCoreSupport/WebFrameLoaderClient.h:
     19
    1202021-09-17  Simon Fraser  <simon.fraser@apple.com>
    221
  • trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp

    r281832 r282712  
    178178}
    179179
    180 void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
     180void WebFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request)
    181181{
    182182    WebView* webView = m_webFrame->webView();
     
    186186
    187187    COMPtr<WebMutableURLRequest> webURLRequest(AdoptCOM, WebMutableURLRequest::createInstance(request));
    188     resourceLoadDelegate->identifierForInitialRequest(webView, webURLRequest.get(), getWebDataSource(loader), identifier);
    189 }
    190 
    191 bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, unsigned long identifier)
     188    resourceLoadDelegate->identifierForInitialRequest(webView, webURLRequest.get(), getWebDataSource(loader), identifier.toUInt64());
     189}
     190
     191bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, ResourceLoaderIdentifier identifier)
    192192{
    193193    WebView* webView = m_webFrame->webView();
     
    201201
    202202    BOOL shouldUse;
    203     if (SUCCEEDED(resourceLoadDelegatePrivate->shouldUseCredentialStorage(webView, identifier, getWebDataSource(loader), &shouldUse)))
     203    if (SUCCEEDED(resourceLoadDelegatePrivate->shouldUseCredentialStorage(webView, identifier.toUInt64(), getWebDataSource(loader), &shouldUse)))
    204204        return shouldUse;
    205205
     
    207207}
    208208
    209 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, unsigned long identifier, const AuthenticationChallenge& challenge)
     209void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const AuthenticationChallenge& challenge)
    210210{
    211211    ASSERT(challenge.authenticationClient());
     
    215215    if (SUCCEEDED(webView->resourceLoadDelegate(&resourceLoadDelegate))) {
    216216        COMPtr<WebURLAuthenticationChallenge> webChallenge(AdoptCOM, WebURLAuthenticationChallenge::createInstance(challenge));
    217         if (SUCCEEDED(resourceLoadDelegate->didReceiveAuthenticationChallenge(webView, identifier, webChallenge.get(), getWebDataSource(loader))))
     217        if (SUCCEEDED(resourceLoadDelegate->didReceiveAuthenticationChallenge(webView, identifier.toUInt64(), webChallenge.get(), getWebDataSource(loader))))
    218218            return;
    219219    }
     
    224224}
    225225
    226 void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
     226void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
    227227{
    228228    WebView* webView = m_webFrame->webView();
     
    235235
    236236    COMPtr<IWebURLRequest> newWebURLRequest;
    237     if (FAILED(resourceLoadDelegate->willSendRequest(webView, identifier, webURLRequest.get(), webURLRedirectResponse.get(), getWebDataSource(loader), &newWebURLRequest)))
     237    if (FAILED(resourceLoadDelegate->willSendRequest(webView, identifier.toUInt64(), webURLRequest.get(), webURLRedirectResponse.get(), getWebDataSource(loader), &newWebURLRequest)))
    238238        return;
    239239
     
    253253}
    254254
    255 void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response)
     255void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& response)
    256256{
    257257    WebView* webView = m_webFrame->webView();
     
    261261
    262262    COMPtr<WebURLResponse> webURLResponse(AdoptCOM, WebURLResponse::createInstance(response));
    263     resourceLoadDelegate->didReceiveResponse(webView, identifier, webURLResponse.get(), getWebDataSource(loader));
    264 }
    265 
    266 void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader* loader, unsigned long identifier, int length)
     263    resourceLoadDelegate->didReceiveResponse(webView, identifier.toUInt64(), webURLResponse.get(), getWebDataSource(loader));
     264}
     265
     266void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader* loader, ResourceLoaderIdentifier identifier, int length)
    267267{
    268268    WebView* webView = m_webFrame->webView();
     
    271271        return;
    272272
    273     resourceLoadDelegate->didReceiveContentLength(webView, identifier, length, getWebDataSource(loader));
    274 }
    275 
    276 void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, unsigned long identifier)
     273    resourceLoadDelegate->didReceiveContentLength(webView, identifier.toUInt64(), length, getWebDataSource(loader));
     274}
     275
     276void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier)
    277277{
    278278    WebView* webView = m_webFrame->webView();
     
    281281        return;
    282282
    283     resourceLoadDelegate->didFinishLoadingFromDataSource(webView, identifier, getWebDataSource(loader));
    284 }
    285 
    286 void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
     283    resourceLoadDelegate->didFinishLoadingFromDataSource(webView, identifier.toUInt64(), getWebDataSource(loader));
     284}
     285
     286void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error)
    287287{
    288288    WebView* webView = m_webFrame->webView();
     
    292292
    293293    COMPtr<WebError> webError(AdoptCOM, WebError::createInstance(error));
    294     resourceLoadDelegate->didFailLoadingWithError(webView, identifier, webError.get(), getWebDataSource(loader));
     294    resourceLoadDelegate->didFailLoadingWithError(webView, identifier.toUInt64(), webError.get(), getWebDataSource(loader));
    295295}
    296296
    297297#if USE(CFURLCONNECTION)
    298 bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response, const unsigned char* data, const unsigned long long length)
     298bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& response, const unsigned char* data, const unsigned long long length)
    299299{
    300300    WebView* webView = m_webFrame->webView();
     
    309309    COMPtr<IWebURLResponse> urlResponse(AdoptCOM, WebURLResponse::createInstance(response));
    310310    BOOL shouldCache;
    311     if (SUCCEEDED(resourceLoadDelegatePrivate->shouldCacheResponse(webView, identifier, urlResponse.get(), data, length, getWebDataSource(loader), &shouldCache)))
     311    if (SUCCEEDED(resourceLoadDelegatePrivate->shouldCacheResponse(webView, identifier.toUInt64(), urlResponse.get(), data, length, getWebDataSource(loader), &shouldCache)))
    312312        return shouldCache;
    313313
  • trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h

    r281832 r282712  
    6161
    6262    void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&) override;
    63     void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) override;
     63    void assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) override;
    6464
    65     void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) override;
    66     bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier) override;
    67     void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&) override;
    68     void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&) override;
    69     void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength) override;
    70     void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier) override;
    71     void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&) override;
     65    void dispatchWillSendRequest(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) override;
     66    bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) override;
     67    void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::AuthenticationChallenge&) override;
     68    void dispatchDidReceiveResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&) override;
     69    void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, int dataLength) override;
     70    void dispatchDidFinishLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) override;
     71    void dispatchDidFailLoading(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceError&) override;
    7272#if USE(CFURLCONNECTION)
    73     bool shouldCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length) override;
     73    bool shouldCacheResponse(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length) override;
    7474#endif
    7575
Note: See TracChangeset for help on using the changeset viewer.