[webkit-changes] [WebKit/WebKit] 898339: Port ResourceRequest and related to the new CoreIP...

Gavin noreply at github.com
Mon Nov 7 10:20:51 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8983399c2041f3be0c275e117a76524f8b45fcbc
      https://github.com/WebKit/WebKit/commit/8983399c2041f3be0c275e117a76524f8b45fcbc
  Author: Gavin Phillips <gavin.p at apple.com>
  Date:   2022-11-07 (Mon, 07 Nov 2022)

  Changed paths:
    M Source/WebCore/Modules/beacon/NavigatorBeacon.cpp
    M Source/WebCore/Modules/fetch/FetchRequest.h
    M Source/WebCore/dom/ElementContext.h
    M Source/WebCore/inspector/agents/InspectorDOMDebuggerAgent.cpp
    M Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp
    M Source/WebCore/inspector/agents/InspectorPageAgent.cpp
    M Source/WebCore/loader/DocumentLoader.cpp
    M Source/WebCore/loader/FrameLoaderTypes.h
    M Source/WebCore/loader/MediaResourceLoader.cpp
    M Source/WebCore/loader/NavigationScheduler.cpp
    M Source/WebCore/loader/PingLoader.cpp
    M Source/WebCore/loader/ResourceLoadInfo.cpp
    M Source/WebCore/loader/ResourceLoadInfo.h
    M Source/WebCore/loader/ResourceLoader.cpp
    M Source/WebCore/loader/SubresourceLoader.cpp
    M Source/WebCore/page/EventSource.cpp
    M Source/WebCore/platform/WebCorePersistentCoders.cpp
    M Source/WebCore/platform/WebCorePersistentCoders.h
    M Source/WebCore/platform/network/HTTPHeaderMap.cpp
    M Source/WebCore/platform/network/HTTPHeaderMap.h
    M Source/WebCore/platform/network/ResourceRequestBase.cpp
    M Source/WebCore/platform/network/ResourceRequestBase.h
    M Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp
    M Source/WebCore/platform/network/cf/ResourceRequest.h
    M Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp
    M Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm
    M Source/WebCore/platform/network/curl/ResourceRequest.h
    M Source/WebCore/platform/network/curl/ResourceRequestCurl.cpp
    M Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm
    M Source/WebCore/platform/network/soup/ResourceRequest.h
    M Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp
    M Source/WebCore/workers/WorkerScriptLoader.cpp
    M Source/WebCore/xml/XMLHttpRequest.cpp
    M Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.h
    M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp
    M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp
    M Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCache.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp
    M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp
    M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
    M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm
    M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/Shared/curl/WebCoreArgumentCodersCurl.cpp
    M Source/WebKit/Shared/soup/WebCoreArgumentCodersSoup.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitResponsePolicyDecision.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebResource.cpp
    M Source/WebKit/UIProcess/Downloads/DownloadProxy.h
    M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
    M Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp

  Log Message:
  -----------
  Port ResourceRequest and related to the new CoreIPC serialization format
https://bugs.webkit.org/show_bug.cgi?id=247135
rdar://101640392

Port ResourceRequest and related classes to the new CoreIPC serialization
format. This change pulls out the core ResourceRequestData (which we persist)
and defines a new "platform specific" requestData type which can be serialized
in place of the core data for CoreIPC when needed.

Reviewed by Alex Christensen.

