Changeset 282712 in webkit
- Timestamp:
- Sep 17, 2021, 5:10:03 PM (4 years ago)
- Location:
- trunk/Source
- Files:
-
- 1 added
- 125 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/Headers.cmake (modified) (1 diff)
-
WebCore/Modules/fetch/FetchLoader.cpp (modified) (2 diffs)
-
WebCore/Modules/fetch/FetchLoader.h (modified) (1 diff)
-
WebCore/WebCore.xcodeproj/project.pbxproj (modified) (4 diffs)
-
WebCore/bindings/js/WorkerModuleScriptLoader.h (modified) (1 diff)
-
WebCore/dom/Document.cpp (modified) (1 diff)
-
WebCore/fileapi/FileReaderLoader.cpp (modified) (2 diffs)
-
WebCore/fileapi/FileReaderLoader.h (modified) (1 diff)
-
WebCore/inspector/InspectorInstrumentation.cpp (modified) (10 diffs)
-
WebCore/inspector/InspectorInstrumentation.h (modified) (22 diffs)
-
WebCore/inspector/InspectorInstrumentationWebKit.cpp (modified) (1 diff)
-
WebCore/inspector/InspectorInstrumentationWebKit.h (modified) (3 diffs)
-
WebCore/inspector/agents/InspectorNetworkAgent.cpp (modified) (14 diffs)
-
WebCore/inspector/agents/InspectorNetworkAgent.h (modified) (4 diffs)
-
WebCore/inspector/agents/WebConsoleAgent.cpp (modified) (2 diffs)
-
WebCore/inspector/agents/WebConsoleAgent.h (modified) (2 diffs)
-
WebCore/loader/CrossOriginPreflightChecker.cpp (modified) (2 diffs)
-
WebCore/loader/CrossOriginPreflightChecker.h (modified) (2 diffs)
-
WebCore/loader/DocumentLoader.cpp (modified) (12 diffs)
-
WebCore/loader/DocumentLoader.h (modified) (5 diffs)
-
WebCore/loader/DocumentThreadableLoader.cpp (modified) (6 diffs)
-
WebCore/loader/DocumentThreadableLoader.h (modified) (2 diffs)
-
WebCore/loader/EmptyClients.cpp (modified) (7 diffs)
-
WebCore/loader/EmptyFrameLoaderClient.h (modified) (2 diffs)
-
WebCore/loader/FrameLoader.cpp (modified) (9 diffs)
-
WebCore/loader/FrameLoader.h (modified) (3 diffs)
-
WebCore/loader/FrameLoaderClient.h (modified) (4 diffs)
-
WebCore/loader/LoaderStrategy.cpp (modified) (1 diff)
-
WebCore/loader/LoaderStrategy.h (modified) (3 diffs)
-
WebCore/loader/PingLoader.cpp (modified) (1 diff)
-
WebCore/loader/ProgressTracker.cpp (modified) (4 diffs)
-
WebCore/loader/ProgressTracker.h (modified) (3 diffs)
-
WebCore/loader/ResourceLoadNotifier.cpp (modified) (8 diffs)
-
WebCore/loader/ResourceLoadNotifier.h (modified) (3 diffs)
-
WebCore/loader/ResourceLoader.cpp (modified) (3 diffs)
-
WebCore/loader/ResourceLoader.h (modified) (3 diffs)
-
WebCore/loader/ResourceLoaderIdentifier.h (added)
-
WebCore/loader/SubresourceLoader.cpp (modified) (7 diffs)
-
WebCore/loader/ThreadableLoaderClient.h (modified) (1 diff)
-
WebCore/loader/ThreadableLoaderClientWrapper.h (modified) (3 diffs)
-
WebCore/loader/WorkerThreadableLoader.cpp (modified) (3 diffs)
-
WebCore/loader/WorkerThreadableLoader.h (modified) (2 diffs)
-
WebCore/loader/appcache/ApplicationCacheGroup.cpp (modified) (2 diffs)
-
WebCore/loader/appcache/ApplicationCacheGroup.h (modified) (1 diff)
-
WebCore/loader/cache/CachedRawResource.cpp (modified) (1 diff)
-
WebCore/loader/cache/CachedRawResource.h (modified) (2 diffs)
-
WebCore/loader/cache/CachedResource.cpp (modified) (1 diff)
-
WebCore/loader/cache/CachedResource.h (modified) (3 diffs)
-
WebCore/page/EventSource.cpp (modified) (2 diffs)
-
WebCore/page/EventSource.h (modified) (1 diff)
-
WebCore/workers/Worker.cpp (modified) (1 diff)
-
WebCore/workers/Worker.h (modified) (1 diff)
-
WebCore/workers/WorkerFontLoadRequest.cpp (modified) (2 diffs)
-
WebCore/workers/WorkerFontLoadRequest.h (modified) (1 diff)
-
WebCore/workers/WorkerOrWorkletGlobalScope.h (modified) (2 diffs)
-
WebCore/workers/WorkerScriptLoader.cpp (modified) (2 diffs)
-
WebCore/workers/WorkerScriptLoader.h (modified) (2 diffs)
-
WebCore/workers/WorkerScriptLoaderClient.h (modified) (1 diff)
-
WebCore/workers/service/ServiceWorkerJob.cpp (modified) (1 diff)
-
WebCore/workers/service/ServiceWorkerJob.h (modified) (1 diff)
-
WebCore/xml/XMLHttpRequest.cpp (modified) (2 diffs)
-
WebCore/xml/XMLHttpRequest.h (modified) (1 diff)
-
WebKit/ChangeLog (modified) (1 diff)
-
WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (modified) (16 diffs)
-
WebKit/NetworkProcess/NetworkConnectionToWebProcess.h (modified) (13 diffs)
-
WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in (modified) (3 diffs)
-
WebKit/NetworkProcess/NetworkProcess.cpp (modified) (2 diffs)
-
WebKit/NetworkProcess/NetworkProcess.h (modified) (1 diff)
-
WebKit/NetworkProcess/NetworkProcess.messages.in (modified) (1 diff)
-
WebKit/NetworkProcess/NetworkResourceLoadMap.cpp (modified) (4 diffs)
-
WebKit/NetworkProcess/NetworkResourceLoadMap.h (modified) (2 diffs)
-
WebKit/NetworkProcess/NetworkResourceLoadParameters.h (modified) (3 diffs)
-
WebKit/NetworkProcess/NetworkResourceLoader.cpp (modified) (6 diffs)
-
WebKit/NetworkProcess/NetworkResourceLoader.h (modified) (4 diffs)
-
WebKit/Scripts/webkit/messages.py (modified) (1 diff)
-
WebKit/Shared/URLSchemeTaskParameters.cpp (modified) (1 diff)
-
WebKit/Shared/URLSchemeTaskParameters.h (modified) (2 diffs)
-
WebKit/UIProcess/API/glib/WebKitWebContext.cpp (modified) (2 diffs)
-
WebKit/UIProcess/Network/NetworkProcessProxy.cpp (modified) (1 diff)
-
WebKit/UIProcess/Network/NetworkProcessProxy.h (modified) (1 diff)
-
WebKit/UIProcess/ProvisionalPageProxy.cpp (modified) (1 diff)
-
WebKit/UIProcess/ProvisionalPageProxy.h (modified) (1 diff)
-
WebKit/UIProcess/WebPageProxy.cpp (modified) (2 diffs)
-
WebKit/UIProcess/WebPageProxy.h (modified) (3 diffs)
-
WebKit/UIProcess/WebPageProxy.messages.in (modified) (2 diffs)
-
WebKit/UIProcess/WebURLSchemeHandler.cpp (modified) (5 diffs)
-
WebKit/UIProcess/WebURLSchemeHandler.h (modified) (3 diffs)
-
WebKit/UIProcess/WebURLSchemeTask.h (modified) (2 diffs)
-
WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h (modified) (2 diffs)
-
WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp (modified) (4 diffs)
-
WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp (modified) (2 diffs)
-
WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h (modified) (1 diff)
-
WebKit/WebProcess/Network/NetworkProcessConnection.cpp (modified) (2 diffs)
-
WebKit/WebProcess/Network/NetworkProcessConnection.h (modified) (5 diffs)
-
WebKit/WebProcess/Network/NetworkProcessConnection.messages.in (modified) (1 diff)
-
WebKit/WebProcess/Network/WebLoaderStrategy.cpp (modified) (16 diffs)
-
WebKit/WebProcess/Network/WebLoaderStrategy.h (modified) (7 diffs)
-
WebKit/WebProcess/Network/WebResourceInterceptController.cpp (modified) (2 diffs)
-
WebKit/WebProcess/Network/WebResourceInterceptController.h (modified) (2 diffs)
-
WebKit/WebProcess/Network/WebResourceLoader.cpp (modified) (3 diffs)
-
WebKit/WebProcess/Network/WebResourceLoader.h (modified) (3 diffs)
-
WebKit/WebProcess/Storage/WebSWContextManagerConnection.h (modified) (1 diff)
-
WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (modified) (12 diffs)
-
WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (modified) (2 diffs)
-
WebKit/WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm (modified) (1 diff)
-
WebKit/WebProcess/WebPage/WebFrame.cpp (modified) (1 diff)
-
WebKit/WebProcess/WebPage/WebPage.cpp (modified) (8 diffs)
-
WebKit/WebProcess/WebPage/WebPage.h (modified) (4 diffs)
-
WebKit/WebProcess/WebPage/WebPage.messages.in (modified) (2 diffs)
-
WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp (modified) (6 diffs)
-
WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h (modified) (3 diffs)
-
WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp (modified) (1 diff)
-
WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.h (modified) (3 diffs)
-
WebKitLegacy/ChangeLog (modified) (1 diff)
-
WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp (modified) (1 diff)
-
WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h (modified) (1 diff)
-
WebKitLegacy/mac/ChangeLog (modified) (1 diff)
-
WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h (modified) (1 diff)
-
WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm (modified) (11 diffs)
-
WebKitLegacy/mac/WebView/WebDocumentLoaderMac.h (modified) (3 diffs)
-
WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm (modified) (2 diffs)
-
WebKitLegacy/mac/WebView/WebViewInternal.h (modified) (2 diffs)
-
WebKitLegacy/win/ChangeLog (modified) (1 diff)
-
WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp (modified) (13 diffs)
-
WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r282710 r282712 1 2021-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 1 206 2021-09-17 Myles C. Maxfield <mmaxfield@apple.com> 2 207 -
trunk/Source/WebCore/Headers.cmake
r282361 r282712 845 845 loader/ResourceLoadTiming.h 846 846 loader/ResourceLoader.h 847 loader/ResourceLoaderIdentifier.h 847 848 loader/ResourceLoaderOptions.h 848 849 loader/ResourceLoaderTypes.h -
trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp
r281055 r282712 143 143 } 144 144 145 void FetchLoader::didReceiveResponse( unsigned long, const ResourceResponse& response)145 void FetchLoader::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) 146 146 { 147 147 m_client.didReceiveResponse(response); … … 157 157 } 158 158 159 void FetchLoader::didFinishLoading( unsigned long)159 void FetchLoader::didFinishLoading(ResourceLoaderIdentifier) 160 160 { 161 161 m_client.didSucceed(); -
trunk/Source/WebCore/Modules/fetch/FetchLoader.h
r278516 r282712 58 58 private: 59 59 // ThreadableLoaderClient API. 60 void didReceiveResponse( unsigned long, const ResourceResponse&) final;60 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final; 61 61 void didReceiveData(const uint8_t*, int) final; 62 void didFinishLoading( unsigned long) final;62 void didFinishLoading(ResourceLoaderIdentifier) final; 63 63 void didFail(const ResourceError&) final; 64 64 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r282702 r282712 2024 2024 5B46656325D14C0A000CFE14 /* ScrollingEffectsController.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B46655F25D14C09000CFE14 /* ScrollingEffectsController.h */; settings = {ATTRIBUTES = (Private, ); }; }; 2025 2025 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, ); }; }; 2026 2027 5C2B1AEC22397EBC00B91CF7 /* ResourceResponseCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1F78D0B1C25422C00245446 /* ResourceResponseCocoa.mm */; }; 2027 2028 5C4304B1191AC908000E2BC0 /* EXTShaderTextureLOD.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4304AE191AC908000E2BC0 /* EXTShaderTextureLOD.h */; }; … … 9804 9805 5C1B1D2526F188D800882DA2 /* WorkerOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WorkerOptions.idl; sourceTree = "<group>"; }; 9805 9806 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>"; }; 9806 9808 5C2EBE012577198900D55B05 /* SerializedNFA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SerializedNFA.h; sourceTree = "<group>"; }; 9807 9809 5C2EBE0325771A4C00D55B05 /* SerializedNFA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SerializedNFA.cpp; sourceTree = "<group>"; }; … … 27826 27828 93E227DE0AF589AD00D48324 /* ResourceLoader.cpp */, 27827 27829 656D37270ADBA5DE00A4554D /* ResourceLoader.h */, 27830 5C1B1D3D26F3977F00882DA2 /* ResourceLoaderIdentifier.h */, 27828 27831 D0A3A7301405A39800FB8ED3 /* ResourceLoaderOptions.h */, 27829 27832 51AF503516F100F60095B2E8 /* ResourceLoaderTypes.h */, … … 34788 34791 514C767B0CE923A1007EF3CD /* ResourceHandleInternal.h in Headers */, 34789 34792 656D373F0ADBA5DE00A4554D /* ResourceLoader.h in Headers */, 34793 5C1B1D3F26F3978000882DA2 /* ResourceLoaderIdentifier.h in Headers */, 34790 34794 D0A3A7311405A39800FB8ED3 /* ResourceLoaderOptions.h in Headers */, 34791 34795 51AF503616F100F60095B2E8 /* ResourceLoaderTypes.h in Headers */, -
trunk/Source/WebCore/bindings/js/WorkerModuleScriptLoader.h
r275751 r282712 66 66 WorkerModuleScriptLoader(ModuleScriptLoaderClient&, DeferredPromise&, WorkerScriptFetcher&, RefPtr<ModuleFetchParameters>&&); 67 67 68 void didReceiveResponse( unsigned long, const ResourceResponse&) final { }68 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final { } 69 69 void notifyFinished() final; 70 70 -
trunk/Source/WebCore/dom/Document.cpp
r282628 r282712 3834 3834 if (frame) { 3835 3835 FrameLoader& frameLoader = frame->loader(); 3836 unsigned long requestIdentifier = 0;3836 ResourceLoaderIdentifier requestIdentifier; 3837 3837 if (frameLoader.activeDocumentLoader() && frameLoader.activeDocumentLoader()->mainResourceLoader()) 3838 3838 requestIdentifier = frameLoader.activeDocumentLoader()->mainResourceLoader()->identifier(); 3839 3839 3840 3840 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()); 3842 3842 } 3843 3843 break; -
trunk/Source/WebCore/fileapi/FileReaderLoader.cpp
r281055 r282712 127 127 } 128 128 129 void FileReaderLoader::didReceiveResponse( unsigned long, const ResourceResponse& response)129 void FileReaderLoader::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) 130 130 { 131 131 if (response.httpStatusCode() != 200) { … … 216 216 } 217 217 218 void FileReaderLoader::didFinishLoading( unsigned long)218 void FileReaderLoader::didFinishLoading(ResourceLoaderIdentifier) 219 219 { 220 220 if (m_variableLength && m_totalBytes > m_bytesLoaded) { -
trunk/Source/WebCore/fileapi/FileReaderLoader.h
r278516 r282712 70 70 71 71 // ThreadableLoaderClient 72 void didReceiveResponse( unsigned long, const ResourceResponse&) override;72 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override; 73 73 void didReceiveData(const uint8_t*, int) override; 74 void didFinishLoading( unsigned long) override;74 void didFinishLoading(ResourceLoaderIdentifier) override; 75 75 void didFail(const ResourceError&) override; 76 76 -
trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp
r280467 r282712 576 576 } 577 577 578 void InspectorInstrumentation::willSendRequestImpl(InstrumentingAgents& instrumentingAgents, unsigned longidentifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)578 void InspectorInstrumentation::willSendRequestImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource) 579 579 { 580 580 if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent()) … … 582 582 } 583 583 584 void InspectorInstrumentation::willSendRequestOfTypeImpl(InstrumentingAgents& instrumentingAgents, unsigned longidentifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)584 void InspectorInstrumentation::willSendRequestOfTypeImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType) 585 585 { 586 586 if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent()) … … 597 597 } 598 598 599 void InspectorInstrumentation::didReceiveResourceResponseImpl(InstrumentingAgents& instrumentingAgents, unsigned longidentifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)599 void InspectorInstrumentation::didReceiveResourceResponseImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader) 600 600 { 601 601 if (LIKELY(!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled())) … … 608 608 } 609 609 610 void InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl(InstrumentingAgents& instrumentingAgents, DocumentThreadableLoader& documentThreadableLoader, unsigned longidentifier)610 void InspectorInstrumentation::didReceiveThreadableLoaderResponseImpl(InstrumentingAgents& instrumentingAgents, DocumentThreadableLoader& documentThreadableLoader, ResourceLoaderIdentifier identifier) 611 611 { 612 612 if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent()) … … 614 614 } 615 615 616 void InspectorInstrumentation::didReceiveDataImpl(InstrumentingAgents& instrumentingAgents, unsigned longidentifier, const uint8_t* data, int dataLength, int encodedDataLength)616 void InspectorInstrumentation::didReceiveDataImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength) 617 617 { 618 618 if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent()) … … 620 620 } 621 621 622 void InspectorInstrumentation::didFinishLoadingImpl(InstrumentingAgents& instrumentingAgents, unsigned longidentifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)622 void InspectorInstrumentation::didFinishLoadingImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader) 623 623 { 624 624 if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent()) … … 626 626 } 627 627 628 void InspectorInstrumentation::didFailLoadingImpl(InstrumentingAgents& instrumentingAgents, unsigned longidentifier, DocumentLoader* loader, const ResourceError& error)628 void InspectorInstrumentation::didFailLoadingImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceError& error) 629 629 { 630 630 if (LIKELY(!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled())) … … 649 649 } 650 650 651 void InspectorInstrumentation::scriptImportedImpl(InstrumentingAgents& instrumentingAgents, unsigned longidentifier, const String& sourceString)651 void InspectorInstrumentation::scriptImportedImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier, const String& sourceString) 652 652 { 653 653 if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent()) … … 661 661 } 662 662 663 void InspectorInstrumentation::didReceiveScriptResponseImpl(InstrumentingAgents& instrumentingAgents, unsigned longidentifier)663 void InspectorInstrumentation::didReceiveScriptResponseImpl(InstrumentingAgents& instrumentingAgents, ResourceLoaderIdentifier identifier) 664 664 { 665 665 if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent()) … … 851 851 } 852 852 853 void InspectorInstrumentation::interceptResponseImpl(InstrumentingAgents& instrumentingAgents, const ResourceResponse& response, unsigned longidentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)853 void InspectorInstrumentation::interceptResponseImpl(InstrumentingAgents& instrumentingAgents, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler) 854 854 { 855 855 if (auto* networkAgent = instrumentingAgents.enabledNetworkAgent()) -
trunk/Source/WebCore/inspector/InspectorInstrumentation.h
r280467 r282712 46 46 #include "Page.h" 47 47 #include "ResourceLoader.h" 48 #include "ResourceLoaderIdentifier.h" 48 49 #include "StorageArea.h" 49 50 #include "WebAnimation.h" … … 185 186 static void applyEmulatedMedia(Frame&, String&); 186 187 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*); 188 189 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&); 200 201 201 202 // Some network requests do not go through the normal network loading path. … … 203 204 // instrumentation calls. Some of these loads are for resources that lack a CachedResource::Type. 204 205 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&); 210 211 static void willLoadXHRSynchronously(ScriptExecutionContext*); 211 212 static void didLoadXHRSynchronously(ScriptExecutionContext*); 212 static void scriptImported(ScriptExecutionContext&, unsigned long identifier, const String& sourceString);213 static void scriptImported(ScriptExecutionContext&, ResourceLoaderIdentifier, const String& sourceString); 213 214 static void scriptExecutionBlockedByCSP(ScriptExecutionContext*, const String& directiveText); 214 static void didReceiveScriptResponse(ScriptExecutionContext*, unsigned long identifier);215 static void didReceiveScriptResponse(ScriptExecutionContext*, ResourceLoaderIdentifier); 215 216 static void domContentLoadedEventFired(Frame&); 216 217 static void loadEventFired(Frame*); … … 232 233 static bool shouldInterceptResponse(const Frame&, const ResourceResponse&); 233 234 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>)>&&); 235 236 236 237 static void addMessageToConsole(Page&, std::unique_ptr<Inspector::ConsoleMessage>); … … 404 405 static void applyEmulatedMediaImpl(InstrumentingAgents&, String&); 405 406 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); 409 410 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&); 415 416 static void willLoadXHRSynchronouslyImpl(InstrumentingAgents&); 416 417 static void didLoadXHRSynchronouslyImpl(InstrumentingAgents&); 417 static void scriptImportedImpl(InstrumentingAgents&, unsigned long identifier, const String& sourceString);418 static void scriptImportedImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const String& sourceString); 418 419 static void scriptExecutionBlockedByCSPImpl(InstrumentingAgents&, const String& directiveText); 419 static void didReceiveScriptResponseImpl(InstrumentingAgents&, unsigned long identifier);420 static void didReceiveScriptResponseImpl(InstrumentingAgents&, ResourceLoaderIdentifier); 420 421 static void domContentLoadedEventFiredImpl(InstrumentingAgents&, Frame&); 421 422 static void loadEventFiredImpl(InstrumentingAgents&, Frame*); … … 437 438 static bool shouldInterceptResponseImpl(InstrumentingAgents&, const ResourceResponse&); 438 439 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>)>&&); 440 441 441 442 static void addMessageToConsoleImpl(InstrumentingAgents&, std::unique_ptr<Inspector::ConsoleMessage>); … … 1034 1035 } 1035 1036 1036 inline void InspectorInstrumentation::willSendRequest(Frame* frame, unsigned longidentifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)1037 inline void InspectorInstrumentation::willSendRequest(Frame* frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource) 1037 1038 { 1038 1039 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1041 1042 } 1042 1043 1043 inline void InspectorInstrumentation::willSendRequest(WorkerOrWorkletGlobalScope& globalScope, unsigned longidentifier, ResourceRequest& request)1044 inline void InspectorInstrumentation::willSendRequest(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, ResourceRequest& request) 1044 1045 { 1045 1046 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1047 1048 } 1048 1049 1049 inline void InspectorInstrumentation::willSendRequestOfType(Frame* frame, unsigned longidentifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType)1050 inline void InspectorInstrumentation::willSendRequestOfType(Frame* frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, LoadType loadType) 1050 1051 { 1051 1052 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1060 1061 } 1061 1062 1062 inline void InspectorInstrumentation::didReceiveResourceResponse(Frame& frame, unsigned longidentifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)1063 inline void InspectorInstrumentation::didReceiveResourceResponse(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader) 1063 1064 { 1064 1065 if (auto* agents = instrumentingAgents(frame)) … … 1066 1067 } 1067 1068 1068 inline void InspectorInstrumentation::didReceiveResourceResponse(WorkerOrWorkletGlobalScope& globalScope, unsigned longidentifier, const ResourceResponse& response)1069 inline void InspectorInstrumentation::didReceiveResourceResponse(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const ResourceResponse& response) 1069 1070 { 1070 1071 didReceiveResourceResponseImpl(instrumentingAgents(globalScope), identifier, nullptr, response, nullptr); 1071 1072 } 1072 1073 1073 inline void InspectorInstrumentation::didReceiveThreadableLoaderResponse(DocumentThreadableLoader& documentThreadableLoader, unsigned longidentifier)1074 inline void InspectorInstrumentation::didReceiveThreadableLoaderResponse(DocumentThreadableLoader& documentThreadableLoader, ResourceLoaderIdentifier identifier) 1074 1075 { 1075 1076 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1078 1079 } 1079 1080 1080 inline void InspectorInstrumentation::didReceiveData(Frame* frame, unsigned longidentifier, const uint8_t* data, int dataLength, int encodedDataLength)1081 inline void InspectorInstrumentation::didReceiveData(Frame* frame, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength) 1081 1082 { 1082 1083 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1085 1086 } 1086 1087 1087 inline void InspectorInstrumentation::didReceiveData(WorkerOrWorkletGlobalScope& globalScope, unsigned longidentifier, const uint8_t* data, int dataLength)1088 inline void InspectorInstrumentation::didReceiveData(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength) 1088 1089 { 1089 1090 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1091 1092 } 1092 1093 1093 inline void InspectorInstrumentation::didFinishLoading(Frame* frame, DocumentLoader* loader, unsigned longidentifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)1094 inline void InspectorInstrumentation::didFinishLoading(Frame* frame, DocumentLoader* loader, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader) 1094 1095 { 1095 1096 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1098 1099 } 1099 1100 1100 inline void InspectorInstrumentation::didFinishLoading(WorkerOrWorkletGlobalScope& globalScope, unsigned longidentifier, const NetworkLoadMetrics& networkLoadMetrics)1101 inline void InspectorInstrumentation::didFinishLoading(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics) 1101 1102 { 1102 1103 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1104 1105 } 1105 1106 1106 inline void InspectorInstrumentation::didFailLoading(Frame* frame, DocumentLoader* loader, unsigned longidentifier, const ResourceError& error)1107 inline void InspectorInstrumentation::didFailLoading(Frame* frame, DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error) 1107 1108 { 1108 1109 if (auto* agents = instrumentingAgents(frame)) … … 1110 1111 } 1111 1112 1112 inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& globalScope, unsigned longidentifier, const ResourceError& error)1113 inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& globalScope, ResourceLoaderIdentifier identifier, const ResourceError& error) 1113 1114 { 1114 1115 didFailLoadingImpl(instrumentingAgents(globalScope), identifier, nullptr, error); 1115 1116 } 1116 1117 1117 inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(Frame& frame, unsigned longidentifier, DocumentLoader& loader, const ResourceResponse& response)1118 inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response) 1118 1119 { 1119 1120 // Treat the same as didReceiveResponse. … … 1122 1123 } 1123 1124 1124 inline void InspectorInstrumentation::continueWithPolicyDownload(Frame& frame, unsigned longidentifier, DocumentLoader& loader, const ResourceResponse& response)1125 inline void InspectorInstrumentation::continueWithPolicyDownload(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response) 1125 1126 { 1126 1127 // Treat the same as didReceiveResponse. … … 1129 1130 } 1130 1131 1131 inline void InspectorInstrumentation::continueWithPolicyIgnore(Frame& frame, unsigned longidentifier, DocumentLoader& loader, const ResourceResponse& response)1132 inline void InspectorInstrumentation::continueWithPolicyIgnore(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response) 1132 1133 { 1133 1134 // Treat the same as didReceiveResponse. … … 1150 1151 } 1151 1152 1152 inline void InspectorInstrumentation::scriptImported(ScriptExecutionContext& context, unsigned longidentifier, const String& sourceString)1153 inline void InspectorInstrumentation::scriptImported(ScriptExecutionContext& context, ResourceLoaderIdentifier identifier, const String& sourceString) 1153 1154 { 1154 1155 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1164 1165 } 1165 1166 1166 inline void InspectorInstrumentation::didReceiveScriptResponse(ScriptExecutionContext* context, unsigned longidentifier)1167 inline void InspectorInstrumentation::didReceiveScriptResponse(ScriptExecutionContext* context, ResourceLoaderIdentifier identifier) 1167 1168 { 1168 1169 FAST_RETURN_IF_NO_FRONTENDS(void()); … … 1285 1286 } 1286 1287 1287 inline void InspectorInstrumentation::interceptResponse(const Frame& frame, const ResourceResponse& response, unsigned longidentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)1288 inline void InspectorInstrumentation::interceptResponse(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler) 1288 1289 { 1289 1290 ASSERT(InspectorInstrumentation::shouldInterceptResponse(frame, response)); -
trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.cpp
r263119 r282712 46 46 } 47 47 48 void InspectorInstrumentationWebKit::interceptResponseInternal(const Frame& frame, const ResourceResponse& response, unsigned longidentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)48 void InspectorInstrumentationWebKit::interceptResponseInternal(const Frame& frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler) 49 49 { 50 50 InspectorInstrumentation::interceptResponse(frame, response, identifier, WTFMove(handler)); -
trunk/Source/WebCore/inspector/InspectorInstrumentationWebKit.h
r264630 r282712 44 44 static bool shouldInterceptResponse(const Frame*, const ResourceResponse&); 45 45 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>)>&&); 47 47 48 48 private: … … 50 50 static bool shouldInterceptResponseInternal(const Frame&, const ResourceResponse&); 51 51 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>)>&&); 53 53 }; 54 54 … … 77 77 } 78 78 79 inline void InspectorInstrumentationWebKit::interceptResponse(const Frame* frame, const ResourceResponse& response, unsigned longidentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)79 inline void InspectorInstrumentationWebKit::interceptResponse(const Frame* frame, const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler) 80 80 { 81 81 ASSERT(InspectorInstrumentationWebKit::shouldInterceptResponse(frame, response)); -
trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp
r279442 r282712 109 109 ~InspectorThreadableLoaderClient() override = default; 110 110 111 void didReceiveResponse( unsigned long, const ResourceResponse& response) override111 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) override 112 112 { 113 113 m_mimeType = response.mimeType(); … … 136 136 } 137 137 138 void didFinishLoading( unsigned long) override138 void didFinishLoading(ResourceLoaderIdentifier) override 139 139 { 140 140 if (m_decoder) … … 417 417 } 418 418 419 void InspectorNetworkAgent::willSendRequest( unsigned longidentifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType type)419 void InspectorNetworkAgent::willSendRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType type) 420 420 { 421 421 if (request.hiddenFromInspector()) { … … 427 427 WallTime walltime = WallTime::now(); 428 428 429 auto requestId = IdentifiersFactory::requestId(identifier );429 auto requestId = IdentifiersFactory::requestId(identifier.toUInt64()); 430 430 auto frameId = frameIdentifier(loader); 431 431 auto loaderId = loaderIdentifier(loader); … … 487 487 } 488 488 489 void InspectorNetworkAgent::willSendRequest( unsigned longidentifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)489 void InspectorNetworkAgent::willSendRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource) 490 490 { 491 491 if (!cachedResource && loader) … … 494 494 } 495 495 496 void InspectorNetworkAgent::willSendRequestOfType( unsigned longidentifier, DocumentLoader* loader, ResourceRequest& request, InspectorInstrumentation::LoadType loadType)496 void InspectorNetworkAgent::willSendRequestOfType(ResourceLoaderIdentifier identifier, DocumentLoader* loader, ResourceRequest& request, InspectorInstrumentation::LoadType loadType) 497 497 { 498 498 willSendRequest(identifier, loader, request, ResourceResponse(), resourceTypeForLoadType(loadType)); 499 499 } 500 500 501 void InspectorNetworkAgent::didReceiveResponse( unsigned longidentifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader)501 void InspectorNetworkAgent::didReceiveResponse(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceResponse& response, ResourceLoader* resourceLoader) 502 502 { 503 503 if (m_hiddenRequestIdentifiers.contains(identifier)) 504 504 return; 505 505 506 String requestId = IdentifiersFactory::requestId(identifier );506 String requestId = IdentifiersFactory::requestId(identifier.toUInt64()); 507 507 508 508 std::optional<ResourceResponse> realResponse; … … 576 576 } 577 577 578 void InspectorNetworkAgent::didReceiveData( unsigned longidentifier, const uint8_t* data, int dataLength, int encodedDataLength)578 void InspectorNetworkAgent::didReceiveData(ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength) 579 579 { 580 580 if (m_hiddenRequestIdentifiers.contains(identifier)) 581 581 return; 582 582 583 String requestId = IdentifiersFactory::requestId(identifier );583 String requestId = IdentifiersFactory::requestId(identifier.toUInt64()); 584 584 585 585 if (data) { … … 596 596 } 597 597 598 void InspectorNetworkAgent::didFinishLoading( unsigned longidentifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader*)598 void InspectorNetworkAgent::didFinishLoading(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader*) 599 599 { 600 600 if (m_hiddenRequestIdentifiers.remove(identifier)) … … 607 607 elapsedFinishTime = timestamp(); 608 608 609 String requestId = IdentifiersFactory::requestId(identifier );609 String requestId = IdentifiersFactory::requestId(identifier.toUInt64()); 610 610 if (loader && m_resourcesData->resourceType(requestId) == InspectorPageAgent::DocumentResource) 611 611 m_resourcesData->addResourceSharedBuffer(requestId, loader->frameLoader()->documentLoader()->mainResourceData(), loader->frame()->document()->encoding()); … … 629 629 } 630 630 631 void InspectorNetworkAgent::didFailLoading( unsigned longidentifier, DocumentLoader* loader, const ResourceError& error)631 void InspectorNetworkAgent::didFailLoading(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceError& error) 632 632 { 633 633 if (m_hiddenRequestIdentifiers.remove(identifier)) 634 634 return; 635 635 636 String requestId = IdentifiersFactory::requestId(identifier );636 String requestId = IdentifiersFactory::requestId(identifier.toUInt64()); 637 637 638 638 if (loader && m_resourcesData->resourceType(requestId) == InspectorPageAgent::DocumentResource) { … … 654 654 return; 655 655 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()); 658 658 Protocol::Network::LoaderId loaderId = loaderIdentifier(loader); 659 659 Protocol::Network::FrameId frameId = frameIdentifier(loader); … … 670 670 } 671 671 672 void InspectorNetworkAgent::setInitialScriptContent( unsigned longidentifier, const String& sourceString)673 { 674 m_resourcesData->setResourceContent(IdentifiersFactory::requestId(identifier ), sourceString);675 } 676 677 void InspectorNetworkAgent::didReceiveScriptResponse( unsigned longidentifier)678 { 679 m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier ), InspectorPageAgent::ScriptResource);680 } 681 682 void InspectorNetworkAgent::didReceiveThreadableLoaderResponse( unsigned longidentifier, DocumentThreadableLoader& documentThreadableLoader)672 void InspectorNetworkAgent::setInitialScriptContent(ResourceLoaderIdentifier identifier, const String& sourceString) 673 { 674 m_resourcesData->setResourceContent(IdentifiersFactory::requestId(identifier.toUInt64()), sourceString); 675 } 676 677 void InspectorNetworkAgent::didReceiveScriptResponse(ResourceLoaderIdentifier identifier) 678 { 679 m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::ScriptResource); 680 } 681 682 void InspectorNetworkAgent::didReceiveThreadableLoaderResponse(ResourceLoaderIdentifier identifier, DocumentThreadableLoader& documentThreadableLoader) 683 683 { 684 684 String initiator = documentThreadableLoader.options().initiator; 685 685 if (initiator == cachedResourceRequestInitiators().fetch) 686 m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier ), InspectorPageAgent::FetchResource);686 m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::FetchResource); 687 687 else if (initiator == cachedResourceRequestInitiators().xmlhttprequest) 688 m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier ), InspectorPageAgent::XHRResource);688 m_resourcesData->setResourceType(IdentifiersFactory::requestId(identifier.toUInt64()), InspectorPageAgent::XHRResource); 689 689 } 690 690 … … 1130 1130 ASSERT(m_interceptionEnabled); 1131 1131 1132 String requestId = IdentifiersFactory::requestId(loader.identifier() );1132 String requestId = IdentifiersFactory::requestId(loader.identifier().toUInt64()); 1133 1133 if (m_pendingInterceptRequests.contains(requestId)) { 1134 1134 handler(loader.request()); … … 1139 1139 } 1140 1140 1141 void InspectorNetworkAgent::interceptResponse(const ResourceResponse& response, unsigned longidentifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler)1141 void InspectorNetworkAgent::interceptResponse(const ResourceResponse& response, ResourceLoaderIdentifier identifier, CompletionHandler<void(const ResourceResponse&, RefPtr<SharedBuffer>)>&& handler) 1142 1142 { 1143 1143 ASSERT(m_enabled); 1144 1144 ASSERT(m_interceptionEnabled); 1145 1145 1146 String requestId = IdentifiersFactory::requestId(identifier );1146 String requestId = IdentifiersFactory::requestId(identifier.toUInt64()); 1147 1147 if (m_pendingInterceptResponses.contains(requestId)) { 1148 1148 ASSERT_NOT_REACHED(); -
trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.h
r278717 r282712 99 99 void willRecalculateStyle(); 100 100 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&); 107 107 void didLoadResourceFromMemoryCache(DocumentLoader*, CachedResource&); 108 void didReceiveThreadableLoaderResponse( unsigned long identifier, DocumentThreadableLoader&);108 void didReceiveThreadableLoaderResponse(ResourceLoaderIdentifier, DocumentThreadableLoader&); 109 109 void willLoadXHRSynchronously(); 110 110 void didLoadXHRSynchronously(); 111 void didReceiveScriptResponse( unsigned long identifier);111 void didReceiveScriptResponse(ResourceLoaderIdentifier); 112 112 void willDestroyCachedResource(CachedResource&); 113 113 void didCreateWebSocket(unsigned long identifier, const URL& requestURL); … … 119 119 void didReceiveWebSocketFrameError(unsigned long identifier, const String&); 120 120 void mainFrameNavigated(DocumentLoader&); 121 void setInitialScriptContent( unsigned long identifier, const String& sourceString);121 void setInitialScriptContent(ResourceLoaderIdentifier, const String& sourceString); 122 122 void didScheduleStyleRecalculation(Document&); 123 123 bool willIntercept(const ResourceRequest&); 124 124 bool shouldInterceptRequest(const ResourceRequest&); 125 125 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>)>&&); 127 127 void interceptRequest(ResourceLoader&, Function<void(const ResourceRequest&)>&&); 128 128 … … 141 141 142 142 private: 143 void willSendRequest( unsigned long identifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType);143 void willSendRequest(ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, InspectorPageAgent::ResourceType); 144 144 145 145 bool shouldIntercept(URL, Inspector::Protocol::Network::NetworkStage); … … 227 227 228 228 HashMap<String, String> m_extraRequestHeaders; 229 HashSet< unsigned long> m_hiddenRequestIdentifiers;229 HashSet<ResourceLoaderIdentifier> m_hiddenRequestIdentifiers; 230 230 231 231 struct Intercept { -
trunk/Source/WebCore/inspector/agents/WebConsoleAgent.cpp
r277967 r282712 66 66 } 67 67 68 void WebConsoleAgent::didReceiveResponse( unsigned longrequestIdentifier, const ResourceResponse& response)68 void WebConsoleAgent::didReceiveResponse(ResourceLoaderIdentifier requestIdentifier, const ResourceResponse& response) 69 69 { 70 70 if (response.httpStatusCode() >= 400) { 71 71 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())); 73 73 } 74 74 } 75 75 76 void WebConsoleAgent::didFailLoading( unsigned longrequestIdentifier, const ResourceError& error)76 void WebConsoleAgent::didFailLoading(ResourceLoaderIdentifier requestIdentifier, const ResourceError& error) 77 77 { 78 78 // Report failures only. … … 81 81 82 82 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())); 84 84 } 85 85 -
trunk/Source/WebCore/inspector/agents/WebConsoleAgent.h
r266885 r282712 27 27 28 28 #include "InspectorWebAgentBase.h" 29 #include "ResourceLoaderIdentifier.h" 29 30 #include <JavaScriptCore/InspectorConsoleAgent.h> 30 31 … … 44 45 // InspectorInstrumentation 45 46 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&); 48 49 }; 49 50 -
trunk/Source/WebCore/loader/CrossOriginPreflightChecker.cpp
r278800 r282712 59 59 } 60 60 61 void CrossOriginPreflightChecker::validatePreflightResponse(DocumentThreadableLoader& loader, ResourceRequest&& request, unsigned longidentifier, const ResourceResponse& response)61 void CrossOriginPreflightChecker::validatePreflightResponse(DocumentThreadableLoader& loader, ResourceRequest&& request, ResourceLoaderIdentifier identifier, const ResourceResponse& response) 62 62 { 63 63 auto* frame = loader.document().frame(); … … 142 142 RefPtr<SharedBuffer> data; 143 143 144 unsignedidentifier = 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); 145 145 146 146 if (!error.isNull()) { -
trunk/Source/WebCore/loader/CrossOriginPreflightChecker.h
r261597 r282712 33 33 #include "CachedRawResourceClient.h" 34 34 #include "CachedResourceHandle.h" 35 #include "ResourceLoaderIdentifier.h" 35 36 #include "ResourceRequest.h" 36 37 … … 58 59 59 60 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&); 61 62 62 63 DocumentThreadableLoader& m_loader; -
trunk/Source/WebCore/loader/DocumentLoader.cpp
r282429 r282712 465 465 // cancel the already-finished substitute load. 466 466 NetworkLoadMetrics emptyMetrics; 467 unsigned longidentifier = m_identifierForLoadWithoutResourceLoader;468 m_identifierForLoadWithoutResourceLoader = 0;467 ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader; 468 m_identifierForLoadWithoutResourceLoader = { }; 469 469 frameLoader()->notifier().dispatchDidFinishLoading(this, identifier, emptyMetrics, nullptr); 470 470 } … … 887 887 888 888 DOCUMENTLOADER_RELEASE_LOG("startLoadingMainResource: Returning substitute data"); 889 m_identifierForLoadWithoutResourceLoader = m_frame->page()->progress().createUniqueIdentifier();889 m_identifierForLoadWithoutResourceLoader = ResourceLoaderIdentifier::generate(); 890 890 frameLoader()->notifier().assignIdentifierToInitialRequest(m_identifierForLoadWithoutResourceLoader, this, m_request); 891 891 frameLoader()->notifier().dispatchWillSendRequest(this, m_identifierForLoadWithoutResourceLoader, m_request, ResourceResponse(), nullptr); … … 940 940 } 941 941 942 void DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied( unsigned longidentifier, const ResourceResponse& response)942 void DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(ResourceLoaderIdentifier identifier, const ResourceResponse& response) 943 943 { 944 944 Ref<DocumentLoader> protectedThis { *this }; … … 1038 1038 1039 1039 ASSERT(m_identifierForLoadWithoutResourceLoader || m_mainResource); 1040 unsigned longidentifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();1040 ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier(); 1041 1041 ASSERT(identifier); 1042 1042 … … 1055 1055 if (frameLoader()->shouldInterruptLoadForXFrameOptions(frameOptions, url, identifier)) { 1056 1056 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()); 1058 1058 stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(identifier, response); 1059 1059 return; … … 1181 1181 1182 1182 if (auto* currentDocument = frame()->document()) { 1183 unsigned longidentifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier();1183 ResourceLoaderIdentifier identifier = m_identifierForLoadWithoutResourceLoader ? m_identifierForLoadWithoutResourceLoader : m_mainResource->identifier(); 1184 1184 ASSERT(identifier); 1185 1185 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()); 1187 1187 } 1188 1188 DOCUMENTLOADER_RELEASE_LOG("continueAfterContentPolicy: cannot show URL"); … … 2017 2017 } 2018 2018 2019 void DocumentLoader::addSubresourceLoader(ResourceLoader *loader)2019 void DocumentLoader::addSubresourceLoader(ResourceLoader& loader) 2020 2020 { 2021 2021 // The main resource's underlying ResourceLoader will ask to be added here. … … 2026 2026 if (!m_gotFirstByte) 2027 2027 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); 2031 2031 2032 2032 // Application Cache loaders are handled by their ApplicationCacheGroup directly. 2033 if (loader ->options().applicationCacheMode == ApplicationCacheMode::Bypass)2033 if (loader.options().applicationCacheMode == ApplicationCacheMode::Bypass) 2034 2034 return; 2035 2035 … … 2041 2041 case Document::AboutToEnterBackForwardCache: { 2042 2042 // 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(); 2044 2044 ASSERT(cachedResource && (CachedResource::shouldUsePingLoad(cachedResource->type()) || cachedResource->options().keepAlive)); 2045 2045 break; … … 2053 2053 #endif 2054 2054 2055 m_subresourceLoaders.add(loader ->identifier(),loader);2055 m_subresourceLoaders.add(loader.identifier(), &loader); 2056 2056 } 2057 2057 … … 2279 2279 2280 2280 if (!mainResourceLoader()) { 2281 m_identifierForLoadWithoutResourceLoader = m_frame->page()->progress().createUniqueIdentifier();2281 m_identifierForLoadWithoutResourceLoader = ResourceLoaderIdentifier::generate(); 2282 2282 frameLoader()->notifier().assignIdentifierToInitialRequest(m_identifierForLoadWithoutResourceLoader, this, mainResourceRequest.resourceRequest()); 2283 2283 frameLoader()->notifier().dispatchWillSendRequest(this, m_identifierForLoadWithoutResourceLoader, mainResourceRequest.resourceRequest(), ResourceResponse(), nullptr); … … 2345 2345 } 2346 2346 2347 void DocumentLoader::subresourceLoaderFinishedLoadingOnePart(ResourceLoader *loader)2348 { 2349 unsigned long identifier = loader->identifier();2347 void DocumentLoader::subresourceLoaderFinishedLoadingOnePart(ResourceLoader& loader) 2348 { 2349 ResourceLoaderIdentifier identifier = loader.identifier(); 2350 2350 ASSERT(identifier); 2351 2351 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); 2354 2354 ASSERT(!m_subresourceLoaders.contains(identifier)); 2355 2355 } else { -
trunk/Source/WebCore/loader/DocumentLoader.h
r282026 r282712 43 43 #include "NavigationAction.h" 44 44 #include "ResourceError.h" 45 #include "ResourceLoaderIdentifier.h" 45 46 #include "ResourceLoaderOptions.h" 46 47 #include "ResourceRequest.h" … … 90 91 enum class ShouldContinue; 91 92 92 using ResourceLoaderMap = HashMap< unsigned long, RefPtr<ResourceLoader>>;93 using ResourceLoaderMap = HashMap<ResourceLoaderIdentifier, RefPtr<ResourceLoader>>; 93 94 94 95 enum class AutoplayPolicy : uint8_t { … … 296 297 void stopLoadingPlugIns(); 297 298 void stopLoadingSubresources(); 298 WEBCORE_EXPORT void stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied( unsigned long identifier, const ResourceResponse&);299 WEBCORE_EXPORT void stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied(ResourceLoaderIdentifier, const ResourceResponse&); 299 300 300 301 bool userContentExtensionsEnabled() const { return m_userContentExtensionsEnabled; } … … 339 340 void setMouseEventPolicy(MouseEventPolicy policy) { m_mouseEventPolicy = policy; } 340 341 341 void addSubresourceLoader(ResourceLoader *);342 void addSubresourceLoader(ResourceLoader&); 342 343 void removeSubresourceLoader(LoadCompletionType, ResourceLoader*); 343 344 void addPlugInStreamLoader(ResourceLoader&); 344 345 void removePlugInStreamLoader(ResourceLoader&); 345 346 346 void subresourceLoaderFinishedLoadingOnePart(ResourceLoader *);347 void subresourceLoaderFinishedLoadingOnePart(ResourceLoader&); 347 348 348 349 void setDeferMainResourceDataLoad(bool defer) { m_deferMainResourceDataLoad = defer; } … … 611 612 DocumentLoadTiming m_loadTiming; 612 613 613 unsigned long m_identifierForLoadWithoutResourceLoader { 0 };614 ResourceLoaderIdentifier m_identifierForLoadWithoutResourceLoader; 614 615 615 616 DataLoadToken m_dataLoadToken; -
trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp
r281431 r282712 400 400 } 401 401 402 void DocumentThreadableLoader::didReceiveResponse( unsigned longidentifier, const ResourceResponse& response)402 void DocumentThreadableLoader::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response) 403 403 { 404 404 ASSERT(m_client); … … 434 434 } 435 435 436 void DocumentThreadableLoader::didReceiveData( unsigned long, const uint8_t* data, int dataLength)436 void DocumentThreadableLoader::didReceiveData(ResourceLoaderIdentifier, const uint8_t* data, int dataLength) 437 437 { 438 438 ASSERT(m_client); … … 470 470 } 471 471 472 void DocumentThreadableLoader::didFinishLoading( unsigned longidentifier)472 void DocumentThreadableLoader::didFinishLoading(ResourceLoaderIdentifier identifier) 473 473 { 474 474 ASSERT(m_client); … … 504 504 } 505 505 506 void DocumentThreadableLoader::didFail( unsigned long, const ResourceError& error)506 void DocumentThreadableLoader::didFail(ResourceLoaderIdentifier, const ResourceError& error) 507 507 { 508 508 ASSERT(m_client); … … 536 536 } 537 537 538 void DocumentThreadableLoader::preflightFailure( unsigned longidentifier, const ResourceError& error)538 void DocumentThreadableLoader::preflightFailure(ResourceLoaderIdentifier identifier, const ResourceError& error) 539 539 { 540 540 m_preflightChecker = std::nullopt; … … 599 599 ResourceError error; 600 600 ResourceResponse response; 601 unsigned long identifier = std::numeric_limits<unsigned long>::max();601 auto identifier = makeObjectIdentifier<ResourceLoader>(std::numeric_limits<uint64_t>::max()); 602 602 if (auto* frame = m_document.frame()) { 603 603 if (!MixedContentChecker::canRunInsecureContent(*frame, m_document.securityOrigin(), requestURL)) -
trunk/Source/WebCore/loader/DocumentThreadableLoader.h
r281431 r282712 34 34 #include "ContentSecurityPolicy.h" 35 35 #include "CrossOriginPreflightChecker.h" 36 #include "ResourceLoaderIdentifier.h" 36 37 #include "ResourceResponse.h" 37 38 #include "SecurityOrigin.h" … … 92 93 void notifyFinished(CachedResource&, const NetworkLoadMetrics&) override; 93 94 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&); 98 99 void makeCrossOriginAccessRequest(ResourceRequest&&); 99 100 void makeSimpleCrossOriginAccessRequest(ResourceRequest&&); 100 101 void makeCrossOriginAccessRequestWithPreflight(ResourceRequest&&); 101 102 void preflightSuccess(ResourceRequest&&); 102 void preflightFailure( unsigned long identifier, const ResourceError&);103 void preflightFailure(ResourceLoaderIdentifier, const ResourceError&); 103 104 104 105 void loadRequest(ResourceRequest&&, SecurityCheckPolicy); -
trunk/Source/WebCore/loader/EmptyClients.cpp
r282567 r282712 674 674 } 675 675 676 void EmptyFrameLoaderClient::assignIdentifierToInitialRequest( unsigned long, DocumentLoader*, const ResourceRequest&)677 { 678 } 679 680 bool EmptyFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, unsigned long)676 void EmptyFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier, DocumentLoader*, const ResourceRequest&) 677 { 678 } 679 680 bool EmptyFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier) 681 681 { 682 682 return false; 683 683 } 684 684 685 void EmptyFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest&, const ResourceResponse&)686 { 687 } 688 689 void EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)685 void EmptyFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier, ResourceRequest&, const ResourceResponse&) 686 { 687 } 688 689 void EmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, ResourceLoaderIdentifier, const AuthenticationChallenge&) 690 690 { 691 691 } … … 693 693 #if USE(PROTECTION_SPACE_AUTH_CALLBACK) 694 694 695 bool EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace&)695 bool EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, ResourceLoaderIdentifier, const ProtectionSpace&) 696 696 { 697 697 return false; … … 702 702 #if PLATFORM(IOS_FAMILY) 703 703 704 RetainPtr<CFDictionaryRef> EmptyFrameLoaderClient::connectionProperties(DocumentLoader*, unsigned long)704 RetainPtr<CFDictionaryRef> EmptyFrameLoaderClient::connectionProperties(DocumentLoader*, ResourceLoaderIdentifier) 705 705 { 706 706 return nullptr; … … 709 709 #endif 710 710 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)711 void EmptyFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&) 712 { 713 } 714 715 void EmptyFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier, int) 716 { 717 } 718 719 void EmptyFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier) 720 720 { 721 721 } … … 729 729 #endif 730 730 731 void EmptyFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&)731 void EmptyFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&) 732 732 { 733 733 } … … 1068 1068 } 1069 1069 1070 void EmptyFrameLoaderClient::willCacheResponse(DocumentLoader*, unsigned long, NSCachedURLResponse *response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const1070 void EmptyFrameLoaderClient::willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, NSCachedURLResponse *response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const 1071 1071 { 1072 1072 completionHandler(response); … … 1077 1077 #if USE(CFURLCONNECTION) 1078 1078 1079 bool EmptyFrameLoaderClient::shouldCacheResponse(DocumentLoader*, unsigned long, const ResourceResponse&, const unsigned char*, unsigned long long)1079 bool EmptyFrameLoaderClient::shouldCacheResponse(DocumentLoader*, ResourceLoaderIdentifier, const ResourceResponse&, const unsigned char*, unsigned long long) 1080 1080 { 1081 1081 return true; -
trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h
r282429 r282712 54 54 void convertMainResourceLoadToDownload(DocumentLoader*, const ResourceRequest&, const ResourceResponse&) final; 55 55 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; 60 60 #if USE(PROTECTION_SPACE_AUTH_CALLBACK) 61 bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace&) final;61 bool canAuthenticateAgainstProtectionSpace(DocumentLoader*, ResourceLoaderIdentifier, const ProtectionSpace&) final; 62 62 #endif 63 63 64 64 #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; 71 71 #if ENABLE(DATA_DETECTION) 72 72 void dispatchDidFinishDataDetection(NSArray *) final; 73 73 #endif 74 void dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&) final;74 void dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&) final; 75 75 bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int) final; 76 76 … … 183 183 #if PLATFORM(COCOA) 184 184 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; 186 186 #endif 187 187 188 188 #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; 190 190 #endif 191 191 -
trunk/Source/WebCore/loader/FrameLoader.cpp
r281941 r282712 1690 1690 request.setInspectorInitiatorNodeIdentifier(InspectorInstrumentation::identifierForNode(initiatorNode)); 1691 1691 1692 unsigned longidentifier;1692 ResourceLoaderIdentifier identifier; 1693 1693 ResourceError error; 1694 1694 requestFromDelegate(request, identifier, error); … … 2069 2069 // consistency with all other loads. See https://bugs.webkit.org/show_bug.cgi?id=150927. 2070 2070 ResourceError mainResouceError; 2071 unsigned longmainResourceIdentifier;2071 ResourceLoaderIdentifier mainResourceIdentifier; 2072 2072 ResourceRequest mainResourceRequest(cachedPage->documentLoader()->request()); 2073 2073 requestFromDelegate(mainResourceRequest, mainResourceIdentifier, mainResouceError); … … 2134 2134 // FIXME: If the WebKit client changes or cancels the request, this is not respected. 2135 2135 ResourceError error; 2136 unsigned longidentifier;2136 ResourceLoaderIdentifier identifier; 2137 2137 ResourceRequest request(response.url()); 2138 2138 requestFromDelegate(request, identifier, error); … … 3107 3107 } 3108 3108 3109 unsigned longFrameLoader::loadResourceSynchronously(const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data)3109 ResourceLoaderIdentifier FrameLoader::loadResourceSynchronously(const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data) 3110 3110 { 3111 3111 ASSERT(m_frame.document()); … … 3125 3125 applyUserAgentIfNeeded(initialRequest); 3126 3126 3127 unsigned long identifier = 0;3127 ResourceLoaderIdentifier identifier; 3128 3128 ResourceRequest newRequest(initialRequest); 3129 3129 requestFromDelegate(newRequest, identifier, error); … … 3588 3588 } 3589 3589 3590 void FrameLoader::requestFromDelegate(ResourceRequest& request, unsigned long& identifier, ResourceError& error)3590 void FrameLoader::requestFromDelegate(ResourceRequest& request, ResourceLoaderIdentifier& identifier, ResourceError& error) 3591 3591 { 3592 3592 ASSERT(!request.isNull()); 3593 3593 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); 3599 3596 3600 3597 ResourceRequest newRequest(request); … … 3635 3632 } 3636 3633 3637 unsigned longidentifier;3634 ResourceLoaderIdentifier identifier; 3638 3635 requestFromDelegate(newRequest, identifier, error); 3639 3636 … … 3652 3649 } 3653 3650 3654 bool FrameLoader::shouldInterruptLoadForXFrameOptions(const String& content, const URL& url, unsigned longrequestIdentifier)3651 bool FrameLoader::shouldInterruptLoadForXFrameOptions(const String& content, const URL& url, ResourceLoaderIdentifier requestIdentifier) 3655 3652 { 3656 3653 Frame& topFrame = m_frame.tree().top(); … … 3676 3673 return false; 3677 3674 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()); 3679 3676 return true; 3680 3677 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()); 3682 3679 return false; 3683 3680 case XFrameOptionsDisposition::None: -
trunk/Source/WebCore/loader/FrameLoader.h
r281832 r282712 128 128 WEBCORE_EXPORT void loadArchive(Ref<Archive>&&); 129 129 #endif 130 unsigned longloadResourceSynchronously(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); 131 131 132 132 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); … … 276 276 void applyUserAgentIfNeeded(ResourceRequest&); 277 277 278 bool shouldInterruptLoadForXFrameOptions(const String&, const URL&, unsigned long requestIdentifier);278 bool shouldInterruptLoadForXFrameOptions(const String&, const URL&, ResourceLoaderIdentifier); 279 279 280 280 void completed(); … … 387 387 bool shouldReload(const URL& currentURL, const URL& destinationURL); 388 388 389 void requestFromDelegate(ResourceRequest&, unsigned long& identifier, ResourceError&);389 void requestFromDelegate(ResourceRequest&, ResourceLoaderIdentifier&, ResourceError&); 390 390 391 391 WEBCORE_EXPORT void detachChildren(); -
trunk/Source/WebCore/loader/FrameLoaderClient.h
r282429 r282712 36 36 #include "PageIdentifier.h" 37 37 #include "RegistrableDomain.h" 38 #include "ResourceLoaderIdentifier.h" 38 39 #include <wtf/Expected.h> 39 40 #include <wtf/Forward.h> … … 139 140 virtual void detachedFromParent3() = 0; 140 141 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; 146 147 #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; 148 149 #endif 149 150 150 151 #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; 158 159 virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length) = 0; 159 160 … … 299 300 // Allow an accessibility object to retrieve a Frame parent if there's no PlatformWidget. 300 301 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; 302 303 virtual NSDictionary *dataDetectionContext() { return nullptr; } 303 304 #endif … … 305 306 #if USE(CFURLCONNECTION) 306 307 // 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; 308 309 #endif 309 310 -
trunk/Source/WebCore/loader/LoaderStrategy.cpp
r271946 r282712 42 42 } 43 43 44 ResourceResponse LoaderStrategy::responseFromResourceLoadIdentifier( uint64_t /* resourceLoadIdentifier */)44 ResourceResponse LoaderStrategy::responseFromResourceLoadIdentifier(ResourceLoaderIdentifier) 45 45 { 46 46 return { }; 47 47 } 48 48 49 NetworkLoadMetrics LoaderStrategy::networkMetricsFromResourceLoadIdentifier( uint64_t /* resourceLoadIdentifier */)49 NetworkLoadMetrics LoaderStrategy::networkMetricsFromResourceLoadIdentifier(ResourceLoaderIdentifier) 50 50 { 51 51 return { }; 52 52 } 53 53 54 Vector<NetworkTransactionInformation> LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier( uint64_t /* resourceLoadIdentifier */)54 Vector<NetworkTransactionInformation> LoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(ResourceLoaderIdentifier) 55 55 { 56 56 return { }; -
trunk/Source/WebCore/loader/LoaderStrategy.h
r277740 r282712 30 30 #include "PageIdentifier.h" 31 31 #include "ResourceLoadPriority.h" 32 #include "ResourceLoaderIdentifier.h" 32 33 #include "ResourceLoaderOptions.h" 33 34 #include "StoredCredentialsPolicy.h" … … 59 60 public: 60 61 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; 62 63 virtual void pageLoadCompleted(Page&) = 0; 63 64 virtual void browsingContextRemoved(Frame&) = 0; … … 89 90 virtual bool havePerformedSecurityChecks(const ResourceResponse&) const { return false; } 90 91 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); 94 95 95 96 virtual void isResourceLoadFinished(CachedResource&, CompletionHandler<void(bool)>&& callback) = 0; 96 97 97 98 // Used for testing only. 98 virtual Vector< uint64_t> ongoingLoads() const { return { }; }99 virtual Vector<ResourceLoaderIdentifier> ongoingLoads() const { return { }; } 99 100 100 101 protected: -
trunk/Source/WebCore/loader/PingLoader.cpp
r282604 r282712 201 201 void PingLoader::startPingLoad(Frame& frame, ResourceRequest& request, HTTPHeaderMap&& originalRequestHeaders, ShouldFollowRedirects shouldFollowRedirects, ContentSecurityPolicyImposition policyCheck, ReferrerPolicy referrerPolicy, std::optional<ViolationReportType> violationReportType) 202 202 { 203 unsigned long identifier = frame.page()->progress().createUniqueIdentifier();203 auto identifier = ResourceLoaderIdentifier::generate(); 204 204 // FIXME: Why activeDocumentLoader? I would have expected documentLoader(). 205 205 // It seems like the PingLoader should be associated with the current -
trunk/Source/WebCore/loader/ProgressTracker.cpp
r278779 r282712 184 184 } 185 185 186 void ProgressTracker::incrementProgress( unsigned longidentifier, const ResourceResponse& response)186 void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, const ResourceResponse& response) 187 187 { 188 188 LOG(Progress, "Progress incremented (%p) - value %f, tracked frames %d, originating frame %p", this, m_progressValue, m_numProgressTrackedFrames, m_originatingProgressFrame.get()); … … 207 207 } 208 208 209 void ProgressTracker::incrementProgress( unsigned longidentifier, unsigned bytesReceived)209 void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, unsigned bytesReceived) 210 210 { 211 211 ProgressItem* item = m_progressItems.get(identifier); … … 267 267 } 268 268 269 void ProgressTracker::completeProgress( unsigned longidentifier)269 void ProgressTracker::completeProgress(ResourceLoaderIdentifier identifier) 270 270 { 271 271 auto it = m_progressItems.find(identifier); … … 286 286 unsigned long ProgressTracker::createUniqueIdentifier() 287 287 { 288 // FIXME: Use a strongly typed identifier for websockets and remove this. 288 289 return ++s_uniqueIdentifier; 289 290 } -
trunk/Source/WebCore/loader/ProgressTracker.h
r278779 r282712 26 26 #pragma once 27 27 28 #include "ResourceLoaderIdentifier.h" 28 29 #include "Timer.h" 29 30 #include <wtf/Forward.h> … … 56 57 void progressCompleted(Frame&); 57 58 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); 61 62 62 63 long long totalPageAndResourceBytesToLoad() const { return m_totalPageAndResourceBytesToLoad; } … … 75 76 UniqueRef<ProgressTrackerClient> m_client; 76 77 RefPtr<Frame> m_originatingProgressFrame; 77 HashMap< unsigned long, std::unique_ptr<ProgressItem>> m_progressItems;78 HashMap<ResourceLoaderIdentifier, std::unique_ptr<ProgressItem>> m_progressItems; 78 79 Timer m_progressHeartbeatTimer; 79 80 -
trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp
r281777 r282712 57 57 } 58 58 59 void ResourceLoadNotifier::didReceiveAuthenticationChallenge( unsigned longidentifier, DocumentLoader* loader, const AuthenticationChallenge& currentWebChallenge)59 void ResourceLoadNotifier::didReceiveAuthenticationChallenge(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const AuthenticationChallenge& currentWebChallenge) 60 60 { 61 61 m_frame.loader().client().dispatchDidReceiveAuthenticationChallenge(loader, identifier, currentWebChallenge); … … 108 108 } 109 109 110 void ResourceLoadNotifier::assignIdentifierToInitialRequest( unsigned longidentifier, DocumentLoader* loader, const ResourceRequest& request)110 void ResourceLoadNotifier::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request) 111 111 { 112 112 bool pageIsProvisionallyLoading = false; … … 120 120 } 121 121 122 void ResourceLoadNotifier::dispatchWillSendRequest(DocumentLoader* loader, unsigned longidentifier, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource)122 void ResourceLoadNotifier::dispatchWillSendRequest(DocumentLoader* loader, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse, const CachedResource* cachedResource) 123 123 { 124 124 #if USE(QUICK_LOOK) … … 151 151 } 152 152 153 void ResourceLoadNotifier::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned longidentifier, const ResourceResponse& r, ResourceLoader* resourceLoader)153 void ResourceLoadNotifier::dispatchDidReceiveResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& r, ResourceLoader* resourceLoader) 154 154 { 155 155 // Notifying the FrameLoaderClient may cause the frame to be destroyed. … … 160 160 } 161 161 162 void ResourceLoadNotifier::dispatchDidReceiveData(DocumentLoader* loader, unsigned longidentifier, const uint8_t* data, int dataLength, int encodedDataLength)162 void ResourceLoadNotifier::dispatchDidReceiveData(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength) 163 163 { 164 164 // Notifying the FrameLoaderClient may cause the frame to be destroyed. … … 169 169 } 170 170 171 void ResourceLoadNotifier::dispatchDidFinishLoading(DocumentLoader* loader, unsigned longidentifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader)171 void ResourceLoadNotifier::dispatchDidFinishLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const NetworkLoadMetrics& networkLoadMetrics, ResourceLoader* resourceLoader) 172 172 { 173 173 // Notifying the FrameLoaderClient may cause the frame to be destroyed. … … 178 178 } 179 179 180 void ResourceLoadNotifier::dispatchDidFailLoading(DocumentLoader* loader, unsigned longidentifier, const ResourceError& error)180 void ResourceLoadNotifier::dispatchDidFailLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error) 181 181 { 182 182 // Notifying the FrameLoaderClient may cause the frame to be destroyed. … … 187 187 } 188 188 189 void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, unsigned longidentifier, const ResourceRequest& request, const ResourceResponse& response, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError& error)189 void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceRequest& request, const ResourceResponse& response, const uint8_t* data, int dataLength, int encodedDataLength, const ResourceError& error) 190 190 { 191 191 // If the request is null, willSendRequest cancelled the load. We should -
trunk/Source/WebCore/loader/ResourceLoadNotifier.h
r278717 r282712 30 30 #pragma once 31 31 32 #include "ResourceLoaderIdentifier.h" 32 33 #include <optional> 33 34 #include <wtf/Noncopyable.h> … … 51 52 52 53 void didReceiveAuthenticationChallenge(ResourceLoader*, const AuthenticationChallenge&); 53 void didReceiveAuthenticationChallenge( unsigned long identifier, DocumentLoader*, const AuthenticationChallenge&);54 void didReceiveAuthenticationChallenge(ResourceLoaderIdentifier, DocumentLoader*, const AuthenticationChallenge&); 54 55 55 56 void willSendRequest(ResourceLoader*, ResourceRequest&, const ResourceResponse& redirectResponse); … … 59 60 void didFailToLoad(ResourceLoader*, const ResourceError&); 60 61 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&); 67 68 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&); 69 70 70 71 private: 71 72 Frame& m_frame; 72 std::optional< unsigned long> m_initialRequestIdentifier;73 std::optional<ResourceLoaderIdentifier> m_initialRequestIdentifier; 73 74 }; 74 75 -
trunk/Source/WebCore/loader/ResourceLoader.cpp
r282429 r282712 68 68 #define PAGE_ID ((frame() ? frame()->pageID().value_or(PageIdentifier()) : PageIdentifier()).toUInt64()) 69 69 #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__) 71 71 72 72 namespace WebCore { … … 117 117 finishNetworkLoad(); 118 118 119 m_identifier = 0;119 m_identifier = { }; 120 120 121 121 m_resourceData = nullptr; … … 374 374 bool createdResourceIdentifier = false; 375 375 if (!m_identifier) { 376 m_identifier = m_frame->page()->progress().createUniqueIdentifier();376 m_identifier = ResourceLoaderIdentifier::generate(); 377 377 createdResourceIdentifier = true; 378 378 } -
trunk/Source/WebCore/loader/ResourceLoader.h
r278779 r282712 31 31 #include "ResourceHandleClient.h" 32 32 #include "ResourceLoadTiming.h" 33 #include "ResourceLoaderIdentifier.h" 33 34 #include "ResourceLoaderOptions.h" 34 35 #include "ResourceLoaderTypes.h" … … 91 92 bool defersLoading() const { return m_defersLoading; } 92 93 93 unsigned longidentifier() const { return m_identifier; }94 ResourceLoaderIdentifier identifier() const { return m_identifier; } 94 95 95 96 bool wasAuthenticationChallengeBlocked() const { return m_wasAuthenticationChallengeBlocked; } … … 229 230 RefPtr<SharedBuffer> m_resourceData; 230 231 231 unsigned long m_identifier { 0 };232 ResourceLoaderIdentifier m_identifier; 232 233 233 234 bool m_reachedTerminalState { false }; -
trunk/Source/WebCore/loader/SubresourceLoader.cpp
r281125 r282712 76 76 #define SUBRESOURCELOADER_RELEASE_LOG_ERROR(fmt, ...) UNUSED_VARIABLE(this) 77 77 #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__) 80 80 #endif 81 81 … … 173 173 ASSERT(!reachedTerminalState()); 174 174 m_state = Initialized; 175 m_documentLoader->addSubresourceLoader( this);175 m_documentLoader->addSubresourceLoader(*this); 176 176 m_origin = m_resource->origin(); 177 177 completionHandler(true); … … 211 211 212 212 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); 214 214 215 215 if (reachedTerminalState()) { … … 492 492 // After the first multipart section is complete, signal to delegates that this load is "finished" 493 493 NetworkLoadMetrics emptyMetrics; 494 m_documentLoader->subresourceLoaderFinishedLoadingOnePart( this);494 m_documentLoader->subresourceLoaderFinishedLoadingOnePart(*this); 495 495 didFinishLoadingOnePart(emptyMetrics); 496 496 } … … 746 746 747 747 if (m_resource->type() != CachedResource::Type::MainResource) 748 tracePoint(SubresourceLoadDidEnd, identifier() );748 tracePoint(SubresourceLoadDidEnd, identifier().toUInt64()); 749 749 750 750 m_state = Finishing; … … 792 792 793 793 if (m_resource->type() != CachedResource::Type::MainResource) 794 tracePoint(SubresourceLoadDidEnd, identifier() );794 tracePoint(SubresourceLoadDidEnd, identifier().toUInt64()); 795 795 796 796 if (m_resource->resourceToRevalidate()) … … 845 845 846 846 if (m_resource->type() != CachedResource::Type::MainResource) 847 tracePoint(SubresourceLoadDidEnd, identifier() );847 tracePoint(SubresourceLoadDidEnd, identifier().toUInt64()); 848 848 849 849 m_resource->cancelLoad(); -
trunk/Source/WebCore/loader/ThreadableLoaderClient.h
r278516 r282712 31 31 #pragma once 32 32 33 #include "ResourceLoaderIdentifier.h" 34 33 35 namespace WebCore { 34 36 35 class ResourceError;36 class ResourceResponse;37 class ResourceTiming;37 class ResourceError; 38 class ResourceResponse; 39 class ResourceTiming; 38 40 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*/) { }41 class ThreadableLoaderClient { 42 WTF_MAKE_NONCOPYABLE(ThreadableLoaderClient); WTF_MAKE_FAST_ALLOCATED; 43 public: 44 virtual void didSendData(unsigned long long /*bytesSent*/, unsigned long long /*totalBytesToBeSent*/) { } 43 45 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(); } 50 52 51 protected:52 ThreadableLoaderClient() = default;53 virtual ~ThreadableLoaderClient() = default;54 };53 protected: 54 ThreadableLoaderClient() = default; 55 virtual ~ThreadableLoaderClient() = default; 56 }; 55 57 56 58 } // namespace WebCore -
trunk/Source/WebCore/loader/ThreadableLoaderClientWrapper.h
r278516 r282712 61 61 } 62 62 63 void didReceiveResponse( unsigned longidentifier, const ResourceResponse& response)63 void didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response) 64 64 { 65 65 if (m_client) … … 73 73 } 74 74 75 void didFinishLoading( unsigned longidentifier)75 void didFinishLoading(ResourceLoaderIdentifier identifier) 76 76 { 77 77 m_done = true; … … 93 93 } 94 94 95 void didReceiveAuthenticationCancellation( unsigned longidentifier, const ResourceResponse& response)95 void didReceiveAuthenticationCancellation(ResourceLoaderIdentifier identifier, const ResourceResponse& response) 96 96 { 97 97 if (m_client) -
trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp
r282305 r282712 114 114 , m_loaderProxy(loaderProxy) 115 115 , m_taskMode(taskMode.isolatedCopy()) 116 , m_workerRequestIdentifier (globalScope.createUniqueIdentifier())116 , m_workerRequestIdentifier { ResourceLoaderIdentifier::generate() } 117 117 { 118 118 auto* securityOrigin = globalScope.securityOrigin(); … … 221 221 } 222 222 223 void WorkerThreadableLoader::MainThreadBridge::didReceiveResponse( unsigned longidentifier, const ResourceResponse& response)223 void WorkerThreadableLoader::MainThreadBridge::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response) 224 224 { 225 225 m_loaderProxy.postTaskForModeToWorkerOrWorkletGlobalScope([protectedWorkerClientWrapper = makeRef(*m_workerClientWrapper), workerRequestIdentifier = m_workerRequestIdentifier, identifier, responseData = response.crossThreadData()] (ScriptExecutionContext& context) mutable { … … 243 243 } 244 244 245 void WorkerThreadableLoader::MainThreadBridge::didFinishLoading( unsigned longidentifier)245 void WorkerThreadableLoader::MainThreadBridge::didFinishLoading(ResourceLoaderIdentifier identifier) 246 246 { 247 247 m_loadingFinished = true; -
trunk/Source/WebCore/loader/WorkerThreadableLoader.h
r278516 r282712 32 32 33 33 #include "NetworkLoadMetrics.h" 34 #include "ResourceLoaderIdentifier.h" 34 35 #include "ThreadableLoader.h" 35 36 #include "ThreadableLoaderClient.h" … … 39 40 namespace WebCore { 40 41 41 class ContentSecurityPolicy;42 class DocumentThreadableLoader;43 class ResourceError;44 class ResourceRequest;45 class SecurityOrigin;46 class WorkerOrWorkletGlobalScope;47 class WorkerLoaderProxy;42 class ContentSecurityPolicy; 43 class DocumentThreadableLoader; 44 class ResourceError; 45 class ResourceRequest; 46 class SecurityOrigin; 47 class WorkerOrWorkletGlobalScope; 48 class WorkerLoaderProxy; 48 49 49 class WorkerThreadableLoader : public RefCounted<WorkerThreadableLoader>, public ThreadableLoader { 50 WTF_MAKE_FAST_ALLOCATED; 50 class WorkerThreadableLoader : public RefCounted<WorkerThreadableLoader>, public ThreadableLoader { 51 WTF_MAKE_FAST_ALLOCATED; 52 public: 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 70 protected: 71 void refThreadableLoader() override { ref(); } 72 void derefThreadableLoader() override { deref(); } 73 74 private: 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 { 51 94 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(); 72 100 73 101 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(); 99 104 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; 103 113 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 }; 112 117 113 // Only to be used on the mainthread.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; 116 121 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; 120 124 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; 137 129 }; 138 130 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 139 140 } // namespace WebCore -
trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp
r278717 r282712 438 438 auto request = createRequest(URL { m_manifestURL }, m_newestCache ? m_newestCache->manifestResource() : nullptr); 439 439 440 m_currentResourceIdentifier = m_frame->page()->progress().createUniqueIdentifier();440 m_currentResourceIdentifier = ResourceLoaderIdentifier::generate(); 441 441 InspectorInstrumentation::willSendRequest(m_frame.get(), m_currentResourceIdentifier, m_frame->loader().documentLoader(), request, ResourceResponse { }, nullptr); 442 442 … … 899 899 auto request = createRequest(URL { { }, firstPendingEntryURL }, m_newestCache ? m_newestCache->resourceForURL(firstPendingEntryURL) : nullptr); 900 900 901 m_currentResourceIdentifier = m_frame->page()->progress().createUniqueIdentifier();901 m_currentResourceIdentifier = ResourceLoaderIdentifier::generate(); 902 902 InspectorInstrumentation::willSendRequest(m_frame.get(), m_currentResourceIdentifier, m_frame->loader().documentLoader(), request, ResourceResponse { }, nullptr); 903 903 -
trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.h
r269435 r282712 182 182 RefPtr<ApplicationCacheResource> m_currentResource; 183 183 RefPtr<ApplicationCacheResourceLoader> m_entryLoader; 184 unsigned longm_currentResourceIdentifier;184 ResourceLoaderIdentifier m_currentResourceIdentifier; 185 185 186 186 RefPtr<ApplicationCacheResource> m_manifestResource; -
trunk/Source/WebCore/loader/cache/CachedRawResource.cpp
r282241 r282712 44 44 CachedRawResource::CachedRawResource(CachedResourceRequest&& request, Type type, PAL::SessionID sessionID, const CookieJar* cookieJar) 45 45 : CachedResource(WTFMove(request), type, sessionID, cookieJar) 46 , m_identifier(0)47 46 , m_allowEncodedDataReplacement(true) 48 47 { -
trunk/Source/WebCore/loader/cache/CachedRawResource.h
r278849 r282712 40 40 41 41 // FIXME: This is exposed for the InspectorInstrumentation for preflights in DocumentThreadableLoader. It's also really lame. 42 unsigned longidentifier() const { return m_identifier; }42 ResourceLoaderIdentifier identifier() const { return m_identifier; } 43 43 44 44 void clear(); … … 74 74 #endif 75 75 76 unsigned longm_identifier;76 ResourceLoaderIdentifier m_identifier; 77 77 bool m_allowEncodedDataReplacement; 78 78 bool m_inIncrementalDataNotify { false }; -
trunk/Source/WebCore/loader/cache/CachedResource.cpp
r279085 r282712 266 266 CachedResourceHandle<CachedResource> protectedThis(this); 267 267 268 unsigned long identifier = frame.page()->progress().createUniqueIdentifier();268 auto identifier = ResourceLoaderIdentifier::generate(); 269 269 InspectorInstrumentation::willSendRequestOfType(&frame, identifier, frameLoader.activeDocumentLoader(), request, InspectorInstrumentation::LoadType::Beacon); 270 270 -
trunk/Source/WebCore/loader/cache/CachedResource.h
r281110 r282712 27 27 #include "ResourceError.h" 28 28 #include "ResourceLoadPriority.h" 29 #include "ResourceLoaderIdentifier.h" 29 30 #include "ResourceLoaderOptions.h" 30 31 #include "ResourceRequest.h" … … 287 288 #endif 288 289 289 unsigned longidentifierForLoadWithoutResourceLoader() const { return m_identifierForLoadWithoutResourceLoader; }290 ResourceLoaderIdentifier identifierForLoadWithoutResourceLoader() const { return m_identifierForLoadWithoutResourceLoader; } 290 291 291 292 void setOriginalRequest(std::unique_ptr<ResourceRequest>&& originalRequest) { m_originalRequest = WTFMove(originalRequest); } … … 343 344 RefPtr<const CookieJar> m_cookieJar; 344 345 WallTime m_responseTimestamp; 345 unsigned long m_identifierForLoadWithoutResourceLoader { 0 };346 ResourceLoaderIdentifier m_identifierForLoadWithoutResourceLoader; 346 347 347 348 HashMap<CachedResourceClient*, std::unique_ptr<Callback>> m_clientsAwaitingCallback; -
trunk/Source/WebCore/page/EventSource.cpp
r278763 r282712 189 189 } 190 190 191 void EventSource::didReceiveResponse( unsigned long, const ResourceResponse& response)191 void EventSource::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) 192 192 { 193 193 ASSERT(m_state == CONNECTING); … … 221 221 } 222 222 223 void EventSource::didFinishLoading( unsigned long)223 void EventSource::didFinishLoading(ResourceLoaderIdentifier) 224 224 { 225 225 ASSERT(m_state == OPEN); -
trunk/Source/WebCore/page/EventSource.h
r278516 r282712 84 84 85 85 // ThreadableLoaderClient 86 void didReceiveResponse( unsigned long, const ResourceResponse&) final;86 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final; 87 87 void didReceiveData(const uint8_t*, int) final; 88 void didFinishLoading( unsigned long) final;88 void didFinishLoading(ResourceLoaderIdentifier) final; 89 89 void didFail(const ResourceError&) final; 90 90 -
trunk/Source/WebCore/workers/Worker.cpp
r282484 r282712 197 197 } 198 198 199 void Worker::didReceiveResponse( unsigned longidentifier, const ResourceResponse& response)199 void Worker::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response) 200 200 { 201 201 const URL& responseURL = response.url(); -
trunk/Source/WebCore/workers/Worker.h
r282484 r282712 88 88 void notifyNetworkStateChange(bool isOnline); 89 89 90 void didReceiveResponse( unsigned long identifier, const ResourceResponse&) final;90 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final; 91 91 void notifyFinished() final; 92 92 -
trunk/Source/WebCore/workers/WorkerFontLoadRequest.cpp
r278516 r282712 106 106 } 107 107 108 void WorkerFontLoadRequest::didReceiveResponse( unsigned long, const ResourceResponse& response)108 void WorkerFontLoadRequest::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) 109 109 { 110 110 if (response.httpStatusCode() / 100 != 2 && response.httpStatusCode()) … … 123 123 } 124 124 125 void WorkerFontLoadRequest::didFinishLoading( unsigned long)125 void WorkerFontLoadRequest::didFinishLoading(ResourceLoaderIdentifier) 126 126 { 127 127 m_isLoading = false; -
trunk/Source/WebCore/workers/WorkerFontLoadRequest.h
r278516 r282712 61 61 bool isWorkerFontLoadRequest() const final { return true; } 62 62 63 void didReceiveResponse( unsigned long identifier, const ResourceResponse&) final;63 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final; 64 64 void didReceiveData(const uint8_t* data, int dataLength) final; 65 void didFinishLoading( unsigned long identifier) final;65 void didFinishLoading(ResourceLoaderIdentifier) final; 66 66 void didFail(const ResourceError&) final; 67 67 -
trunk/Source/WebCore/workers/WorkerOrWorkletGlobalScope.h
r273203 r282712 55 55 WorkerInspectorController& inspectorController() const { return *m_inspectorController; } 56 56 57 unsigned long createUniqueIdentifier() { return m_uniqueIdentifier++; }58 59 57 ScriptModuleLoader& moduleLoader() { return *m_moduleLoader; } 60 58 … … 100 98 std::unique_ptr<EventLoopTaskGroup> m_defaultTaskGroup; 101 99 std::unique_ptr<WorkerInspectorController> m_inspectorController; 102 unsigned long m_uniqueIdentifier { 1 };103 100 bool m_isClosing { false }; 104 101 }; -
trunk/Source/WebCore/workers/WorkerScriptLoader.cpp
r281935 r282712 179 179 } 180 180 181 void WorkerScriptLoader::didReceiveResponse( unsigned longidentifier, const ResourceResponse& response)181 void WorkerScriptLoader::didReceiveResponse(ResourceLoaderIdentifier identifier, const ResourceResponse& response) 182 182 { 183 183 m_error = validateWorkerResponse(response, m_destination); … … 222 222 } 223 223 224 void WorkerScriptLoader::didFinishLoading( unsigned longidentifier)224 void WorkerScriptLoader::didFinishLoading(ResourceLoaderIdentifier identifier) 225 225 { 226 226 if (m_failed) { -
trunk/Source/WebCore/workers/WorkerScriptLoader.h
r281935 r282712 76 76 const String& responseMIMEType() const { return m_responseMIMEType; } 77 77 bool failed() const { return m_failed; } 78 unsigned longidentifier() const { return m_identifier; }78 ResourceLoaderIdentifier identifier() const { return m_identifier; } 79 79 const ResourceError& error() const { return m_error; } 80 80 81 void didReceiveResponse( unsigned long identifier, const ResourceResponse&) override;81 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) override; 82 82 void didReceiveData(const uint8_t* data, int dataLength) override; 83 void didFinishLoading( unsigned long identifier) override;83 void didFinishLoading(ResourceLoaderIdentifier) override; 84 84 void didFail(const ResourceError&) override; 85 85 … … 111 111 String m_referrerPolicy; 112 112 CrossOriginEmbedderPolicy m_crossOriginEmbedderPolicy; 113 unsigned long m_identifier { 0 };113 ResourceLoaderIdentifier m_identifier; 114 114 bool m_failed { false }; 115 115 bool m_finishing { false }; -
trunk/Source/WebCore/workers/WorkerScriptLoaderClient.h
r230374 r282712 33 33 class WorkerScriptLoaderClient { 34 34 public: 35 virtual void didReceiveResponse( unsigned long identifier, const ResourceResponse&) = 0;35 virtual void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) = 0; 36 36 virtual void notifyFinished() = 0; 37 37 -
trunk/Source/WebCore/workers/service/ServiceWorkerJob.cpp
r280953 r282712 141 141 } 142 142 143 void ServiceWorkerJob::didReceiveResponse( unsigned long, const ResourceResponse& response)143 void ServiceWorkerJob::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) 144 144 { 145 145 ASSERT(m_creationThread.ptr() == &Thread::current()); -
trunk/Source/WebCore/workers/service/ServiceWorkerJob.h
r254087 r282712 75 75 private: 76 76 // WorkerScriptLoaderClient 77 void didReceiveResponse( unsigned long identifier, const ResourceResponse&) final;77 void didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse&) final; 78 78 void notifyFinished() final; 79 79 -
trunk/Source/WebCore/xml/XMLHttpRequest.cpp
r280824 r282712 927 927 } 928 928 929 void XMLHttpRequest::didFinishLoading( unsigned long)929 void XMLHttpRequest::didFinishLoading(ResourceLoaderIdentifier) 930 930 { 931 931 auto protectedThis = makeRef(*this); … … 971 971 } 972 972 973 void XMLHttpRequest::didReceiveResponse( unsigned long, const ResourceResponse& response)973 void XMLHttpRequest::didReceiveResponse(ResourceLoaderIdentifier, const ResourceResponse& response) 974 974 { 975 975 m_response = response; -
trunk/Source/WebCore/xml/XMLHttpRequest.h
r280824 r282712 162 162 // ThreadableLoaderClient 163 163 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; 165 165 void didReceiveData(const uint8_t* data, int dataLength) override; 166 void didFinishLoading( unsigned long identifier) override;166 void didFinishLoading(ResourceLoaderIdentifier) override; 167 167 void didFail(const ResourceError&) override; 168 168 void notifyIsDone(bool) final; -
trunk/Source/WebKit/ChangeLog
r282711 r282712 1 2021-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 1 171 2021-09-17 Kate Cheney <katherine_cheney@apple.com> 2 172 -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
r282429 r282712 207 207 RELEASE_ASSERT(RunLoop::isMain()); 208 208 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()))) 210 210 loader->didReceiveNetworkResourceLoaderMessage(connection, decoder); 211 211 return; … … 460 460 Vector<RefPtr<WebCore::BlobDataFileReference>> NetworkConnectionToWebProcess::resolveBlobReferences(const NetworkResourceLoadParameters& loadParameters) 461 461 { 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()); 463 463 464 464 auto* session = networkSession(); … … 489 489 void NetworkConnectionToWebProcess::scheduleResourceLoad(NetworkResourceLoadParameters&& loadParameters, std::optional<NetworkResourceLoadIdentifier> existingLoaderToResume) 490 490 { 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()); 492 492 493 493 #if ENABLE(SERVICE_WORKER) … … 533 533 void NetworkConnectionToWebProcess::performSynchronousLoad(NetworkResourceLoadParameters&& loadParameters, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply) 534 534 { 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()); 536 536 537 537 auto identifier = loadParameters.identifier; … … 555 555 void NetworkConnectionToWebProcess::loadPing(NetworkResourceLoadParameters&& loadParameters) 556 556 { 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()); 558 558 559 559 auto completionHandler = [connection = m_connection, identifier = loadParameters.identifier] (const ResourceError& error, const ResourceResponse& response) { … … 575 575 } 576 576 577 void NetworkConnectionToWebProcess::removeLoadIdentifier( ResourceLoadIdentifier identifier)577 void NetworkConnectionToWebProcess::removeLoadIdentifier(WebCore::ResourceLoaderIdentifier identifier) 578 578 { 579 579 RELEASE_ASSERT(identifier); … … 588 588 // Abort the load now, as the WebProcess won't be able to respond to messages any more which might lead 589 589 // 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()); 591 591 loader->abort(); 592 592 ASSERT(!m_networkResourceLoaders.contains(identifier)); … … 628 628 } 629 629 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 );630 void 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()); 633 633 634 634 ASSERT(!loadParameters.request.httpBody()); … … 658 658 } 659 659 660 void NetworkConnectionToWebProcess::isResourceLoadFinished( uint64_tloadIdentifier, CompletionHandler<void(bool)>&& callback)660 void NetworkConnectionToWebProcess::isResourceLoadFinished(WebCore::ResourceLoaderIdentifier loadIdentifier, CompletionHandler<void(bool)>&& callback) 661 661 { 662 662 callback(!m_networkResourceLoaders.contains(loadIdentifier)); 663 663 } 664 664 665 void NetworkConnectionToWebProcess::didFinishPreconnection( uint64_tpreconnectionIdentifier, const ResourceError& error)665 void NetworkConnectionToWebProcess::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, const ResourceError& error) 666 666 { 667 667 if (!m_connection->isValid()) … … 684 684 } 685 685 686 void NetworkConnectionToWebProcess::convertMainResourceLoadToDownload( uint64_tmainResourceLoadIdentifier, DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response, std::optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)686 void NetworkConnectionToWebProcess::convertMainResourceLoadToDownload(std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response, std::optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain) 687 687 { 688 688 RELEASE_ASSERT(RunLoop::isMain()); … … 694 694 } 695 695 696 NetworkResourceLoader* loader = m_networkResourceLoaders.get( mainResourceLoadIdentifier);696 NetworkResourceLoader* loader = m_networkResourceLoaders.get(*mainResourceLoadIdentifier); 697 697 if (!loader) { 698 698 // If we're trying to download a blob here loader can be null. … … 1030 1030 } 1031 1031 1032 std::optional<NetworkActivityTracker> NetworkConnectionToWebProcess::startTrackingResourceLoad(PageIdentifier pageID, ResourceLoadIdentifier resourceID, bool isTopResource)1032 std::optional<NetworkActivityTracker> NetworkConnectionToWebProcess::startTrackingResourceLoad(PageIdentifier pageID, WebCore::ResourceLoaderIdentifier resourceID, bool isTopResource) 1033 1033 { 1034 1034 if (m_sessionID.isEphemeral()) … … 1081 1081 } 1082 1082 1083 void NetworkConnectionToWebProcess::stopTrackingResourceLoad( ResourceLoadIdentifier resourceID, NetworkActivityTracker::CompletionCode code)1083 void NetworkConnectionToWebProcess::stopTrackingResourceLoad(WebCore::ResourceLoaderIdentifier resourceID, NetworkActivityTracker::CompletionCode code) 1084 1084 { 1085 1085 auto itemIndex = findNetworkActivityTracker(resourceID); … … 1118 1118 } 1119 1119 1120 size_t NetworkConnectionToWebProcess::findNetworkActivityTracker( ResourceLoadIdentifier resourceID)1120 size_t NetworkConnectionToWebProcess::findNetworkActivityTracker(WebCore::ResourceLoaderIdentifier resourceID) 1121 1121 { 1122 1122 return m_networkActivityTrackers.findMatching([&](const auto& item) { … … 1269 1269 } 1270 1270 1271 void NetworkConnectionToWebProcess::prioritizeResourceLoads( Vector<ResourceLoadIdentifier>loadIdentifiers)1271 void NetworkConnectionToWebProcess::prioritizeResourceLoads(const Vector<WebCore::ResourceLoaderIdentifier>& loadIdentifiers) 1272 1272 { 1273 1273 auto* session = networkSession(); … … 1286 1286 } 1287 1287 1288 RefPtr<NetworkResourceLoader> NetworkConnectionToWebProcess::takeNetworkResourceLoader( uint64_tresourceLoadIdentifier)1288 RefPtr<NetworkResourceLoader> NetworkConnectionToWebProcess::takeNetworkResourceLoader(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) 1289 1289 { 1290 1290 if (!NetworkResourceLoadMap::MapType::isValidKey(resourceLoadIdentifier)) -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
r282429 r282712 88 88 class WebSWServerConnection; 89 89 class WebSWServerToContextConnection; 90 typedef uint64_t ResourceLoadIdentifier;91 90 92 91 namespace NetworkCache { … … 126 125 void endSuspension(); 127 126 128 void getNetworkLoadInformationResponse( ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::ResourceResponse&)>&& completionHandler)127 void getNetworkLoadInformationResponse(WebCore::ResourceLoaderIdentifier identifier, CompletionHandler<void(const WebCore::ResourceResponse&)>&& completionHandler) 129 128 { 130 129 if (auto* info = m_networkLoadInformationByID.get(identifier)) … … 133 132 } 134 133 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) 136 135 { 137 136 if (auto* info = m_networkLoadInformationByID.get(identifier)) … … 140 139 } 141 140 142 void takeNetworkLoadInformationMetrics( ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::NetworkLoadMetrics&)>&& completionHandler)141 void takeNetworkLoadInformationMetrics(WebCore::ResourceLoaderIdentifier identifier, CompletionHandler<void(const WebCore::NetworkLoadMetrics&)>&& completionHandler) 143 142 { 144 143 if (auto info = m_networkLoadInformationByID.take(identifier)) … … 147 146 } 148 147 149 void addNetworkLoadInformation( ResourceLoadIdentifier identifier, WebCore::NetworkLoadInformation&& information)148 void addNetworkLoadInformation(WebCore::ResourceLoaderIdentifier identifier, WebCore::NetworkLoadInformation&& information) 150 149 { 151 150 ASSERT(!m_networkLoadInformationByID.contains(identifier)); … … 153 152 } 154 153 155 void addNetworkLoadInformationMetrics( ResourceLoadIdentifier identifier, const WebCore::NetworkLoadMetrics& metrics)154 void addNetworkLoadInformationMetrics(WebCore::ResourceLoaderIdentifier identifier, const WebCore::NetworkLoadMetrics& metrics) 156 155 { 157 156 ASSERT(m_networkLoadInformationByID.contains(identifier)); … … 161 160 } 162 161 163 void removeNetworkLoadInformation( ResourceLoadIdentifier identifier)162 void removeNetworkLoadInformation(WebCore::ResourceLoaderIdentifier identifier) 164 163 { 165 164 m_networkLoadInformationByID.remove(identifier); 166 165 } 167 166 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); 170 169 171 170 Vector<RefPtr<WebCore::BlobDataFileReference>> resolveBlobReferences(const NetworkResourceLoadParameters&); … … 188 187 189 188 void broadcastConsoleMessage(JSC::MessageSource, JSC::MessageLevel, const String& message); 190 RefPtr<NetworkResourceLoader> takeNetworkResourceLoader( uint64_t resourceLoadIdentifier);189 RefPtr<NetworkResourceLoader> takeNetworkResourceLoader(WebCore::ResourceLoaderIdentifier); 191 190 192 191 private: 193 192 NetworkConnectionToWebProcess(NetworkProcess&, WebCore::ProcessIdentifier, PAL::SessionID, IPC::Connection::Identifier); 194 193 195 void didFinishPreconnection( uint64_tpreconnectionIdentifier, const WebCore::ResourceError&);194 void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, const WebCore::ResourceError&); 196 195 WebCore::NetworkStorageSession* storageSession(); 197 196 … … 212 211 void prefetchDNS(const String&); 213 212 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); 218 217 void pageLoadCompleted(WebCore::PageIdentifier); 219 218 void browsingContextRemoved(WebPageProxyIdentifier, WebCore::PageIdentifier, WebCore::FrameIdentifier); 220 void crossOriginRedirectReceived( ResourceLoadIdentifier, const URL& redirectURL);219 void crossOriginRedirectReceived(WebCore::ResourceLoaderIdentifier, const URL& redirectURL); 221 220 void startDownload(DownloadID, const WebCore::ResourceRequest&, std::optional<NavigatingToAppBoundDomain>, const String& suggestedName = { }); 222 void convertMainResourceLoadToDownload( uint64_tmainResourceLoadIdentifier, 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>); 223 222 224 223 void registerURLSchemesAsCORSEnabled(Vector<String>&& schemes); … … 328 327 } 329 328 330 ResourceNetworkActivityTracker(WebCore::PageIdentifier pageID, ResourceLoadIdentifier resourceID)329 ResourceNetworkActivityTracker(WebCore::PageIdentifier pageID, WebCore::ResourceLoaderIdentifier resourceID) 331 330 : pageID { pageID } 332 331 , resourceID { resourceID } … … 336 335 337 336 WebCore::PageIdentifier pageID; 338 ResourceLoadIdentifier resourceID { 0 };337 WebCore::ResourceLoaderIdentifier resourceID; 339 338 bool isRootActivity { false }; 340 339 NetworkActivityTracker networkActivity; … … 344 343 void stopAllNetworkActivityTrackingForPage(WebCore::PageIdentifier); 345 344 size_t findRootNetworkActivity(WebCore::PageIdentifier); 346 size_t findNetworkActivityTracker( ResourceLoadIdentifier resourceID);345 size_t findNetworkActivityTracker(WebCore::ResourceLoaderIdentifier resourceID); 347 346 348 347 void hasUploadStateChanged(bool); 349 348 350 349 void setResourceLoadSchedulingMode(WebCore::PageIdentifier, WebCore::LoadSchedulingMode); 351 void prioritizeResourceLoads( Vector<ResourceLoadIdentifier>);350 void prioritizeResourceLoads(const Vector<WebCore::ResourceLoaderIdentifier>&); 352 351 353 352 #if ENABLE(APPLE_PAY_REMOTE_UI) … … 376 375 Vector<ResourceNetworkActivityTracker> m_networkActivityTrackers; 377 376 378 HashMap< ResourceLoadIdentifier, std::unique_ptr<WebCore::NetworkLoadInformation>> m_networkLoadInformationByID;377 HashMap<WebCore::ResourceLoaderIdentifier, std::unique_ptr<WebCore::NetworkLoadInformation>> m_networkLoadInformationByID; 379 378 380 379 -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
r282429 r282712 27 27 TestProcessIncomingSyncMessagesWhenWaitingForSyncReply(WebKit::WebPageProxyIdentifier pageID) -> (bool handled) Synchronous 28 28 LoadPing(WebKit::NetworkResourceLoadParameters resourceLoadParameters) 29 RemoveLoadIdentifier( uint64_tresourceLoadIdentifier)29 RemoveLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) 30 30 PageLoadCompleted(WebCore::PageIdentifier webPageID) 31 31 BrowsingContextRemoved(WebKit::WebPageProxyIdentifier webPageProxyID, WebCore::PageIdentifier webPageID, WebCore::FrameIdentifier webFrameID) 32 32 PrefetchDNS(String hostname) 33 33 SendH2Ping(WebKit::NetworkResourceLoadParameters parameters) -> (Expected<Seconds, WebCore::ResourceError> result) Async 34 PreconnectTo(std::optional< uint64_t> preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters);35 IsResourceLoadFinished( uint64_tresourceLoadIdentifier) -> (bool isFinished) Async34 PreconnectTo(std::optional<WebCore::ResourceLoaderIdentifier> preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters); 35 IsResourceLoadFinished(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) -> (bool isFinished) Async 36 36 37 37 StartDownload(WebKit::DownloadID downloadID, WebCore::ResourceRequest request, enum:bool std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, String suggestedName) 38 ConvertMainResourceLoadToDownload( uint64_tmainResourceLoadIdentifier, 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) 39 39 40 40 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 … … 80 80 ResetOriginAccessAllowLists(); 81 81 82 GetNetworkLoadInformationResponse( uint64_tresourceLoadIdentifier) -> (WebCore::ResourceResponse response) Synchronous83 GetNetworkLoadIntermediateInformation( uint64_tresourceLoadIdentifier) -> (Vector<WebCore::NetworkTransactionInformation> transactions) Synchronous84 TakeNetworkLoadInformationMetrics( uint64_tresourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) Synchronous82 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 85 85 86 86 #if ENABLE(SERVICE_WORKER) … … 109 109 #endif 110 110 SetResourceLoadSchedulingMode(WebCore::PageIdentifier webPageID, enum:uint8_t WebCore::LoadSchedulingMode mode) 111 PrioritizeResourceLoads(Vector< uint64_t> loadIdentifiers)111 PrioritizeResourceLoads(Vector<WebCore::ResourceLoaderIdentifier> loadIdentifiers) 112 112 } -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp
r282429 r282712 2842 2842 #endif 2843 2843 2844 void NetworkProcess::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_t resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler) 2845 { 2846 ASSERT(resourceLoadIdentifier); 2844 void 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 } 2847 2850 auto* connection = webProcessConnection(sourceProcessIdentifier); 2848 2851 if (!connection) … … 2853 2856 return completionHandler(std::nullopt); 2854 2857 2855 auto loader = connection->takeNetworkResourceLoader( resourceLoadIdentifier);2858 auto loader = connection->takeNetworkResourceLoader(*resourceLoadIdentifier); 2856 2859 if (!loader) 2857 2860 return completionHandler(std::nullopt); -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.h
r282429 r282712 424 424 void initializeNetworkProcess(NetworkProcessCreationParameters&&); 425 425 void createNetworkConnectionToWebProcess(WebCore::ProcessIdentifier, PAL::SessionID, CompletionHandler<void(std::optional<IPC::Attachment>&&, WebCore::HTTPCookieAcceptPolicy)>&&); 426 void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_tresourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&);426 void prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&&); 427 427 428 428 void fetchWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, OptionSet<WebsiteDataFetchOption>, CompletionHandler<void(WebsiteData&&)>&&); -
trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in
r282429 r282712 197 197 #endif 198 198 199 PrepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_tresourceLoadIdentifier) -> (std::optional<WebKit::NetworkResourceLoadIdentifier> networkResourceLoadIdentifier) Async199 PrepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, std::optional<WebCore::ResourceLoaderIdentifier> resourceLoadIdentifier) -> (std::optional<WebKit::NetworkResourceLoadIdentifier> networkResourceLoadIdentifier) Async 200 200 201 201 AddWebPageNetworkParameters(PAL::SessionID sessionID, WebKit::WebPageProxyIdentifier pageID, WebKit::WebPageNetworkParameters parameters) -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.cpp
r266157 r282712 40 40 } 41 41 42 NetworkResourceLoadMap::MapType::AddResult NetworkResourceLoadMap::add( ResourceLoadIdentifier identifier, Ref<NetworkResourceLoader>&& loader)42 NetworkResourceLoadMap::MapType::AddResult NetworkResourceLoadMap::add(WebCore::ResourceLoaderIdentifier identifier, Ref<NetworkResourceLoader>&& loader) 43 43 { 44 44 ASSERT(!m_loaders.contains(identifier)); … … 50 50 } 51 51 52 bool NetworkResourceLoadMap::remove( ResourceLoadIdentifier identifier)52 bool NetworkResourceLoadMap::remove(WebCore::ResourceLoaderIdentifier identifier) 53 53 { 54 54 return !!take(identifier); … … 61 61 } 62 62 63 RefPtr<NetworkResourceLoader> NetworkResourceLoadMap::take( ResourceLoadIdentifier identifier)63 RefPtr<NetworkResourceLoader> NetworkResourceLoadMap::take(WebCore::ResourceLoaderIdentifier identifier) 64 64 { 65 65 auto loader = m_loaders.take(identifier); … … 73 73 } 74 74 75 NetworkResourceLoader* NetworkResourceLoadMap::get( ResourceLoadIdentifier identifier) const75 NetworkResourceLoader* NetworkResourceLoadMap::get(WebCore::ResourceLoaderIdentifier identifier) const 76 76 { 77 77 return m_loaders.get(identifier); -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadMap.h
r276880 r282712 26 26 #pragma once 27 27 28 #include <WebCore/ResourceLoaderIdentifier.h> 28 29 #include <wtf/Function.h> 29 30 #include <wtf/HashMap.h> … … 38 39 class NetworkConnectionToWebProcess; 39 40 40 typedef uint64_t ResourceLoadIdentifier;41 42 41 class NetworkResourceLoadMap { 43 42 public: 44 typedef HashMap<ResourceLoadIdentifier, Ref<NetworkResourceLoader>> MapType;43 using MapType = HashMap<WebCore::ResourceLoaderIdentifier, Ref<NetworkResourceLoader>>; 45 44 NetworkResourceLoadMap(Function<void(bool hasUpload)>&&); 46 45 ~NetworkResourceLoadMap(); 47 46 48 47 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); } 50 49 MapType::iterator begin() { return m_loaders.begin(); } 51 50 MapType::ValuesIteratorRange values() { return m_loaders.values(); } 52 51 void clear(); 53 52 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); 58 57 59 58 bool hasUpload() const { return m_hasUpload; } -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h
r282003 r282712 34 34 #include <WebCore/CrossOriginEmbedderPolicy.h> 35 35 #include <WebCore/FetchOptions.h> 36 #include <WebCore/ResourceLoaderIdentifier.h> 36 37 #include <wtf/Seconds.h> 37 38 … … 43 44 namespace WebKit { 44 45 45 typedef uint64_t ResourceLoadIdentifier;46 47 46 class NetworkResourceLoadParameters : public NetworkLoadParameters { 48 47 public: … … 52 51 RefPtr<WebCore::SecurityOrigin> parentOrigin() const; 53 52 54 mutable ResourceLoadIdentifier identifier { 0 };53 mutable WebCore::ResourceLoaderIdentifier identifier; 55 54 Vector<RefPtr<SandboxExtension>> requestBodySandboxExtensions; // Created automatically for the sender. 56 55 RefPtr<SandboxExtension> resourceSandboxExtension; // Created automatically for the sender. -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
r282604 r282712 67 67 #endif 68 68 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__) 71 71 72 72 namespace WebKit { … … 525 525 } 526 526 527 void NetworkResourceLoader::transferToNewWebProcess(NetworkConnectionToWebProcess& newConnection, ResourceLoadIdentifier newCoreIdentifier)527 void NetworkResourceLoader::transferToNewWebProcess(NetworkConnectionToWebProcess& newConnection, WebCore::ResourceLoaderIdentifier newCoreIdentifier) 528 528 { 529 529 m_connection = newConnection; … … 1397 1397 } 1398 1398 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) 1399 template<typename IdentifierType> 1400 static String escapeIDForJSON(const std::optional<ObjectIdentifier<IdentifierType>>& value) 1410 1401 { 1411 1402 return value ? String::number(value->toUInt64()) : String("None"_s); … … 1422 1413 } 1423 1414 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)1415 static void logBlockedCookieInformation(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const WebCore::NetworkStorageSession& networkStorageSession, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<WebCore::ResourceLoaderIdentifier> identifier) 1425 1416 { 1426 1417 ASSERT(NetworkResourceLoader::shouldLogCookieInformation(connection, networkStorageSession.sessionID())); … … 1449 1440 } 1450 1441 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)1442 static void logCookieInformationInternal(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const WebCore::NetworkStorageSession& networkStorageSession, const URL& firstParty, const WebCore::SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<WebCore::ResourceLoaderIdentifier> identifier) 1452 1443 { 1453 1444 ASSERT(NetworkResourceLoader::shouldLogCookieInformation(connection, networkStorageSession.sessionID())); … … 1510 1501 } 1511 1502 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)1503 void NetworkResourceLoader::logCookieInformation(NetworkConnectionToWebProcess& connection, const String& label, const void* loggedObject, const NetworkStorageSession& networkStorageSession, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, const String& referrer, std::optional<FrameIdentifier> frameID, std::optional<PageIdentifier> pageID, std::optional<WebCore::ResourceLoaderIdentifier> identifier) 1513 1504 { 1514 1505 ASSERT(shouldLogCookieInformation(connection, networkStorageSession.sessionID())); -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h
r282604 r282712 86 86 void abort(); 87 87 88 void transferToNewWebProcess(NetworkConnectionToWebProcess&, ResourceLoadIdentifier);88 void transferToNewWebProcess(NetworkConnectionToWebProcess&, WebCore::ResourceLoaderIdentifier); 89 89 90 90 // Message handlers. … … 98 98 NetworkConnectionToWebProcess& connectionToWebProcess() const { return m_connection; } 99 99 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; } 101 101 WebCore::FrameIdentifier frameID() const { return m_parameters.webFrameID; } 102 102 WebCore::PageIdentifier pageID() const { return m_parameters.webPageID; } … … 133 133 #if ENABLE(INTELLIGENT_TRACKING_PREVENTION) && !RELEASE_LOG_DISABLED 134 134 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>); 136 136 #endif 137 137 … … 154 154 // IPC::MessageSender 155 155 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(); } 157 157 158 158 bool canUseCache(const WebCore::ResourceRequest&) const; -
trunk/Source/WebKit/Scripts/webkit/messages.py
r282604 r282712 298 298 'WebCore::RenderingMode', 299 299 'WebCore::RenderingResourceIdentifier', 300 'WebCore::ResourceLoaderIdentifier', 300 301 'WebCore::SWServerConnectionIdentifier', 301 302 'WebCore::ServiceWorkerIdentifier', -
trunk/Source/WebKit/Shared/URLSchemeTaskParameters.cpp
r278253 r282712 53 53 return std::nullopt; 54 54 55 std::optional< uint64_t> taskIdentifier;55 std::optional<WebCore::ResourceLoaderIdentifier> taskIdentifier; 56 56 decoder >> taskIdentifier; 57 57 if (!taskIdentifier) -
trunk/Source/WebKit/Shared/URLSchemeTaskParameters.h
r278253 r282712 27 27 28 28 #include "FrameInfoData.h" 29 #include <WebCore/ResourceLoaderIdentifier.h> 29 30 #include <WebCore/ResourceRequest.h> 30 31 … … 38 39 struct URLSchemeTaskParameters { 39 40 uint64_t handlerIdentifier { 0 }; 40 uint64_t taskIdentifier { 0 };41 WebCore::ResourceLoaderIdentifier taskIdentifier; 41 42 WebCore::ResourceRequest request; 42 43 FrameInfoData frameInfo; -
trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
r282269 r282712 61 61 #include "WebsiteDataType.h" 62 62 #include <JavaScriptCore/RemoteInspector.h> 63 #include <WebCore/ResourceLoaderIdentifier.h> 63 64 #include <glib/gi18n-lib.h> 64 65 #include <libintl.h> … … 195 196 void* m_userData { nullptr }; 196 197 GDestroyNotify m_destroyNotify { nullptr }; 197 HashMap< uint64_t, GRefPtr<WebKitURISchemeRequest>> m_requests;198 HashMap<WebCore::ResourceLoaderIdentifier, GRefPtr<WebKitURISchemeRequest>> m_requests; 198 199 }; 199 200 200 201 typedef HashMap<String, RefPtr<WebKitURISchemeHandler> > URISchemeHandlerMap; 201 typedef HashMap<uint64_t, GRefPtr<WebKitURISchemeRequest> > URISchemeRequestMap;202 202 203 203 class WebKitAutomationClient; -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
r282429 r282712 477 477 } 478 478 479 void NetworkProcessProxy::prepareLoadForWebProcessTransfer(WebCore::ProcessIdentifier sourceProcessIdentifier, uint64_tresourceLoadIdentifier, CompletionHandler<void(std::optional<NetworkResourceLoadIdentifier>)>&& completionHandler)480 { 481 RELEASE_LOG(ProcessSwapping, "%p - NetworkProcessProxy::prepareLoadForWebProcessTransfer: sourceProcessIdentifier: %" PRIu64 ", resourceLoadIdentifier: %" PRIu64, this, sourceProcessIdentifier.toUInt64(), resourceLoadIdentifier );479 void 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); 482 482 if (!resourceLoadIdentifier) { 483 483 completionHandler({ }); -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
r282429 r282712 215 215 void terminateUnresponsiveServiceWorkerProcesses(WebCore::ProcessIdentifier); 216 216 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>)>&&); 218 218 219 219 ProcessThrottler& throttler() final { return m_throttler; } -
trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
r282115 r282712 334 334 } 335 335 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_tmainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)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, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData) 337 337 { 338 338 if (!validateInput(frameID, navigationID)) -
trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h
r281832 r282712 126 126 127 127 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&); 129 129 void didChangeProvisionalURLForFrame(WebCore::FrameIdentifier, uint64_t navigationID, URL&&); 130 130 void didPerformServerRedirect(const String& sourceURLString, const String& destinationURLString, WebCore::FrameIdentifier); -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r282611 r282712 5631 5631 void WebPageProxy::decidePolicyForResponse(FrameIdentifier frameID, FrameInfoData&& frameInfo, PolicyCheckIdentifier identifier, 5632 5632 uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, const String& downloadAttribute, 5633 bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, uint64_tmainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)5633 bool wasAllowedByInjectedBundle, BrowsingContextGroupSwitchDecision browsingContextGroupSwitchDecision, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData) 5634 5634 { 5635 5635 decidePolicyForResponseShared(m_process.copyRef(), m_webPageID, frameID, WTFMove(frameInfo), identifier, navigationID, response, request, canShowMIMEType, downloadAttribute, wasAllowedByInjectedBundle, browsingContextGroupSwitchDecision, mainResourceLoadIdentifier, listenerID, userData); 5636 5636 } 5637 5637 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_tmainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData)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, std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier, uint64_t listenerID, const UserData& userData) 5639 5639 { 5640 5640 PageClientProtector protector(pageClient()); … … 10003 10003 } 10004 10004 10005 void WebPageProxy::stopURLSchemeTask(uint64_t handlerIdentifier, uint64_ttaskIdentifier)10005 void WebPageProxy::stopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier) 10006 10006 { 10007 10007 MESSAGE_CHECK(m_process, decltype(m_urlSchemeHandlersByIdentifier)::isValidKey(handlerIdentifier)); -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r282567 r282712 1746 1746 void didChangeProvisionalURLForFrameShared(Ref<WebProcessProxy>&&, WebCore::FrameIdentifier, uint64_t navigationID, URL&&); 1747 1747 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_tmainResourceLoadIdentifier, 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&); 1749 1749 void startURLSchemeTaskShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, URLSchemeTaskParameters&&); 1750 1750 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); … … 2064 2064 WebCore::ResourceRequest&&, const String& frameName, uint64_t listenerID, const UserData&); 2065 2065 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_tmainResourceLoadIdentifier, 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&); 2067 2067 void unableToImplementPolicy(WebCore::FrameIdentifier, const WebCore::ResourceError&, const UserData&); 2068 2068 void beginSafeBrowsingCheck(const URL&, bool, WebFramePolicyListenerProxy&); … … 2428 2428 2429 2429 void startURLSchemeTask(URLSchemeTaskParameters&&); 2430 void stopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier);2430 void stopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier); 2431 2431 void loadSynchronousURLSchemeTask(URLSchemeTaskParameters&&, Messages::WebPageProxy::LoadSynchronousURLSchemeTaskDelayedReply&&); 2432 2432 -
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
r282567 r282712 108 108 109 109 # 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_tmainResourceLoadIdentifier, 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) 111 111 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) 112 112 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 … … 522 522 523 523 StartURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters) 524 StopURLSchemeTask(uint64_t handlerIdentifier, uint64_ttaskIdentifier)524 StopURLSchemeTask(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier) 525 525 LoadSynchronousURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters) -> (WebCore::ResourceResponse response, WebCore::ResourceError error, Vector<uint8_t> data) Synchronous 526 526 -
trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.cpp
r271263 r282712 56 56 ASSERT(result.isNewEntry); 57 57 58 auto pageEntry = m_tasksByPageIdentifier.add(page.identifier(), HashSet< uint64_t>());58 auto pageEntry = m_tasksByPageIdentifier.add(page.identifier(), HashSet<WebCore::ResourceLoaderIdentifier>()); 59 59 ASSERT(!pageEntry.iterator->value.contains(taskIdentifier)); 60 60 pageEntry.iterator->value.add(taskIdentifier); … … 63 63 } 64 64 65 WebProcessProxy* WebURLSchemeHandler::processForTaskIdentifier( uint64_ttaskIdentifier) const65 WebProcessProxy* WebURLSchemeHandler::processForTaskIdentifier(WebCore::ResourceLoaderIdentifier taskIdentifier) const 66 66 { 67 67 if (!decltype(m_tasks)::isValidKey(taskIdentifier)) … … 80 80 81 81 auto& tasksByPage = iterator->value; 82 Vector< uint64_t> taskIdentifiersToStop;82 Vector<WebCore::ResourceLoaderIdentifier> taskIdentifiersToStop; 83 83 taskIdentifiersToStop.reserveInitialCapacity(tasksByPage.size()); 84 84 for (auto taskIdentifier : tasksByPage) { … … 92 92 } 93 93 94 void WebURLSchemeHandler::stopTask(WebPageProxy& page, uint64_ttaskIdentifier)94 void WebURLSchemeHandler::stopTask(WebPageProxy& page, WebCore::ResourceLoaderIdentifier taskIdentifier) 95 95 { 96 96 if (!decltype(m_tasks)::isValidKey(taskIdentifier)) … … 116 116 } 117 117 118 void WebURLSchemeHandler::removeTaskFromPageMap(WebPageProxyIdentifier pageID, uint64_ttaskID)118 void WebURLSchemeHandler::removeTaskFromPageMap(WebPageProxyIdentifier pageID, WebCore::ResourceLoaderIdentifier taskID) 119 119 { 120 120 auto iterator = m_tasksByPageIdentifier.find(pageID); -
trunk/Source/WebKit/UIProcess/WebURLSchemeHandler.h
r277740 r282712 27 27 28 28 #include "WebURLSchemeTask.h" 29 #include <WebCore/ResourceLoaderIdentifier.h> 29 30 #include <wtf/HashMap.h> 30 31 #include <wtf/HashSet.h> … … 52 53 53 54 void startTask(WebPageProxy&, WebProcessProxy&, WebCore::PageIdentifier, URLSchemeTaskParameters&&, SyncLoadCompletionHandler&&); 54 void stopTask(WebPageProxy&, uint64_ttaskIdentifier);55 void stopTask(WebPageProxy&, WebCore::ResourceLoaderIdentifier taskIdentifier); 55 56 void stopAllTasksForPage(WebPageProxy&, WebProcessProxy*); 56 57 void taskCompleted(WebURLSchemeTask&); … … 64 65 virtual void platformTaskCompleted(WebURLSchemeTask&) { }; 65 66 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; 68 69 69 70 uint64_t m_identifier; 70 71 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; 73 74 74 75 SyncLoadCompletionHandler m_syncLoadCompletionHandler; -
trunk/Source/WebKit/UIProcess/WebURLSchemeTask.h
r277958 r282712 62 62 ~WebURLSchemeTask(); 63 63 64 uint64_tidentifier() const { ASSERT(RunLoop::isMain()); return m_identifier; }64 WebCore::ResourceLoaderIdentifier identifier() const { ASSERT(RunLoop::isMain()); return m_identifier; } 65 65 WebPageProxyIdentifier pageProxyID() const { ASSERT(RunLoop::isMain()); return m_pageProxyID; } 66 66 WebCore::PageIdentifier webPageID() const { ASSERT(RunLoop::isMain()); return m_webPageID; } … … 102 102 Ref<WebURLSchemeHandler> m_urlSchemeHandler; 103 103 RefPtr<WebProcessProxy> m_process; 104 uint64_tm_identifier;104 WebCore::ResourceLoaderIdentifier m_identifier; 105 105 WebPageProxyIdentifier m_pageProxyID; 106 106 WebCore::PageIdentifier m_webPageID; -
trunk/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageResourceLoadClient.h
r241183 r282712 26 26 #pragma once 27 27 28 #include <WebCore/ResourceLoaderIdentifier.h> 29 28 30 namespace WebKit { 29 31 class WebFrame; … … 46 48 virtual ~ResourceLoadClient() = default; 47 49 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; } 56 58 }; 57 59 -
trunk/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp
r278548 r282712 240 240 241 241 private: 242 void didInitiateLoadForResource(WebPage& page, WebFrame& frame, uint64_tidentifier, const ResourceRequest& request, bool) override242 void didInitiateLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request, bool) override 243 243 { 244 244 API::Dictionary::MapType message; 245 245 message.set(String::fromUTF8("Page"), &page); 246 246 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())); 248 248 message.set(String::fromUTF8("Request"), API::URLRequest::create(request)); 249 249 WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidInitiateLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr()); 250 250 } 251 251 252 void willSendRequestForFrame(WebPage& page, WebFrame&, uint64_tidentifier, ResourceRequest& resourceRequest, const ResourceResponse& redirectResourceResponse) override252 void willSendRequestForFrame(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, ResourceRequest& resourceRequest, const ResourceResponse& redirectResourceResponse) override 253 253 { 254 254 GRefPtr<WebKitURIRequest> request = adoptGRef(webkitURIRequestCreateForResourceRequest(resourceRequest)); … … 266 266 API::Dictionary::MapType message; 267 267 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())); 269 269 message.set(String::fromUTF8("Request"), API::URLRequest::create(resourceRequest)); 270 270 if (!redirectResourceResponse.isNull()) … … 273 273 } 274 274 275 void didReceiveResponseForResource(WebPage& page, WebFrame&, uint64_tidentifier, const ResourceResponse& response) override275 void didReceiveResponseForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, const ResourceResponse& response) override 276 276 { 277 277 API::Dictionary::MapType message; 278 278 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())); 280 280 message.set(String::fromUTF8("Response"), API::URLResponse::create(response)); 281 281 WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidReceiveResponseForResource"), API::Dictionary::create(WTFMove(message)).ptr()); … … 288 288 } 289 289 290 void didReceiveContentLengthForResource(WebPage& page, WebFrame&, uint64_tidentifier, uint64_t contentLength) override290 void didReceiveContentLengthForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, uint64_t contentLength) override 291 291 { 292 292 API::Dictionary::MapType message; 293 293 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())); 295 295 message.set(String::fromUTF8("ContentLength"), API::UInt64::create(contentLength)); 296 296 WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidReceiveContentLengthForResource"), API::Dictionary::create(WTFMove(message)).ptr()); 297 297 } 298 298 299 void didFinishLoadForResource(WebPage& page, WebFrame&, uint64_tidentifier) override299 void didFinishLoadForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier) override 300 300 { 301 301 API::Dictionary::MapType message; 302 302 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())); 304 304 WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidFinishLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr()); 305 305 } 306 306 307 void didFailLoadForResource(WebPage& page, WebFrame&, uint64_tidentifier, const ResourceError& error) override307 void didFailLoadForResource(WebPage& page, WebFrame&, WebCore::ResourceLoaderIdentifier identifier, const ResourceError& error) override 308 308 { 309 309 API::Dictionary::MapType message; 310 310 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())); 312 312 message.set(String::fromUTF8("Error"), API::Error::create(error)); 313 313 WebProcess::singleton().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidFailLoadForResource"), API::Dictionary::create(WTFMove(message)).ptr()); -
trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp
r235205 r282712 40 40 } 41 41 42 void InjectedBundlePageResourceLoadClient::didInitiateLoadForResource(WebPage& page, WebFrame& frame, uint64_tidentifier, const ResourceRequest& request, bool pageIsProvisionallyLoading)42 void InjectedBundlePageResourceLoadClient::didInitiateLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request, bool pageIsProvisionallyLoading) 43 43 { 44 44 if (!m_client.didInitiateLoadForResource) 45 45 return; 46 46 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); 48 48 } 49 49 50 void InjectedBundlePageResourceLoadClient::willSendRequestForFrame(WebPage& page, WebFrame& frame, uint64_tidentifier, ResourceRequest& request, const ResourceResponse& redirectResponse)50 void InjectedBundlePageResourceLoadClient::willSendRequestForFrame(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse) 51 51 { 52 52 if (!m_client.willSendRequestForFrame) 53 53 return; 54 54 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))); 56 56 if (returnedRequest) { 57 57 // If the client returned an HTTP body, we want to use that http body. This is needed to fix <rdar://problem/23763584> … … 65 65 } 66 66 67 void InjectedBundlePageResourceLoadClient::didReceiveResponseForResource(WebPage& page, WebFrame& frame, uint64_tidentifier, const ResourceResponse& response)67 void InjectedBundlePageResourceLoadClient::didReceiveResponseForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceResponse& response) 68 68 { 69 69 if (!m_client.didReceiveResponseForResource) 70 70 return; 71 71 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); 73 73 } 74 74 75 void InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource(WebPage& page, WebFrame& frame, uint64_tidentifier, uint64_t contentLength)75 void InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, uint64_t contentLength) 76 76 { 77 77 if (!m_client.didReceiveContentLengthForResource) 78 78 return; 79 79 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); 81 81 } 82 82 83 void InjectedBundlePageResourceLoadClient::didFinishLoadForResource(WebPage& page, WebFrame& frame, uint64_tidentifier)83 void InjectedBundlePageResourceLoadClient::didFinishLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier) 84 84 { 85 85 if (!m_client.didFinishLoadForResource) 86 86 return; 87 87 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); 89 89 } 90 90 91 void InjectedBundlePageResourceLoadClient::didFailLoadForResource(WebPage& page, WebFrame& frame, uint64_tidentifier, const ResourceError& error)91 void InjectedBundlePageResourceLoadClient::didFailLoadForResource(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier, const ResourceError& error) 92 92 { 93 93 if (!m_client.didFailLoadForResource) 94 94 return; 95 95 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); 97 97 } 98 98 99 bool InjectedBundlePageResourceLoadClient::shouldCacheResponse(WebPage& page, WebFrame& frame, uint64_tidentifier)99 bool InjectedBundlePageResourceLoadClient::shouldCacheResponse(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier) 100 100 { 101 101 if (!m_client.shouldCacheResponse) 102 102 return true; 103 103 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); 105 105 } 106 106 107 bool InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage(WebPage& page, WebFrame& frame, uint64_tidentifier)107 bool InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage(WebPage& page, WebFrame& frame, WebCore::ResourceLoaderIdentifier identifier) 108 108 { 109 109 if (!m_client.shouldUseCredentialStorage) 110 110 return true; 111 111 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); 113 113 } 114 114 -
trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h
r218321 r282712 52 52 explicit InjectedBundlePageResourceLoadClient(const WKBundlePageResourceLoadClientBase*); 53 53 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; 62 62 }; 63 63 -
trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp
r282393 r282712 93 93 { 94 94 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()))) 96 96 webResourceLoader->didReceiveWebResourceLoaderMessage(connection, decoder); 97 97 return; … … 227 227 } 228 228 229 void NetworkProcessConnection::didFinishPingLoad( uint64_tpingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)229 void NetworkProcessConnection::didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response) 230 230 { 231 231 WebProcess::singleton().webLoaderStrategy().didFinishPingLoad(pingLoadIdentifier, WTFMove(error), WTFMove(response)); 232 232 } 233 233 234 void NetworkProcessConnection::didFinishPreconnection( uint64_tpreconnectionIdentifier, ResourceError&& error)234 void NetworkProcessConnection::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, ResourceError&& error) 235 235 { 236 236 WebProcess::singleton().webLoaderStrategy().didFinishPreconnection(preconnectionIdentifier, WTFMove(error)); -
trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h
r282393 r282712 24 24 */ 25 25 26 #ifndef NetworkProcessConnection_h 27 #define NetworkProcessConnection_h 26 #pragma once 28 27 29 28 #include "Connection.h" … … 32 31 #include <WebCore/MessagePortChannelProvider.h> 33 32 #include <WebCore/RTCDataChannelIdentifier.h> 33 #include <WebCore/ResourceLoaderIdentifier.h> 34 34 #include <WebCore/ServiceWorkerTypes.h> 35 35 #include <wtf/RefCounted.h> … … 50 50 class WebIDBConnectionToServer; 51 51 class WebSWClientConnection; 52 53 typedef uint64_t ResourceLoadIdentifier;54 52 55 53 class NetworkProcessConnection : public RefCounted<NetworkProcessConnection>, IPC::Connection::Client { … … 97 95 void didReceiveInvalidMessage(IPC::Connection&, IPC::MessageName) override; 98 96 99 void didFinishPingLoad( uint64_tpingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);100 void didFinishPreconnection( uint64_tpreconnectionIdentifier, WebCore::ResourceError&&);97 void didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&); 98 void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError&&); 101 99 void setOnLineState(bool isOnLine); 102 100 void cookieAcceptPolicyChanged(WebCore::HTTPCookieAcceptPolicy); … … 130 128 131 129 } // namespace WebKit 132 133 #endif // NetworkProcessConnection_h -
trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.messages.in
r278253 r282712 27 27 #endif 28 28 29 DidFinishPingLoad( uint64_tpingLoadIdentifier, WebCore::ResourceError error, WebCore::ResourceResponse response)30 DidFinishPreconnection( uint64_tpreconnectionIdentifier, WebCore::ResourceError error)29 DidFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError error, WebCore::ResourceResponse response) 30 DidFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError error) 31 31 SetOnLineState(bool isOnLine); 32 32 CookieAcceptPolicyChanged(enum:uint8_t WebCore::HTTPCookieAcceptPolicy policy); -
trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
r282003 r282712 82 82 83 83 #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() 86 86 87 87 #define WEBLOADERSTRATEGY_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_TEMPLATE fmt, WEBLOADERSTRATEGY_RELEASE_LOG_STANDARD_PARAMETERS, ##__VA_ARGS__) … … 171 171 void WebLoaderStrategy::scheduleLoad(ResourceLoader& resourceLoader, CachedResource* resource, bool shouldClearReferrerOnHTTPSToHTTPRedirect) 172 172 { 173 ResourceLoadIdentifieridentifier = resourceLoader.identifier();173 auto identifier = resourceLoader.identifier(); 174 174 ASSERT(identifier); 175 175 … … 296 296 void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceLoader, const ResourceRequest& request, const WebResourceLoader::TrackingParameters& trackingParameters, bool shouldClearReferrerOnHTTPSToHTTPRedirect, Seconds maximumBufferingTime) 297 297 { 298 ResourceLoadIdentifieridentifier = resourceLoader.identifier();298 auto identifier = resourceLoader.identifier(); 299 299 ASSERT(identifier); 300 300 … … 474 474 } 475 475 476 ResourceLoadIdentifieridentifier = resourceLoader->identifier();476 auto identifier = resourceLoader->identifier(); 477 477 if (!identifier) { 478 478 LOG_ERROR("WebLoaderStrategy removing a ResourceLoader that has no identifier."); … … 567 567 } 568 568 569 std::optional<WebLoaderStrategy::SyncLoadResult> WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler(FrameLoader& frameLoader, ResourceLoadIdentifier identifier, const ResourceRequest& request)569 std::optional<WebLoaderStrategy::SyncLoadResult> WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler(FrameLoader& frameLoader, WebCore::ResourceLoaderIdentifier identifier, const ResourceRequest& request) 570 570 { 571 571 auto* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client()); … … 587 587 } 588 588 589 void WebLoaderStrategy::loadResourceSynchronously(FrameLoader& frameLoader, unsigned longresourceLoadIdentifier, const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data)589 void WebLoaderStrategy::loadResourceSynchronously(FrameLoader& frameLoader, WebCore::ResourceLoaderIdentifier resourceLoadIdentifier, const ResourceRequest& request, ClientCredentialPolicy clientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap& originalRequestHeaders, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data) 590 590 { 591 591 auto* webFrameLoaderClient = toWebFrameLoaderClient(frameLoader.client()); … … 684 684 } 685 685 686 uint64_t WebLoaderStrategy::generateLoadIdentifier()687 {688 static uint64_t identifier = 0;689 return ++identifier;690 }691 692 686 bool WebLoaderStrategy::usePingLoad() const 693 687 { … … 713 707 714 708 NetworkResourceLoadParameters loadParameters; 715 loadParameters.identifier = Web LoaderStrategy::generateLoadIdentifier();709 loadParameters.identifier = WebCore::ResourceLoaderIdentifier::generate(); 716 710 loadParameters.webPageProxyID = webPage->webPageProxyIdentifier(); 717 711 loadParameters.webPageID = webPage->identifier(); … … 750 744 } 751 745 752 void WebLoaderStrategy::didFinishPingLoad( uint64_tpingLoadIdentifier, ResourceError&& error, ResourceResponse&& response)746 void WebLoaderStrategy::didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, ResourceError&& error, ResourceResponse&& response) 753 747 { 754 748 if (auto completionHandler = m_pingLoadCompletionHandlers.take(pingLoadIdentifier)) … … 786 780 if (auto* loader = document->loader()) 787 781 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);795 782 } 796 783 … … 804 791 parameters.request.setHTTPUserAgent(webPageUserAgent); 805 792 } 793 parameters.identifier = WebCore::ResourceLoaderIdentifier::generate(); 806 794 parameters.webPageProxyID = webPage.webPageProxyIdentifier(); 807 795 parameters.webPageID = webPage.identifier(); … … 820 808 #endif 821 809 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. 822 819 WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::PreconnectTo(preconnectionIdentifier, WTFMove(parameters)), 0); 823 820 } 824 821 825 void WebLoaderStrategy::didFinishPreconnection( uint64_tpreconnectionIdentifier, ResourceError&& error)822 void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, ResourceError&& error) 826 823 { 827 824 if (auto completionHandler = m_preconnectCompletionHandlers.take(preconnectionIdentifier)) … … 864 861 } 865 862 866 ResourceResponse WebLoaderStrategy::responseFromResourceLoadIdentifier( uint64_tresourceLoadIdentifier)863 ResourceResponse WebLoaderStrategy::responseFromResourceLoadIdentifier(ResourceLoaderIdentifier resourceLoadIdentifier) 867 864 { 868 865 ResourceResponse response; … … 871 868 } 872 869 873 Vector<NetworkTransactionInformation> WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier( uint64_tresourceLoadIdentifier)870 Vector<NetworkTransactionInformation> WebLoaderStrategy::intermediateLoadInformationFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) 874 871 { 875 872 Vector<NetworkTransactionInformation> information; … … 878 875 } 879 876 880 NetworkLoadMetrics WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier( uint64_tresourceLoadIdentifier)877 NetworkLoadMetrics WebLoaderStrategy::networkMetricsFromResourceLoadIdentifier(WebCore::ResourceLoaderIdentifier resourceLoadIdentifier) 881 878 { 882 879 NetworkLoadMetrics networkMetrics; … … 920 917 void WebLoaderStrategy::prioritizeResourceLoads(const Vector<WebCore::SubresourceLoader*>& resources) 921 918 { 922 auto identifiers = resources.map([](auto* loader) -> ResourceLoadIdentifier {919 auto identifiers = resources.map([](auto* loader) -> WebCore::ResourceLoaderIdentifier { 923 920 return loader->identifier(); 924 921 }); -
trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h
r282003 r282712 45 45 class WebPage; 46 46 class WebURLSchemeTaskProxy; 47 typedef uint64_t ResourceLoadIdentifier;48 47 49 48 class WebLoaderStrategy final : public WebCore::LoaderStrategy { … … 54 53 55 54 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; 57 56 void pageLoadCompleted(WebCore::Page&) final; 58 57 void browsingContextRemoved(WebCore::Frame&) final; … … 69 68 bool usePingLoad() const final; 70 69 void startPingLoad(WebCore::Frame&, WebCore::ResourceRequest&, const WebCore::HTTPHeaderMap& originalRequestHeaders, const WebCore::FetchOptions&, WebCore::ContentSecurityPolicyImposition, PingLoadCompletionHandler&&) final; 71 void didFinishPingLoad( uint64_tpingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&);70 void didFinishPingLoad(WebCore::ResourceLoaderIdentifier pingLoadIdentifier, WebCore::ResourceError&&, WebCore::ResourceResponse&&); 72 71 73 72 void preconnectTo(WebCore::ResourceRequest&&, WebPage&, WebFrame&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&& = nullptr); 74 73 void preconnectTo(WebCore::FrameLoader&, const URL&, WebCore::StoredCredentialsPolicy, PreconnectCompletionHandler&&) final; 75 void didFinishPreconnection( uint64_tpreconnectionIdentifier, WebCore::ResourceError&&);74 void didFinishPreconnection(WebCore::ResourceLoaderIdentifier preconnectionIdentifier, WebCore::ResourceError&&); 76 75 77 76 void setCaptureExtraNetworkLoadMetricsEnabled(bool) final; 78 77 79 WebResourceLoader* webResourceLoaderForIdentifier( ResourceLoadIdentifier identifier) const { return m_webResourceLoaders.get(identifier); }78 WebResourceLoader* webResourceLoaderForIdentifier(WebCore::ResourceLoaderIdentifier identifier) const { return m_webResourceLoaders.get(identifier); } 80 79 void schedulePluginStreamLoad(WebCore::Frame&, WebCore::NetscapePlugInStreamLoaderClient&, WebCore::ResourceRequest&&, CompletionHandler<void(RefPtr<WebCore::NetscapePlugInStreamLoader>&&)>&&); 81 80 … … 90 89 void addOnlineStateChangeListener(Function<void(bool)>&&) final; 91 90 void setOnLineState(bool); 92 93 static uint64_t generateLoadIdentifier();94 91 95 92 void setExistingNetworkResourceLoadIdentifierToResume(std::optional<NetworkResourceLoadIdentifier> existingNetworkResourceLoadIdentifierToResume) { m_existingNetworkResourceLoadIdentifierToResume = existingNetworkResourceLoadIdentifierToResume; } … … 109 106 Vector<uint8_t> data; 110 107 }; 111 std::optional<SyncLoadResult> tryLoadingSynchronouslyUsingURLSchemeHandler(WebCore::FrameLoader&, ResourceLoadIdentifier, const WebCore::ResourceRequest&);108 std::optional<SyncLoadResult> tryLoadingSynchronouslyUsingURLSchemeHandler(WebCore::FrameLoader&, WebCore::ResourceLoaderIdentifier, const WebCore::ResourceRequest&); 112 109 SyncLoadResult loadDataURLSynchronously(const WebCore::ResourceRequest&); 113 110 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; 117 114 118 115 bool shouldPerformSecurityChecks() const final; … … 124 121 void prioritizeResourceLoads(const Vector<WebCore::SubresourceLoader*>&) final; 125 122 126 Vector< uint64_t> ongoingLoads() const final123 Vector<WebCore::ResourceLoaderIdentifier> ongoingLoads() const final 127 124 { 128 return WTF::map(m_webResourceLoaders, [](auto&& keyValue) -> uint64_t{125 return WTF::map(m_webResourceLoaders, [](auto&& keyValue) -> WebCore::ResourceLoaderIdentifier { 129 126 return keyValue.key; 130 127 }); … … 134 131 RunLoop::Timer<WebLoaderStrategy> m_internallyFailedLoadTimer; 135 132 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; 140 137 Vector<Function<void(bool)>> m_onlineStateChangeListeners; 141 138 std::optional<NetworkResourceLoadIdentifier> m_existingNetworkResourceLoadIdentifierToResume; -
trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.cpp
r249504 r282712 29 29 namespace WebKit { 30 30 31 bool WebResourceInterceptController::isIntercepting( unsigned longidentifier) const31 bool WebResourceInterceptController::isIntercepting(WebCore::ResourceLoaderIdentifier identifier) const 32 32 { 33 33 return m_interceptedResponseQueue.contains(identifier); 34 34 } 35 35 36 void WebResourceInterceptController::beginInterceptingResponse( unsigned longidentifier)36 void WebResourceInterceptController::beginInterceptingResponse(WebCore::ResourceLoaderIdentifier identifier) 37 37 { 38 38 m_interceptedResponseQueue.set(identifier, Deque<Function<void()>>()); 39 39 } 40 40 41 void WebResourceInterceptController::continueResponse( unsigned longidentifier)41 void WebResourceInterceptController::continueResponse(WebCore::ResourceLoaderIdentifier identifier) 42 42 { 43 43 auto queue = m_interceptedResponseQueue.take(identifier); … … 46 46 } 47 47 48 void WebResourceInterceptController::interceptedResponse( unsigned longidentifier)48 void WebResourceInterceptController::interceptedResponse(WebCore::ResourceLoaderIdentifier identifier) 49 49 { 50 50 m_interceptedResponseQueue.remove(identifier); 51 51 } 52 52 53 void WebResourceInterceptController::defer( unsigned longidentifier, Function<void()>&& function)53 void WebResourceInterceptController::defer(WebCore::ResourceLoaderIdentifier identifier, Function<void()>&& function) 54 54 { 55 55 ASSERT(isIntercepting(identifier)); -
trunk/Source/WebKit/WebProcess/Network/WebResourceInterceptController.h
r249504 r282712 26 26 #pragma once 27 27 28 #include <WebCore/ResourceLoaderIdentifier.h> 28 29 #include <wtf/Deque.h> 29 30 #include <wtf/Function.h> … … 34 35 class WebResourceInterceptController { 35 36 public: 36 bool isIntercepting( unsigned long identifier) const;37 bool isIntercepting(WebCore::ResourceLoaderIdentifier) const; 37 38 38 39 // Start intercepting a response. 39 void beginInterceptingResponse( unsigned long identifier);40 void beginInterceptingResponse(WebCore::ResourceLoaderIdentifier); 40 41 41 42 // 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); 43 44 44 45 // 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); 46 47 47 void defer( unsigned long identifier, Function<void()>&&);48 void defer(WebCore::ResourceLoaderIdentifier, Function<void()>&&); 48 49 49 50 private: 50 HashMap< unsigned long, Deque<Function<void()>>> m_interceptedResponseQueue;51 HashMap<WebCore::ResourceLoaderIdentifier, Deque<Function<void()>>> m_interceptedResponseQueue; 51 52 }; 52 53 -
trunk/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp
r278779 r282712 55 55 #include <wtf/CompletionHandler.h> 56 56 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__) 58 58 59 59 namespace WebKit { … … 84 84 RELEASE_ASSERT(RunLoop::isMain()); 85 85 RELEASE_ASSERT(m_coreLoader->identifier()); 86 return m_coreLoader->identifier() ;86 return m_coreLoader->identifier().toUInt64(); 87 87 } 88 88 … … 154 154 155 155 if (InspectorInstrumentationWebKit::shouldInterceptResponse(m_coreLoader->frame(), response)) { 156 unsigned longinterceptedRequestIdentifier = m_coreLoader->identifier();156 auto interceptedRequestIdentifier = m_coreLoader->identifier(); 157 157 m_interceptController.beginInterceptingResponse(interceptedRequestIdentifier); 158 158 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 34 34 #include <WebCore/FrameIdentifier.h> 35 35 #include <WebCore/PageIdentifier.h> 36 #include <WebCore/ResourceLoaderIdentifier.h> 36 37 #include <wtf/RefCounted.h> 37 38 #include <wtf/RefPtr.h> … … 51 52 namespace WebKit { 52 53 53 typedef uint64_t ResourceLoadIdentifier;54 55 54 class WebResourceLoader : public RefCounted<WebResourceLoader>, public IPC::MessageSender { 56 55 public: … … 59 58 WebCore::PageIdentifier pageID; 60 59 WebCore::FrameIdentifier frameID; 61 ResourceLoadIdentifier resourceID { 0 };60 WebCore::ResourceLoaderIdentifier resourceID; 62 61 }; 63 62 -
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h
r281854 r282712 136 136 std::optional<WebCore::FrameIdentifier> frameID() const final { return m_frameID; } 137 137 138 bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long) final { return true; }138 bool shouldUseCredentialStorage(WebCore::DocumentLoader*, WebCore::ResourceLoaderIdentifier) final { return true; } 139 139 bool isServiceWorkerFrameLoaderClient() const final { return true; } 140 140 -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r282429 r282712 222 222 } 223 223 224 void WebFrameLoaderClient::assignIdentifierToInitialRequest( unsigned longidentifier, DocumentLoader* loader, const ResourceRequest& request)224 void WebFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request) 225 225 { 226 226 WebPage* webPage = m_frame->page(); … … 236 236 } 237 237 238 void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, unsigned longidentifier, ResourceRequest& request, const ResourceResponse& redirectResponse)238 void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader*, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse) 239 239 { 240 240 WebPage* webPage = m_frame->page(); … … 253 253 } 254 254 255 bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, unsigned longidentifier)255 bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader*, ResourceLoaderIdentifier identifier) 256 256 { 257 257 WebPage* webPage = m_frame->page(); … … 262 262 } 263 263 264 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)264 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, WebCore::ResourceLoaderIdentifier, const AuthenticationChallenge&) 265 265 { 266 266 ASSERT_NOT_REACHED(); … … 268 268 269 269 #if USE(PROTECTION_SPACE_AUTH_CALLBACK) 270 bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, unsigned long, const ProtectionSpace& protectionSpace)270 bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader*, WebCore::ResourceLoaderIdentifier, const ProtectionSpace& protectionSpace) 271 271 { 272 272 // The WebKit 2 Networking process asks the UIProcess directly, so the WebContent process should never receive this callback. … … 276 276 #endif 277 277 278 void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, unsigned longidentifier, const ResourceResponse& response)278 void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader*, ResourceLoaderIdentifier identifier, const ResourceResponse& response) 279 279 { 280 280 WebPage* webPage = m_frame->page(); … … 285 285 } 286 286 287 void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, unsigned longidentifier, int dataLength)287 void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader*, ResourceLoaderIdentifier identifier, int dataLength) 288 288 { 289 289 WebPage* webPage = m_frame->page(); … … 304 304 #endif 305 305 306 void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, unsigned longidentifier)306 void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader*, ResourceLoaderIdentifier identifier) 307 307 { 308 308 WebPage* webPage = m_frame->page(); … … 314 314 } 315 315 316 void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, unsigned longidentifier, const ResourceError& error)316 void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader*, ResourceLoaderIdentifier identifier, const ResourceError& error) 317 317 { 318 318 WebPage* webPage = m_frame->page(); … … 850 850 auto* policyDocumentLoader = coreFrame ? coreFrame->loader().provisionalDocumentLoader() : nullptr; 851 851 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(); 854 855 855 856 bool wasAllowedByInjectedBundle = policy == WKBundlePagePolicyActionUse; … … 1809 1810 } 1810 1811 1811 void WebFrameLoaderClient::willCacheResponse(DocumentLoader*, unsigned longidentifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const1812 void WebFrameLoaderClient::willCacheResponse(DocumentLoader*, ResourceLoaderIdentifier identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const 1812 1813 { 1813 1814 WebPage* webPage = m_frame->page(); … … 1890 1891 NetworkResourceLoadParameters parameters; 1891 1892 parameters.request = ResourceRequest(url); 1892 parameters.identifier = Web LoaderStrategy::generateLoadIdentifier();1893 parameters.identifier = WebCore::ResourceLoaderIdentifier::generate(); 1893 1894 parameters.webPageProxyID = webPage->webPageProxyIdentifier(); 1894 1895 parameters.webPageID = webPage->identifier(); -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
r282429 r282712 82 82 void detachedFromParent3() final; 83 83 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; 89 89 #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; 91 91 #endif 92 92 #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; 99 99 bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length) final; 100 100 #if ENABLE(DATA_DETECTION) … … 239 239 RemoteAXObjectRef accessibilityRemoteObject() final; 240 240 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; 242 242 243 243 NSDictionary *dataDetectionContext() final; -
trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm
r251488 r282712 59 59 } 60 60 61 RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(DocumentLoader*, unsigned long identifier)61 RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(DocumentLoader*, WebCore::ResourceLoaderIdentifier) 62 62 { 63 63 notImplemented(); -
trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp
r281606 r282712 305 305 306 306 auto& webProcess = WebProcess::singleton(); 307 // Use 0to 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. 308 308 // This can happen if there is no loader because the main resource is in the WebCore memory cache, 309 309 // or because the conversion was attempted when not calling SubresourceLoader::didReceiveResponse(). 310 uint64_tmainResourceLoadIdentifier;310 std::optional<WebCore::ResourceLoaderIdentifier> mainResourceLoadIdentifier; 311 311 if (mainResourceLoader) 312 312 mainResourceLoadIdentifier = mainResourceLoader->identifier(); 313 else314 mainResourceLoadIdentifier = 0;315 313 316 314 std::optional<NavigatingToAppBoundDomain> isAppBound = NavigatingToAppBoundDomain::No; -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r282604 r282712 4322 4322 #endif 4323 4323 4324 void WebPage::addConsoleMessage(FrameIdentifier frameID, MessageSource messageSource, MessageLevel messageLevel, const String& message, uint64_trequestID)4324 void WebPage::addConsoleMessage(FrameIdentifier frameID, MessageSource messageSource, MessageLevel messageLevel, const String& message, WebCore::ResourceLoaderIdentifier requestID) 4325 4325 { 4326 4326 if (auto* frame = WebProcess::singleton().webFrame(frameID)) 4327 frame->addConsoleMessage(messageSource, messageLevel, message, requestID );4327 frame->addConsoleMessage(messageSource, messageLevel, message, requestID.toUInt64()); 4328 4328 } 4329 4329 … … 5529 5529 #endif 5530 5530 5531 void WebPage::addResourceRequest( unsigned longidentifier, const WebCore::ResourceRequest& request)5531 void WebPage::addResourceRequest(WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceRequest& request) 5532 5532 { 5533 5533 if (!request.url().protocolIsInHTTPFamily()) … … 5544 5544 } 5545 5545 5546 void WebPage::removeResourceRequest( unsigned longidentifier)5546 void WebPage::removeResourceRequest(WebCore::ResourceLoaderIdentifier identifier) 5547 5547 { 5548 5548 if (!m_trackedNetworkResourceRequestIdentifiers.remove(identifier)) … … 6941 6941 } 6942 6942 6943 void WebPage::urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_ttaskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)6943 void WebPage::urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler) 6944 6944 { 6945 6945 auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier); … … 6950 6950 } 6951 6951 6952 void WebPage::urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_ttaskIdentifier, ResourceResponse&& response, ResourceRequest&& request)6952 void WebPage::urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, ResourceResponse&& response, ResourceRequest&& request) 6953 6953 { 6954 6954 auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier); … … 6958 6958 } 6959 6959 6960 void WebPage::urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_ttaskIdentifier, const ResourceResponse& response)6960 void WebPage::urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceResponse& response) 6961 6961 { 6962 6962 auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier); … … 6966 6966 } 6967 6967 6968 void WebPage::urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_ttaskIdentifier, const IPC::DataReference& data)6968 void WebPage::urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const IPC::DataReference& data) 6969 6969 { 6970 6970 auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier); … … 6974 6974 } 6975 6975 6976 void WebPage::urlSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_ttaskIdentifier, const ResourceError& error)6976 void WebPage::urlSchemeTaskDidComplete(uint64_t handlerIdentifier, WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceError& error) 6977 6977 { 6978 6978 auto* handler = m_identifierToURLSchemeHandlerProxyMap.get(handlerIdentifier); -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r282604 r282712 438 438 #endif 439 439 440 void addConsoleMessage(WebCore::FrameIdentifier, MessageSource, MessageLevel, const String&, uint64_t requestID = 0);440 void addConsoleMessage(WebCore::FrameIdentifier, MessageSource, MessageLevel, const String&, WebCore::ResourceLoaderIdentifier = { }); 441 441 void sendCSPViolationReport(WebCore::FrameIdentifier, const URL& reportURL, IPC::FormDataReference&&); 442 442 void sendCOEPPolicyInheritenceViolation(WebCore::FrameIdentifier, const WebCore::SecurityOriginData& embedderOrigin, const String& endpoint, WebCore::COEPDisposition, const String& type, const URL& blockedURL); … … 1017 1017 #endif 1018 1018 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); 1021 1021 1022 1022 void setMediaVolume(float); … … 1878 1878 void registerURLSchemeHandler(uint64_t identifier, const String& scheme); 1879 1879 1880 void urlSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_ttaskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&, CompletionHandler<void(WebCore::ResourceRequest&&)>&&);1881 void urlSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_ttaskIdentifier, WebCore::ResourceResponse&&, WebCore::ResourceRequest&&);1882 void urlSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_ttaskIdentifier, const WebCore::ResourceResponse&);1883 void urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_ttaskIdentifier, const IPC::DataReference&);1884 void urlSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_ttaskIdentifier, 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&); 1885 1885 1886 1886 void setIsTakingSnapshotsForApplicationSuspension(bool); … … 2162 2162 unsigned m_cachedPageCount { 0 }; 2163 2163 2164 HashSet< unsigned long> m_trackedNetworkResourceRequestIdentifiers;2164 HashSet<WebCore::ResourceLoaderIdentifier> m_trackedNetworkResourceRequestIdentifiers; 2165 2165 2166 2166 WebCore::IntSize m_minimumSizeForAutoLayout; -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in
r282604 r282712 28 28 SetBackgroundColor(std::optional<WebCore::Color> color) 29 29 30 AddConsoleMessage(WebCore::FrameIdentifier frameID, enum:uint8_t JSC::MessageSource messageSource, enum:uint8_t JSC::MessageLevel messageLevel, String message, uint64_trequestID)30 AddConsoleMessage(WebCore::FrameIdentifier frameID, enum:uint8_t JSC::MessageSource messageSource, enum:uint8_t JSC::MessageLevel messageLevel, String message, WebCore::ResourceLoaderIdentifier requestID) 31 31 SendCSPViolationReport(WebCore::FrameIdentifier frameID, URL reportURL, IPC::FormDataReference reportData) 32 32 SendCOEPPolicyInheritenceViolation(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData embedderOrigin, String endpoint, enum:bool WebCore::COEPDisposition disposition, String type, URL blockedURL) … … 554 554 RegisterURLSchemeHandler(uint64_t identifier, String scheme) 555 555 556 URLSchemeTaskWillPerformRedirection(uint64_t handlerIdentifier, uint64_ttaskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest) -> (WebCore::ResourceRequest actualRequest) Async557 URLSchemeTaskDidPerformRedirection(uint64_t handlerIdentifier, uint64_ttaskIdentifier, WebCore::ResourceResponse response, WebCore::ResourceRequest proposedRequest)558 URLSchemeTaskDidReceiveResponse(uint64_t handlerIdentifier, uint64_ttaskIdentifier, WebCore::ResourceResponse response)559 URLSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_ttaskIdentifier, IPC::SharedBufferDataReference data)560 URLSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_ttaskIdentifier, 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) 561 561 562 562 SetIsSuspended(bool suspended) -
trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp
r277740 r282712 64 64 } 65 65 66 void WebURLSchemeHandlerProxy::loadSynchronously( ResourceLoadIdentifier loadIdentifier, WebFrame& webFrame, const ResourceRequest& request, ResourceResponse& response, ResourceError& error, Vector<uint8_t>& data)66 void WebURLSchemeHandlerProxy::loadSynchronously(WebCore::ResourceLoaderIdentifier loadIdentifier, WebFrame& webFrame, const ResourceRequest& request, ResourceResponse& response, ResourceError& error, Vector<uint8_t>& data) 67 67 { 68 68 data.shrink(0); … … 79 79 } 80 80 81 void WebURLSchemeHandlerProxy::taskDidPerformRedirection( uint64_ttaskIdentifier, WebCore::ResourceResponse&& redirectResponse, WebCore::ResourceRequest&& newRequest, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler)81 void WebURLSchemeHandlerProxy::taskDidPerformRedirection(WebCore::ResourceLoaderIdentifier taskIdentifier, WebCore::ResourceResponse&& redirectResponse, WebCore::ResourceRequest&& newRequest, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler) 82 82 { 83 83 auto* task = m_tasks.get(taskIdentifier); … … 88 88 } 89 89 90 void WebURLSchemeHandlerProxy::taskDidReceiveResponse( uint64_ttaskIdentifier, const ResourceResponse& response)90 void WebURLSchemeHandlerProxy::taskDidReceiveResponse(WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceResponse& response) 91 91 { 92 92 auto* task = m_tasks.get(taskIdentifier); … … 97 97 } 98 98 99 void WebURLSchemeHandlerProxy::taskDidReceiveData( uint64_ttaskIdentifier, size_t size, const uint8_t* data)99 void WebURLSchemeHandlerProxy::taskDidReceiveData(WebCore::ResourceLoaderIdentifier taskIdentifier, size_t size, const uint8_t* data) 100 100 { 101 101 auto* task = m_tasks.get(taskIdentifier); … … 106 106 } 107 107 108 void WebURLSchemeHandlerProxy::taskDidComplete( uint64_ttaskIdentifier, const ResourceError& error)108 void WebURLSchemeHandlerProxy::taskDidComplete(WebCore::ResourceLoaderIdentifier taskIdentifier, const ResourceError& error) 109 109 { 110 110 if (auto task = removeTask(taskIdentifier)) … … 118 118 } 119 119 120 RefPtr<WebURLSchemeTaskProxy> WebURLSchemeHandlerProxy::removeTask( uint64_tidentifier)120 RefPtr<WebURLSchemeTaskProxy> WebURLSchemeHandlerProxy::removeTask(WebCore::ResourceLoaderIdentifier identifier) 121 121 { 122 122 auto task = m_tasks.take(identifier); -
trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeHandlerProxy.h
r277740 r282712 40 40 41 41 class WebPage; 42 typedef uint64_t ResourceLoadIdentifier;43 42 44 43 class WebURLSchemeHandlerProxy : public RefCounted<WebURLSchemeHandlerProxy> { … … 53 52 void stopAllTasks(); 54 53 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>&); 56 55 57 56 uint64_t identifier() const { return m_identifier; } 58 57 WebPage& page() { return m_webPage; } 59 58 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&); 64 63 void taskDidStopLoading(WebURLSchemeTaskProxy&); 65 64 … … 67 66 WebURLSchemeHandlerProxy(WebPage&, uint64_t identifier); 68 67 69 RefPtr<WebURLSchemeTaskProxy> removeTask( uint64_t identifier);68 RefPtr<WebURLSchemeTaskProxy> removeTask(WebCore::ResourceLoaderIdentifier); 70 69 71 70 WebPage& m_webPage; 71 // FIXME: This should be a strongly typed identifier. 72 72 uint64_t m_identifier { 0 }; 73 73 74 HashMap< uint64_t, RefPtr<WebURLSchemeTaskProxy>> m_tasks;74 HashMap<WebCore::ResourceLoaderIdentifier, RefPtr<WebURLSchemeTaskProxy>> m_tasks; 75 75 }; // class WebURLSchemeHandlerProxy 76 76 -
trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.cpp
r279017 r282712 40 40 #include <wtf/CompletionHandler.h> 41 41 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() 44 44 #define WEBURLSCHEMETASKPROXY_RELEASE_LOG(fmt, ...) RELEASE_LOG(Network, WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_TEMPLATE fmt, WEBURLSCHEMETASKPROXY_RELEASE_LOG_STANDARD_PARAMETERS, ##__VA_ARGS__) 45 45 -
trunk/Source/WebKit/WebProcess/WebPage/WebURLSchemeTaskProxy.h
r275447 r282712 26 26 #pragma once 27 27 28 #include <WebCore/ResourceLoaderIdentifier.h> 28 29 #include <WebCore/ResourceRequest.h> 29 30 #include <wtf/Deque.h> … … 58 59 void didComplete(const WebCore::ResourceError&); 59 60 60 unsigned longidentifier() const { return m_identifier; }61 WebCore::ResourceLoaderIdentifier identifier() const { return m_identifier; } 61 62 62 63 private: … … 71 72 RefPtr<WebFrame> m_frame; 72 73 WebCore::ResourceRequest m_request; 73 unsigned longm_identifier;74 WebCore::ResourceLoaderIdentifier m_identifier; 74 75 bool m_waitingForCompletionHandler { false }; 75 76 Deque<Function<void()>> m_queuedTasks; -
trunk/Source/WebKitLegacy/ChangeLog
r282105 r282712 1 2021-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 1 12 2021-09-07 Chris Dumez <cdumez@apple.com> 2 13 -
trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.cpp
r278738 r282712 108 108 } 109 109 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)110 void WebResourceLoadScheduler::loadResourceSynchronously(FrameLoader& frameLoader, ResourceLoaderIdentifier, const ResourceRequest& request, ClientCredentialPolicy, const FetchOptions& options, const HTTPHeaderMap&, ResourceError& error, ResourceResponse& response, Vector<uint8_t>& data) 111 111 { 112 112 auto* document = frameLoader.frame().document(); -
trunk/Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h
r277740 r282712 46 46 47 47 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; 49 49 void pageLoadCompleted(WebCore::Page&) final; 50 50 void browsingContextRemoved(WebCore::Frame&) final; -
trunk/Source/WebKitLegacy/mac/ChangeLog
r282707 r282712 1 2021-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 1 27 2021-09-17 Yusuke Suzuki <ysuzuki@apple.com> 2 28 -
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h
r281832 r282712 83 83 void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&) final; 84 84 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; 90 90 #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; 101 101 #if ENABLE(DATA_DETECTION) 102 102 void dispatchDidFinishDataDetection(NSArray *detectionResults) final; 103 103 #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; 107 107 108 108 void dispatchDidDispatchOnloadEvents() final; -
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
r281832 r282712 337 337 } 338 338 339 void WebFrameLoaderClient::assignIdentifierToInitialRequest( unsigned longidentifier, WebCore::DocumentLoader* loader, const WebCore::ResourceRequest& request)339 void WebFrameLoaderClient::assignIdentifierToInitialRequest(WebCore::ResourceLoaderIdentifier identifier, WebCore::DocumentLoader* loader, const WebCore::ResourceRequest& request) 340 340 { 341 341 WebView *webView = getWebView(m_webFrame.get()); … … 357 357 } 358 358 359 void WebFrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, unsigned longidentifier, WebCore::ResourceRequest& request, const WebCore::ResourceResponse& redirectResponse)359 void WebFrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, WebCore::ResourceRequest& request, const WebCore::ResourceResponse& redirectResponse) 360 360 { 361 361 WebView *webView = getWebView(m_webFrame.get()); … … 387 387 } 388 388 389 bool WebFrameLoaderClient::shouldUseCredentialStorage(WebCore::DocumentLoader* loader, unsigned longidentifier)389 bool WebFrameLoaderClient::shouldUseCredentialStorage(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier) 390 390 { 391 391 WebView *webView = getWebView(m_webFrame.get()); … … 400 400 } 401 401 402 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader* loader, unsigned longidentifier, const WebCore::AuthenticationChallenge& challenge)402 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::AuthenticationChallenge& challenge) 403 403 { 404 404 WebView *webView = getWebView(m_webFrame.get()); … … 421 421 422 422 #if USE(PROTECTION_SPACE_AUTH_CALLBACK) 423 bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader* loader, unsigned longidentifier, const WebCore::ProtectionSpace& protectionSpace)423 bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ProtectionSpace& protectionSpace) 424 424 { 425 425 WebView *webView = getWebView(m_webFrame.get()); … … 442 442 443 443 #if PLATFORM(IOS_FAMILY) 444 RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(WebCore::DocumentLoader* loader, unsigned longidentifier)444 RetainPtr<CFDictionaryRef> WebFrameLoaderClient::connectionProperties(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier) 445 445 { 446 446 WebView *webView = getWebView(m_webFrame.get()); … … 469 469 } 470 470 471 void WebFrameLoaderClient::dispatchDidReceiveResponse(WebCore::DocumentLoader* loader, unsigned longidentifier, const WebCore::ResourceResponse& response)471 void WebFrameLoaderClient::dispatchDidReceiveResponse(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceResponse& response) 472 472 { 473 473 WebView *webView = getWebView(m_webFrame.get()); … … 487 487 } 488 488 489 void WebFrameLoaderClient::willCacheResponse(WebCore::DocumentLoader* loader, unsigned longidentifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const489 void WebFrameLoaderClient::willCacheResponse(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, NSCachedURLResponse* response, CompletionHandler<void(NSCachedURLResponse *)>&& completionHandler) const 490 490 { 491 491 WebView *webView = getWebView(m_webFrame.get()); … … 507 507 } 508 508 509 void WebFrameLoaderClient::dispatchDidReceiveContentLength(WebCore::DocumentLoader* loader, unsigned longidentifier, int dataLength)509 void WebFrameLoaderClient::dispatchDidReceiveContentLength(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, int dataLength) 510 510 { 511 511 WebView *webView = getWebView(m_webFrame.get()); … … 529 529 #endif 530 530 531 void WebFrameLoaderClient::dispatchDidFinishLoading(WebCore::DocumentLoader* loader, unsigned longidentifier)531 void WebFrameLoaderClient::dispatchDidFinishLoading(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier) 532 532 { 533 533 WebView *webView = getWebView(m_webFrame.get()); … … 551 551 } 552 552 553 void WebFrameLoaderClient::dispatchDidFailLoading(WebCore::DocumentLoader* loader, unsigned longidentifier, const WebCore::ResourceError& error)553 void WebFrameLoaderClient::dispatchDidFailLoading(WebCore::DocumentLoader* loader, WebCore::ResourceLoaderIdentifier identifier, const WebCore::ResourceError& error) 554 554 { 555 555 WebView *webView = getWebView(m_webFrame.get()); -
trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.h
r187002 r282712 28 28 29 29 #import <WebCore/DocumentLoader.h> 30 #import <WebCore/ResourceLoaderIdentifier.h> 30 31 #import <wtf/RetainPtr.h> 31 32 #import <wtf/HashSet.h> … … 49 50 WebDataSource *dataSource() const; 50 51 51 void increaseLoadCount( unsigned long identifier);52 void decreaseLoadCount( unsigned long identifier);52 void increaseLoadCount(WebCore::ResourceLoaderIdentifier); 53 void decreaseLoadCount(WebCore::ResourceLoaderIdentifier); 53 54 54 55 private: … … 65 66 RetainPtr<id> m_resourceLoadDelegate; 66 67 RetainPtr<id> m_downloadDelegate; 67 HashSet< unsigned long> m_loadingResources;68 HashSet<WebCore::ResourceLoaderIdentifier> m_loadingResources; 68 69 }; -
trunk/Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.mm
r237266 r282712 93 93 } 94 94 95 void WebDocumentLoaderMac::increaseLoadCount( unsigned longidentifier)95 void WebDocumentLoaderMac::increaseLoadCount(WebCore::ResourceLoaderIdentifier identifier) 96 96 { 97 97 ASSERT(m_dataSource); … … 104 104 } 105 105 106 void WebDocumentLoaderMac::decreaseLoadCount( unsigned longidentifier)106 void WebDocumentLoaderMac::decreaseLoadCount(WebCore::ResourceLoaderIdentifier identifier) 107 107 { 108 HashSet<unsigned long>::iteratorit = m_loadingResources.find(identifier);108 auto it = m_loadingResources.find(identifier); 109 109 110 110 // It is valid for a load to be cancelled before it's started. -
trunk/Source/WebKitLegacy/mac/WebView/WebViewInternal.h
r278993 r282712 43 43 #import <WebCore/LayoutMilestone.h> 44 44 #import <WebCore/PlaybackTargetClientContextIdentifier.h> 45 #import <WebCore/ResourceLoaderIdentifier.h> 45 46 #import <WebCore/TextAlternativeWithRange.h> 46 47 #import <WebCore/TextIndicator.h> … … 251 252 #endif 252 253 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 256 259 257 260 - (void)_setZoomMultiplier:(float)multiplier isTextOnly:(BOOL)isTextOnly; -
trunk/Source/WebKitLegacy/win/ChangeLog
r282686 r282712 1 2021-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 1 20 2021-09-17 Simon Fraser <simon.fraser@apple.com> 2 21 -
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp
r281832 r282712 178 178 } 179 179 180 void WebFrameLoaderClient::assignIdentifierToInitialRequest( unsigned longidentifier, DocumentLoader* loader, const ResourceRequest& request)180 void WebFrameLoaderClient::assignIdentifierToInitialRequest(ResourceLoaderIdentifier identifier, DocumentLoader* loader, const ResourceRequest& request) 181 181 { 182 182 WebView* webView = m_webFrame->webView(); … … 186 186 187 187 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 longidentifier)188 resourceLoadDelegate->identifierForInitialRequest(webView, webURLRequest.get(), getWebDataSource(loader), identifier.toUInt64()); 189 } 190 191 bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, ResourceLoaderIdentifier identifier) 192 192 { 193 193 WebView* webView = m_webFrame->webView(); … … 201 201 202 202 BOOL shouldUse; 203 if (SUCCEEDED(resourceLoadDelegatePrivate->shouldUseCredentialStorage(webView, identifier , getWebDataSource(loader), &shouldUse)))203 if (SUCCEEDED(resourceLoadDelegatePrivate->shouldUseCredentialStorage(webView, identifier.toUInt64(), getWebDataSource(loader), &shouldUse))) 204 204 return shouldUse; 205 205 … … 207 207 } 208 208 209 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, unsigned longidentifier, const AuthenticationChallenge& challenge)209 void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const AuthenticationChallenge& challenge) 210 210 { 211 211 ASSERT(challenge.authenticationClient()); … … 215 215 if (SUCCEEDED(webView->resourceLoadDelegate(&resourceLoadDelegate))) { 216 216 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)))) 218 218 return; 219 219 } … … 224 224 } 225 225 226 void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, unsigned longidentifier, ResourceRequest& request, const ResourceResponse& redirectResponse)226 void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, ResourceLoaderIdentifier identifier, ResourceRequest& request, const ResourceResponse& redirectResponse) 227 227 { 228 228 WebView* webView = m_webFrame->webView(); … … 235 235 236 236 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))) 238 238 return; 239 239 … … 253 253 } 254 254 255 void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned longidentifier, const ResourceResponse& response)255 void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& response) 256 256 { 257 257 WebView* webView = m_webFrame->webView(); … … 261 261 262 262 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 longidentifier, int length)263 resourceLoadDelegate->didReceiveResponse(webView, identifier.toUInt64(), webURLResponse.get(), getWebDataSource(loader)); 264 } 265 266 void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader* loader, ResourceLoaderIdentifier identifier, int length) 267 267 { 268 268 WebView* webView = m_webFrame->webView(); … … 271 271 return; 272 272 273 resourceLoadDelegate->didReceiveContentLength(webView, identifier , length, getWebDataSource(loader));274 } 275 276 void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, unsigned longidentifier)273 resourceLoadDelegate->didReceiveContentLength(webView, identifier.toUInt64(), length, getWebDataSource(loader)); 274 } 275 276 void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier) 277 277 { 278 278 WebView* webView = m_webFrame->webView(); … … 281 281 return; 282 282 283 resourceLoadDelegate->didFinishLoadingFromDataSource(webView, identifier , getWebDataSource(loader));284 } 285 286 void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, unsigned longidentifier, const ResourceError& error)283 resourceLoadDelegate->didFinishLoadingFromDataSource(webView, identifier.toUInt64(), getWebDataSource(loader)); 284 } 285 286 void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceError& error) 287 287 { 288 288 WebView* webView = m_webFrame->webView(); … … 292 292 293 293 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)); 295 295 } 296 296 297 297 #if USE(CFURLCONNECTION) 298 bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader* loader, unsigned longidentifier, const ResourceResponse& response, const unsigned char* data, const unsigned long long length)298 bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader* loader, ResourceLoaderIdentifier identifier, const ResourceResponse& response, const unsigned char* data, const unsigned long long length) 299 299 { 300 300 WebView* webView = m_webFrame->webView(); … … 309 309 COMPtr<IWebURLResponse> urlResponse(AdoptCOM, WebURLResponse::createInstance(response)); 310 310 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))) 312 312 return shouldCache; 313 313 -
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h
r281832 r282712 61 61 62 62 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; 64 64 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; 72 72 #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; 74 74 #endif 75 75
Note:
See TracChangeset
for help on using the changeset viewer.