File: NetworkResourceLoadParameters.serialization.in

package info (click to toggle)
webkit2gtk 2.48.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 429,764 kB
  • sloc: cpp: 3,697,587; javascript: 194,444; ansic: 169,997; python: 46,499; asm: 19,295; ruby: 18,528; perl: 16,602; xml: 4,650; yacc: 2,360; sh: 2,098; java: 1,993; lex: 1,327; pascal: 366; makefile: 298
file content (117 lines) | stat: -rw-r--r-- 5,162 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# Copyright (C) 2023 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.

headers: "NetworkResourceLoadParameters.h"

enum class WebKit::PreconnectOnly : bool;
enum class WebKit::NavigatingToAppBoundDomain : bool;

class WebKit::NetworkLoadParameters {
    Markable<WebKit::WebPageProxyIdentifier> webPageProxyID;
    Markable<WebCore::PageIdentifier> webPageID;
    Markable<WebCore::FrameIdentifier> webFrameID;
    RefPtr<WebCore::SecurityOrigin> topOrigin;
    RefPtr<WebCore::SecurityOrigin> sourceOrigin;
    WTF::ProcessID parentPID;
#if HAVE(AUDIT_TOKEN)
    [NotSerialized] std::optional<audit_token_t> networkProcessAuditToken;
#endif
    WebCore::ResourceRequest request;
    
    WebCore::ContentSniffingPolicy contentSniffingPolicy;
    WebCore::ContentEncodingSniffingPolicy contentEncodingSniffingPolicy;
    WebCore::StoredCredentialsPolicy storedCredentialsPolicy;
    WebCore::ClientCredentialPolicy clientCredentialPolicy;
    
    bool shouldClearReferrerOnHTTPSToHTTPRedirect;
    bool needsCertificateInfo;
    bool isMainFrameNavigation;
    std::optional<WebKit::NavigationActionData> mainResourceNavigationDataForAnyFrame;
    [NotSerialized] Vector<RefPtr<WebCore::BlobDataFileReference>> blobFileReferences;
    WebKit::PreconnectOnly shouldPreconnectOnly;
    [NotSerialized] std::optional<WebKit::NetworkActivityTracker> networkActivityTracker;
    std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain;
    bool hadMainFrameMainResourcePrivateRelayed;
    bool allowPrivacyProxy;
    OptionSet<WebCore::AdvancedPrivacyProtections> advancedPrivacyProtections;
}

class WebKit::NetworkResourceLoadParameters : WebKit::NetworkLoadParameters {
    Markable<WebCore::ResourceLoaderIdentifier> identifier;
    
    RefPtr<WebCore::FormData> request.httpBody();
    std::optional<Vector<WebKit::SandboxExtensionHandle>> sandboxExtensionsIfHttpBody();

    std::optional<WebKit::SandboxExtensionHandle> sandboxExtensionIflocalFile();

    Seconds maximumBufferingTime;
    
    WebCore::FetchOptions options;
    std::optional<WebCore::ContentSecurityPolicyResponseHeaders> cspResponseHeaders;
    URL parentFrameURL;
    URL frameURL;
    WebCore::CrossOriginEmbedderPolicy parentCrossOriginEmbedderPolicy;
    WebCore::CrossOriginEmbedderPolicy crossOriginEmbedderPolicy;
    WebCore::HTTPHeaderMap originalRequestHeaders;
    
    bool shouldRestrictHTTPResponseAccess;
    
    WebCore::PreflightPolicy preflightPolicy;
    
    bool shouldEnableCrossOriginResourcePolicy;
    
    Vector<Ref<WebCore::SecurityOrigin>> frameAncestorOrigins;
    bool pageHasResourceLoadClient;
    std::optional<WebCore::FrameIdentifier> parentFrameID;
    bool crossOriginAccessControlCheckEnabled;
    
    URL documentURL;

    bool isCrossOriginOpenerPolicyEnabled;
    bool isClearSiteDataHeaderEnabled;
    bool isClearSiteDataExecutionContextEnabled;
    bool isDisplayingInitialEmptyDocument;
    WebCore::SandboxFlags effectiveSandboxFlags;
    URL openerURL;
    WebCore::CrossOriginOpenerPolicy sourceCrossOriginOpenerPolicy;
    
    std::optional<WebCore::NavigationIdentifier> navigationID;
    std::optional<WebCore::NavigationRequester> navigationRequester;
    
    WebCore::ServiceWorkersMode serviceWorkersMode;
    std::optional<WebCore::ServiceWorkerRegistrationIdentifier> serviceWorkerRegistrationIdentifier;
    OptionSet<WebCore::HTTPHeadersToKeepFromCleaning> httpHeadersToKeep;
    std::optional<WebCore::FetchIdentifier> navigationPreloadIdentifier;
    std::optional<WebCore::SharedWorkerIdentifier> workerIdentifier;

#if ENABLE(CONTENT_EXTENSIONS)
    URL mainDocumentURL;
    std::optional<WebKit::UserContentControllerIdentifier> userContentControllerIdentifier;
#endif

#if ENABLE(WK_WEB_EXTENSIONS)
    bool pageHasLoadedWebExtensions;
#endif

    bool linkPreconnectEarlyHintsEnabled;
    bool shouldRecordFrameLoadForStorageAccess;
};