* Source/WTF/wtf/PlatformEnable.h:
* Source/WebCore/Modules/beacon/NavigatorBeacon.cpp:
(WebCore::NavigatorBeacon::sendBeacon):
* Source/WebCore/Modules/fetch/FetchRequest.h:
(WebCore::FetchRequest::FetchRequest):
* Source/WebCore/dom/ElementContext.h:
(WebCore::ElementContext::isSameElement const):
(WebCore::operator==):
(WebCore::ElementContext::encode const): Deleted.
(WebCore::ElementContext::decode): Deleted.
* Source/WebCore/inspector/agents/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::willSendRequest):
* Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::willSendRequest):
* Source/WebCore/inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::inspectorResourceType):
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
* Source/WebCore/loader/FrameLoaderTypes.h:
(WebCore::SystemPreviewInfo::encode const): Deleted.
(WebCore::SystemPreviewInfo::decode): Deleted.
* Source/WebCore/loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::requestResource):
* Source/WebCore/loader/NavigationScheduler.cpp:
* Source/WebCore/loader/PingLoader.cpp:
(WebCore::PingLoader::sendPing):
* Source/WebCore/loader/ResourceLoadInfo.cpp:
(WebCore::ContentExtensions::toResourceType):
* Source/WebCore/loader/ResourceLoadInfo.h:
* Source/WebCore/loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL):
* Source/WebCore/loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
* Source/WebCore/page/EventSource.cpp:
(WebCore::EventSource::connect):
* Source/WebCore/platform/WebCorePersistentCoders.cpp:
(WTF::Persistence::Coder<WebCore::ResourceRequest>::encode):
(WTF::Persistence::Coder<WebCore::ResourceRequest>::decode):
* Source/WebCore/platform/WebCorePersistentCoders.h:
* Source/WebCore/platform/network/HTTPHeaderMap.cpp:
* Source/WebCore/platform/network/HTTPHeaderMap.h:
(WebCore::HTTPHeaderMap::CommonHeader::isolatedCopy):
(WebCore::HTTPHeaderMap::UncommonHeader::isolatedCopy):
(WebCore::HTTPHeaderMap::CommonHeader::encode const): Deleted.
(WebCore::HTTPHeaderMap::CommonHeader::decode): Deleted.
(WebCore::HTTPHeaderMap::UncommonHeader::encode const): Deleted.
(WebCore::HTTPHeaderMap::UncommonHeader::decode): Deleted.
(WebCore::HTTPHeaderMap::encode const): Deleted.
(WebCore::HTTPHeaderMap::decode): Deleted.
* Source/WebCore/platform/network/ResourceLoadPriority.h:
* Source/WebCore/platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setAsIsolatedCopy):
(WebCore::ResourceRequestBase::isEmpty const):
(WebCore::ResourceRequestBase::isNull const):
(WebCore::ResourceRequestBase::url const):
(WebCore::ResourceRequestBase::setURL):
(WebCore::ResourceRequestBase::redirectAsGETIfNeeded):
(WebCore::ResourceRequestBase::redirectedRequest const):
(WebCore::ResourceRequestBase::removeCredentials):
(WebCore::ResourceRequestBase::cachePolicy const):
(WebCore::ResourceRequestBase::setCachePolicy):
(WebCore::ResourceRequestBase::timeoutInterval const):
(WebCore::ResourceRequestBase::setTimeoutInterval):
(WebCore::ResourceRequestBase::firstPartyForCookies const):
(WebCore::ResourceRequestBase::setFirstPartyForCookies):
(WebCore::ResourceRequestBase::isSameSite const):
(WebCore::ResourceRequestBase::setIsSameSite):
(WebCore::ResourceRequestBase::isTopSite const):
(WebCore::ResourceRequestBase::setIsTopSite):
(WebCore::ResourceRequestBase::httpMethod const):
(WebCore::ResourceRequestBase::setHTTPMethod):
(WebCore::ResourceRequestBase::httpHeaderFields const):
(WebCore::ResourceRequestBase::httpHeaderField const):
(WebCore::ResourceRequestBase::setHTTPHeaderField):
(WebCore::ResourceRequestBase::clearHTTPAuthorization):
(WebCore::ResourceRequestBase::clearHTTPContentType):
(WebCore::ResourceRequestBase::clearPurpose):
(WebCore::ResourceRequestBase::hasHTTPReferrer const):
(WebCore::ResourceRequestBase::clearHTTPReferrer):
(WebCore::ResourceRequestBase::hasHTTPOrigin const):
(WebCore::ResourceRequestBase::clearHTTPOrigin):
(WebCore::ResourceRequestBase::hasHTTPHeader const):
(WebCore::ResourceRequestBase::clearHTTPUserAgent):
(WebCore::ResourceRequestBase::clearHTTPAcceptEncoding):
(WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
(WebCore::ResourceRequestBase::allowCookies const):
(WebCore::ResourceRequestBase::setAllowCookies):
(WebCore::ResourceRequestBase::priority const):
(WebCore::ResourceRequestBase::setPriority):
(WebCore::ResourceRequestBase::addHTTPHeaderFieldIfNotPresent):
(WebCore::ResourceRequestBase::addHTTPHeaderField):
(WebCore::ResourceRequestBase::hasHTTPHeaderField const):
(WebCore::ResourceRequestBase::setHTTPHeaderFields):
(WebCore::ResourceRequestBase::removeHTTPHeaderField):
(WebCore::ResourceRequestBase::isConditional const):
(WebCore::ResourceRequestBase::makeUnconditional):
* Source/WebCore/platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::RequestData::RequestData):
(WebCore::ResourceRequestBase::ResourceRequestBase):
(WebCore::ResourceRequestBase::isSameSiteUnspecified const):
(WebCore::ResourceRequestBase::sameSiteDisposition const):
(WebCore::ResourceRequestBase::setSameSiteDisposition):
(WebCore::ResourceRequestBase::responseContentDispositionEncodingFallbackArray const):
(WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
(WebCore::ResourceRequestBase::platformRequestUpdated const):
(WebCore::ResourceRequestBase::requester const):
(WebCore::ResourceRequestBase::setRequester):
(WebCore::ResourceRequestBase::m_isAppInitiated):
(WebCore::ResourceRequestBase::encodeBase const): Deleted.
(WebCore::ResourceRequestBase::decodeBase): Deleted.
(WebCore::ResourceRequestBase::encodeWithoutPlatformData const): Deleted.
(WebCore::ResourceRequestBase::decodeWithoutPlatformData): Deleted.
* Source/WebCore/platform/network/cf/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
* Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::getRequestDataToSerialize const):
* Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::fromResourceRequestData):
(WebCore::ResourceRequest::getResourceRequestPlatformData const):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
* Source/WebCore/platform/network/curl/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::fromResourceRequestData):
(WebCore::ResourceRequest::encodeWithPlatformData const): Deleted.
(WebCore::ResourceRequest::decodeWithPlatformData): Deleted.
* Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
* Source/WebCore/platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::fromResourceRequestData):
(WebCore::ResourceRequest::encodeWithPlatformData const): Deleted.
(WebCore::ResourceRequest::decodeWithPlatformData): Deleted.
* Source/WebCore/workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
* Source/WebCore/xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
* Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::resourceLoadInfo):
* Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::createFetchTask):
* Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::Cache::encode):
(WebKit::CacheStorage::decodeDOMCacheRecord):
* Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeStoreDecision):
(WebKit::NetworkCache::canRequestUseSpeculativeRevalidation):
* Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::encodeAsStorageRecord const):
(WebKit::NetworkCache::Entry::decodeStorageRecord):
* Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
* Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
* Source/WebKit/Scripts/generate-serializers.py:
(construct_type):
* Source/WebKit/Scripts/webkit/messages.py:
(serialized_identifiers):
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp:
(IPC::ArgumentCoder<Namespace::Subnamespace::StructName>::decode):
(IPC::ArgumentCoder<Namespace::OtherClass>::decode):
(IPC::ArgumentCoder<Namespace::ReturnRefClass>::decode):
* Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::serializedIdentifiers):
* Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<WebCore::ResourceRequest>::encodePlatformData): Deleted.
(IPC::ArgumentCoder<WebCore::ResourceRequest>::decodePlatformData): Deleted.
* Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encode): Deleted.
(IPC::ArgumentCoder<ResourceRequest>::decode): Deleted.
* Source/WebKit/Shared/WebCoreArgumentCoders.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadDataURLSynchronously):
* Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::startFetch):

Canonical link: https://commits.webkit.org/256413@main




More information about the webkit-changes mailing list