Create a WebResourceLoadStatisticsStore attached to the NetworkSession
[WebKit-https.git] / Source / WebKit / NetworkProcess / NetworkProcess.messages.in
1 # Copyright (C) 2012-2017 Apple Inc. All rights reserved.
2 #
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions
5 # are met:
6 # 1.  Redistributions of source code must retain the above copyright
7 #     notice, this list of conditions and the following disclaimer.
8 # 2.  Redistributions in binary form must reproduce the above copyright
9 #     notice, this list of conditions and the following disclaimer in the
10 #     documentation and/or other materials provided with the distribution.
11 #
12 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
13 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
14 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
15 # DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
16 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
18 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
19 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
20 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
21 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22
23 messages -> NetworkProcess LegacyReceiver {
24     # Initializes the network process.
25     InitializeNetworkProcess(struct WebKit::NetworkProcessCreationParameters processCreationParameters)
26
27     # Creates a connection for communication with a WebProcess
28     CreateNetworkConnectionToWebProcess(bool isServiceWorkerProcess, struct WebCore::SecurityOriginData origin)
29
30 #if USE(SOUP)
31     SetIgnoreTLSErrors(bool ignoreTLSErrors)
32     UserPreferredLanguagesChanged(Vector<String> languages)
33     SetNetworkProxySettings(struct WebCore::SoupNetworkProxySettings settings)
34 #endif
35
36 #if USE(CURL)
37     SetNetworkProxySettings(PAL::SessionID sessionID, WebCore::CurlProxySettings settings)
38 #endif
39
40     ClearCachedCredentials()
41
42     AddWebsiteDataStore(struct WebKit::WebsiteDataStoreParameters websiteDataStoreParameters);
43     DestroySession(PAL::SessionID sessionID)
44
45     FetchWebsiteData(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, OptionSet<WebKit::WebsiteDataFetchOption> fetchOptions, uint64_t callbackID)
46     DeleteWebsiteData(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, WallTime modifiedSince, uint64_t callbackID)
47     DeleteWebsiteDataForOrigins(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, Vector<WebCore::SecurityOriginData> origins, Vector<String> cookieHostNames, Vector<String> HSTSCacheHostNames, uint64_t callbackID)
48
49     DownloadRequest(PAL::SessionID sessionID, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, String suggestedFilename)
50     ResumeDownload(PAL::SessionID sessionID, WebKit::DownloadID downloadID, IPC::DataReference resumeData, String path, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
51     CancelDownload(WebKit::DownloadID downloadID)
52 #if PLATFORM(COCOA)
53     PublishDownloadProgress(WebKit::DownloadID downloadID, URL url, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
54 #endif
55
56     ContinueWillSendRequest(WebKit::DownloadID downloadID, WebCore::ResourceRequest request)
57     ContinueDecidePendingDownloadDestination(WebKit::DownloadID downloadID, String destination, WebKit::SandboxExtension::Handle sandboxExtensionHandle, bool allowOverwrite)
58
59 #if PLATFORM(COCOA)
60     SetQOS(int latencyQOS, int throughputQOS)
61     SetStorageAccessAPIEnabled(bool enabled)
62 #endif
63     SetAllowsAnySSLCertificateForWebSocket(bool enabled) -> () LegacySync
64
65     SyncAllCookies()
66
67     AllowSpecificHTTPSCertificateForHost(WebCore::CertificateInfo certificate, String host)
68     SetCanHandleHTTPSServerTrustEvaluation(bool value)
69     
70     GetNetworkProcessStatistics(uint64_t callbackID)
71     
72     ClearCacheForAllOrigins(uint32_t cachesToClear)
73     SetCacheModel(enum:uint8_t WebKit::CacheModel cacheModel);
74
75     ProcessDidTransitionToBackground()
76     ProcessDidTransitionToForeground()
77
78     ProcessWillSuspendImminently() -> (bool handled) LegacySync
79     PrepareToSuspend()
80     CancelPrepareToSuspend()
81     ProcessDidResume()
82
83     WriteBlobToFilePath(URL blobURL, String path, WebKit::SandboxExtension::Handle handle) -> (bool success) Async
84
85     PreconnectTo(URL url, enum:bool WebCore::StoredCredentialsPolicy storedCredentialsPolicy);
86
87 #if ENABLE(RESOURCE_LOAD_STATISTICS)
88     UpdatePrevalentDomainsToBlockCookiesFor(PAL::SessionID sessionID, Vector<String> domainsToBlock, uint64_t contextId)
89     SetAgeCapForClientSideCookies(PAL::SessionID sessionID, Optional<Seconds> seconds, uint64_t contextId)
90     HasStorageAccessForFrame(PAL::SessionID sessionID, String resourceDomain, String firstPartyDomain, uint64_t frameID, uint64_t pageID, uint64_t contextId)
91     GetAllStorageAccessEntries(PAL::SessionID sessionID, uint64_t contextId)
92     GrantStorageAccess(PAL::SessionID sessionID, String resourceDomain, String firstPartyDomain, Optional<uint64_t> frameID, uint64_t pageID, uint64_t contextId)
93     LogFrameNavigation(PAL::SessionID sessionID, String targetPrimaryDomain, String mainFramePrimaryDomain, String sourcePrimaryDomain, String targetHost, String mainFrameHost, bool isRedirect, bool isMainFrame)
94     LogUserInteraction(PAL::SessionID sessionID, String targetPrimaryDomain, uint64_t contextId)
95     RemoveAllStorageAccess(PAL::SessionID sessionID, uint64_t contextId)
96     RemovePrevalentDomains(PAL::SessionID sessionID, Vector<String> domainsWithInteraction)
97     SetCacheMaxAgeCapForPrevalentResources(PAL::SessionID sessionID, Seconds seconds, uint64_t contextId)
98     ResetCacheMaxAgeCapForPrevalentResources(PAL::SessionID sessionID, uint64_t contextId)
99 #endif
100
101     SetSessionIsControlledByAutomation(PAL::SessionID sessionID, bool controlled);
102
103     RegisterURLSchemeAsSecure(String scheme)
104     RegisterURLSchemeAsBypassingContentSecurityPolicy(String scheme)
105     RegisterURLSchemeAsLocal(String scheme)
106     RegisterURLSchemeAsNoAccess(String scheme)
107     RegisterURLSchemeAsDisplayIsolated(String scheme)
108     RegisterURLSchemeAsCORSEnabled(String scheme)
109     RegisterURLSchemeAsCanDisplayOnlyIfCanRequest(String scheme)
110
111     SetCacheStorageParameters(PAL::SessionID sessionID, uint64_t quota, String cacheStorageDirectory, WebKit::SandboxExtension::Handle handle);
112
113 #if ENABLE(SERVICE_WORKER)
114     DidNotHandleFetch(WebCore::SWServerConnectionIdentifier serverConnectionIdentifier, WebCore::FetchIdentifier fetchIdentifier)
115     DidFailFetch(WebCore::SWServerConnectionIdentifier serverConnectionIdentifier, WebCore::FetchIdentifier fetchIdentifier, WebCore::ResourceError error)
116     DidReceiveFetchResponse(WebCore::SWServerConnectionIdentifier serverConnectionIdentifier, WebCore::FetchIdentifier fetchIdentifier, WebCore::ResourceResponse response)
117     DidReceiveFetchData(WebCore::SWServerConnectionIdentifier serverConnectionIdentifier, WebCore::FetchIdentifier fetchIdentifier, IPC::SharedBufferDataReference data, int64_t encodedDataLength)
118     DidReceiveFetchFormData(WebCore::SWServerConnectionIdentifier serverConnectionIdentifier, WebCore::FetchIdentifier fetchIdentifier, IPC::FormDataReference data)
119     DidFinishFetch(WebCore::SWServerConnectionIdentifier serverConnectionIdentifier, WebCore::FetchIdentifier fetchIdentifier)
120     PostMessageToServiceWorkerClient(struct WebCore::ServiceWorkerClientIdentifier destinationIdentifier, struct WebCore::MessageWithMessagePorts message, WebCore::ServiceWorkerIdentifier sourceIdentifier, String sourceOrigin)
121
122     PostMessageToServiceWorker(WebCore::ServiceWorkerIdentifier destination, struct WebCore::MessageWithMessagePorts message, WebCore::ServiceWorkerOrClientIdentifier source, WebCore::SWServerConnectionIdentifier connectionIdentifier)
123
124     DisableServiceWorkerProcessTerminationDelay()
125 #endif
126
127 #if ENABLE(INDEXED_DATABASE)
128     SetIDBPerOriginQuota(uint64_t quota)
129 #endif
130 }