summaryrefslogtreecommitdiff
path: root/Source/WebCore/loader/ResourceLoaderOptions.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/loader/ResourceLoaderOptions.h')
-rw-r--r--Source/WebCore/loader/ResourceLoaderOptions.h99
1 files changed, 68 insertions, 31 deletions
diff --git a/Source/WebCore/loader/ResourceLoaderOptions.h b/Source/WebCore/loader/ResourceLoaderOptions.h
index b87d98722..b93bcb68f 100644
--- a/Source/WebCore/loader/ResourceLoaderOptions.h
+++ b/Source/WebCore/loader/ResourceLoaderOptions.h
@@ -28,13 +28,15 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef ResourceLoaderOptions_h
-#define ResourceLoaderOptions_h
+#pragma once
+#include "FetchOptions.h"
#include "ResourceHandleTypes.h"
+#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
-
+
enum SendCallbackPolicy {
SendCallbacks,
DoNotSendCallbacks
@@ -55,43 +57,78 @@ enum SecurityCheckPolicy {
DoSecurityCheck
};
-enum RequestOriginPolicy {
- UseDefaultOriginRestrictionsForType,
- RestrictToSameOrigin,
- PotentiallyCrossOriginEnabled // Indicates "potentially CORS-enabled fetch" in HTML standard.
+enum CertificateInfoPolicy {
+ IncludeCertificateInfo,
+ DoNotIncludeCertificateInfo
};
-struct ResourceLoaderOptions {
- ResourceLoaderOptions()
- : sendLoadCallbacks(DoNotSendCallbacks)
- , sniffContent(DoNotSniffContent)
- , dataBufferingPolicy(BufferData)
- , allowCredentials(DoNotAllowStoredCredentials)
- , clientCredentialPolicy(DoNotAskClientForAnyCredentials)
- , securityCheck(DoSecurityCheck)
- , requestOriginPolicy(UseDefaultOriginRestrictionsForType)
- {
- }
+enum class ContentSecurityPolicyImposition : uint8_t {
+ SkipPolicyCheck,
+ DoPolicyCheck
+};
+
+enum class DefersLoadingPolicy : uint8_t {
+ AllowDefersLoading,
+ DisallowDefersLoading
+};
+
+enum class CachingPolicy : uint8_t {
+ AllowCaching,
+ DisallowCaching
+};
+
+enum class ClientCredentialPolicy {
+ CannotAskClientForCredentials,
+ MayAskClientForCredentials
+};
+
+enum class SameOriginDataURLFlag {
+ Set,
+ Unset
+};
+
+enum class InitiatorContext {
+ Document,
+ Worker,
+};
- ResourceLoaderOptions(SendCallbackPolicy sendLoadCallbacks, ContentSniffingPolicy sniffContent, DataBufferingPolicy dataBufferingPolicy, StoredCredentials allowCredentials, ClientCredentialPolicy credentialPolicy, SecurityCheckPolicy securityCheck, RequestOriginPolicy requestOriginPolicy)
+struct ResourceLoaderOptions : public FetchOptions {
+ ResourceLoaderOptions() { }
+
+ ResourceLoaderOptions(const FetchOptions& options) : FetchOptions(options) { }
+
+ ResourceLoaderOptions(SendCallbackPolicy sendLoadCallbacks, ContentSniffingPolicy sniffContent, DataBufferingPolicy dataBufferingPolicy, StoredCredentials allowCredentials, ClientCredentialPolicy credentialPolicy, FetchOptions::Credentials credentials, SecurityCheckPolicy securityCheck, FetchOptions::Mode mode, CertificateInfoPolicy certificateInfoPolicy, ContentSecurityPolicyImposition contentSecurityPolicyImposition, DefersLoadingPolicy defersLoadingPolicy, CachingPolicy cachingPolicy)
: sendLoadCallbacks(sendLoadCallbacks)
, sniffContent(sniffContent)
, dataBufferingPolicy(dataBufferingPolicy)
, allowCredentials(allowCredentials)
- , clientCredentialPolicy(credentialPolicy)
, securityCheck(securityCheck)
- , requestOriginPolicy(requestOriginPolicy)
+ , certificateInfoPolicy(certificateInfoPolicy)
+ , contentSecurityPolicyImposition(contentSecurityPolicyImposition)
+ , defersLoadingPolicy(defersLoadingPolicy)
+ , cachingPolicy(cachingPolicy)
+ , clientCredentialPolicy(credentialPolicy)
{
+ this->credentials = credentials;
+ this->mode = mode;
}
- SendCallbackPolicy sendLoadCallbacks : 1;
- ContentSniffingPolicy sniffContent : 1;
- DataBufferingPolicy dataBufferingPolicy : 1;
- StoredCredentials allowCredentials : 1; // Whether HTTP credentials and cookies are sent with the request.
- ClientCredentialPolicy clientCredentialPolicy : 2; // When we should ask the client for credentials (if we allow credentials at all).
- SecurityCheckPolicy securityCheck : 1;
- RequestOriginPolicy requestOriginPolicy : 2;
-};
-} // namespace WebCore
+ SendCallbackPolicy sendLoadCallbacks { DoNotSendCallbacks };
+ ContentSniffingPolicy sniffContent { DoNotSniffContent };
+ DataBufferingPolicy dataBufferingPolicy { BufferData };
+ StoredCredentials allowCredentials { DoNotAllowStoredCredentials };
+ SecurityCheckPolicy securityCheck { DoSecurityCheck };
+ CertificateInfoPolicy certificateInfoPolicy { DoNotIncludeCertificateInfo };
+ ContentSecurityPolicyImposition contentSecurityPolicyImposition { ContentSecurityPolicyImposition::DoPolicyCheck };
+ DefersLoadingPolicy defersLoadingPolicy { DefersLoadingPolicy::AllowDefersLoading };
+ CachingPolicy cachingPolicy { CachingPolicy::AllowCaching };
+ SameOriginDataURLFlag sameOriginDataURLFlag { SameOriginDataURLFlag::Unset };
+ InitiatorContext initiatorContext { InitiatorContext::Document };
+
+ ClientCredentialPolicy clientCredentialPolicy { ClientCredentialPolicy::CannotAskClientForCredentials };
+ unsigned maxRedirectCount { 20 };
+
+ Vector<String> derivedCachedDataTypesToRetrieve;
+};
-#endif // ResourceLoaderOptions_h
+} // namespace WebCore