NetworkResourceLoadParameters.h [plain text]
#pragma once
#include "NetworkLoadParameters.h"
#include "PolicyDecision.h"
#include "SandboxExtension.h"
#include "UserContentControllerIdentifier.h"
#include <WebCore/ContentSecurityPolicyResponseHeaders.h>
#include <WebCore/CrossOriginAccessControl.h>
#include <WebCore/FetchOptions.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 Optional<NetworkResourceLoadParameters> decode(IPC::Decoder&);
ResourceLoadIdentifier identifier { 0 };
Vector<RefPtr<SandboxExtension>> requestBodySandboxExtensions; RefPtr<SandboxExtension> resourceSandboxExtension; Seconds maximumBufferingTime;
RefPtr<WebCore::SecurityOrigin> sourceOrigin;
WebCore::FetchOptions options;
Optional<WebCore::ContentSecurityPolicyResponseHeaders> cspResponseHeaders;
WebCore::HTTPHeaderMap originalRequestHeaders;
bool shouldRestrictHTTPResponseAccess { false };
WebCore::PreflightPolicy preflightPolicy { WebCore::PreflightPolicy::Consider };
bool shouldEnableCrossOriginResourcePolicy { false };
Vector<RefPtr<WebCore::SecurityOrigin>> frameAncestorOrigins;
bool isHTTPSUpgradeEnabled { false };
bool pageHasResourceLoadClient { false };
Optional<WebCore::FrameIdentifier> parentFrameID;
bool crossOriginAccessControlCheckEnabled { true };
#if ENABLE(SERVICE_WORKER)
WebCore::ServiceWorkersMode serviceWorkersMode { WebCore::ServiceWorkersMode::None };
Optional<WebCore::ServiceWorkerRegistrationIdentifier> serviceWorkerRegistrationIdentifier;
OptionSet<WebCore::HTTPHeadersToKeepFromCleaning> httpHeadersToKeep;
#endif
#if ENABLE(CONTENT_EXTENSIONS)
URL mainDocumentURL;
Optional<UserContentControllerIdentifier> userContentControllerIdentifier;
#endif
Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
};
}