# Copyright (C) 2012-2019 Apple Inc. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. messages -> NetworkConnectionToWebProcess LegacyReceiver { ScheduleResourceLoad(WebKit::NetworkResourceLoadParameters resourceLoadParameters) PerformSynchronousLoad(WebKit::NetworkResourceLoadParameters resourceLoadParameters) -> (WebCore::ResourceError error, WebCore::ResourceResponse response, Vector data) Synchronous TestProcessIncomingSyncMessagesWhenWaitingForSyncReply(WebKit::WebPageProxyIdentifier pageID) -> (bool handled) Synchronous LoadPing(WebKit::NetworkResourceLoadParameters resourceLoadParameters) RemoveLoadIdentifier(uint64_t resourceLoadIdentifier) PageLoadCompleted(WebCore::PageIdentifier webPageID) PrefetchDNS(String hostname) PreconnectTo(Optional preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters); StartDownload(WebKit::DownloadID downloadID, WebCore::ResourceRequest request, String suggestedName) ConvertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, WebCore::ResourceResponse response) CookiesForDOM(URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional frameID, Optional pageID, enum:bool WebCore::IncludeSecureCookies includeSecureCookies) -> (String cookieString, bool didAccessSecureCookies) Synchronous SetCookiesFromDOM(URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional frameID, Optional pageID, String cookieString) CookiesEnabled() -> (bool enabled) Synchronous CookieRequestHeaderFieldValue(URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional frameID, Optional pageID, enum:bool WebCore::IncludeSecureCookies includeSecureCookies) -> (String cookieString, bool didAccessSecureCookies) Synchronous GetRawCookies(URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional frameID, Optional pageID) -> (Vector cookies) Synchronous DeleteCookie(URL url, String cookieName) RegisterFileBlobURL(URL url, String path, WebKit::SandboxExtension::Handle extensionHandle, String contentType) RegisterBlobURL(URL url, Vector blobParts, String contentType) RegisterBlobURLFromURL(URL url, URL srcURL) RegisterBlobURLOptionallyFileBacked(URL url, URL srcURL, String fileBackedPath, String contentType) RegisterBlobURLForSlice(URL url, URL srcURL, int64_t start, int64_t end) UnregisterBlobURL(URL url) BlobSize(URL url) -> (uint64_t resultSize) Synchronous WriteBlobsToTemporaryFiles(Vector blobURLs) -> (Vector fileNames) Async SetCaptureExtraNetworkLoadMetricsEnabled(bool enabled) CreateSocketStream(URL url, String cachePartition, uint64_t identifier) CreateSocketChannel(WebCore::ResourceRequest request, String protocol, uint64_t identifier) #if ENABLE(RESOURCE_LOAD_STATISTICS) RemoveStorageAccessForFrame(WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID); ClearPageSpecificDataForResourceLoadStatistics(WebCore::PageIdentifier pageID); LogUserInteraction(WebCore::RegistrableDomain domain) ResourceLoadStatisticsUpdated(Vector statistics) HasStorageAccess(WebCore::RegistrableDomain subFrameDomain, WebCore::RegistrableDomain topFrameDomain, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID) -> (bool hasStorageAccess) Async RequestStorageAccess(WebCore::RegistrableDomain subFrameDomain, WebCore::RegistrableDomain topFrameDomain, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier webPageID, WebKit::WebPageProxyIdentifier webPageProxyID) -> (enum:bool WebCore::StorageAccessWasGranted wasGranted, enum:bool WebCore::StorageAccessPromptWasShown promptWasShown) Async RequestStorageAccessUnderOpener(WebCore::RegistrableDomain domainInNeedOfStorageAccess, WebCore::PageIdentifier openerPageID, WebCore::RegistrableDomain openerDomain) #endif AddOriginAccessWhitelistEntry(String sourceOrigin, String destinationProtocol, String destinationHost, bool allowDestinationSubdomains); RemoveOriginAccessWhitelistEntry(String sourceOrigin, String destinationProtocol, String destinationHost, bool allowDestinationSubdomains); ResetOriginAccessWhitelists(); GetNetworkLoadInformationRequest(uint64_t resourceLoadIdentifier) -> (WebCore::ResourceRequest request) Synchronous GetNetworkLoadInformationResponse(uint64_t resourceLoadIdentifier) -> (WebCore::ResourceResponse response) Synchronous GetNetworkLoadIntermediateInformation(uint64_t resourceLoadIdentifier) -> (Vector transactions) Synchronous TakeNetworkLoadInformationMetrics(uint64_t resourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) Synchronous #if ENABLE(SERVICE_WORKER) EstablishSWContextConnection(WebCore::RegistrableDomain domain) -> () Async CloseSWContextConnection() #endif UpdateQuotaBasedOnSpaceUsageForTesting(struct WebCore::ClientOrigin origin) CreateNewMessagePortChannel(struct WebCore::MessagePortIdentifier port1, struct WebCore::MessagePortIdentifier port2) EntangleLocalPortInThisProcessToRemote(struct WebCore::MessagePortIdentifier local, struct WebCore::MessagePortIdentifier remote) MessagePortDisentangled(struct WebCore::MessagePortIdentifier local) MessagePortClosed(struct WebCore::MessagePortIdentifier local) TakeAllMessagesForPort(struct WebCore::MessagePortIdentifier port) -> (Vector messages, uint64_t messageBatchIdentifier) Async PostMessageToRemote(struct WebCore::MessageWithMessagePorts message, struct WebCore::MessagePortIdentifier remote) CheckRemotePortForActivity(struct WebCore::MessagePortIdentifier port) -> (bool hasActivity) Async DidDeliverMessagePortMessages(uint64_t messageBatchIdentifier) RegisterURLSchemesAsCORSEnabled(Vector schemes); }