NetworkResourceLoadParameters.h [plain text]
#pragma once
#include "NetworkLoadParameters.h"
#include "SandboxExtension.h"
#include "UserContentControllerIdentifier.h"
#include <WebCore/ContentSecurityPolicyResponseHeaders.h>
#include <WebCore/FetchOptions.h>
#include <WebCore/ResourceLoaderOptions.h>
#include <WebCore/ResourceRequest.h>
#include <WebCore/SecurityOrigin.h>
#include <pal/SessionID.h>
#include <wtf/Seconds.h>
namespace IPC {
class Decoder;
class Encoder;
}
namespace WebKit {
typedef uint64_t ResourceLoadIdentifier;
class NetworkResourceLoadParameters : public NetworkLoadParameters {
public:
void encode(IPC::Encoder&) const;
static bool decode(IPC::Decoder&, NetworkResourceLoadParameters&);
ResourceLoadIdentifier identifier { 0 };
Vector<RefPtr<SandboxExtension>> requestBodySandboxExtensions; RefPtr<SandboxExtension> resourceSandboxExtension; Seconds maximumBufferingTime;
Vector<String> derivedCachedDataTypesToRetrieve;
RefPtr<WebCore::SecurityOrigin> sourceOrigin;
WebCore::FetchOptions options;
std::optional<WebCore::ContentSecurityPolicyResponseHeaders> cspResponseHeaders;
WebCore::HTTPHeaderMap originalRequestHeaders;
bool shouldRestrictHTTPResponseAccess { false };
WebCore::PreflightPolicy preflightPolicy { WebCore::PreflightPolicy::Consider };
bool shouldEnableCrossOriginResourcePolicy { false };
Vector<RefPtr<WebCore::SecurityOrigin>> frameAncestorOrigins;
#if ENABLE(CONTENT_EXTENSIONS)
WebCore::URL mainDocumentURL;
std::optional<UserContentControllerIdentifier> userContentControllerIdentifier;
#endif
};
}