diff options
Diffstat (limited to 'dom/cache/CacheTypes.ipdlh')
-rw-r--r-- | dom/cache/CacheTypes.ipdlh | 238 |
1 files changed, 238 insertions, 0 deletions
diff --git a/dom/cache/CacheTypes.ipdlh b/dom/cache/CacheTypes.ipdlh new file mode 100644 index 0000000000..67131ed86a --- /dev/null +++ b/dom/cache/CacheTypes.ipdlh @@ -0,0 +1,238 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +include protocol PCache; +include protocol PCacheStreamControl; +include IPCStream; +include PBackgroundSharedTypes; + +include "mozilla/dom/cache/IPCUtils.h"; +include "mozilla/dom/FetchIPCTypes.h"; +include "mozilla/ipc/TransportSecurityInfoUtils.h"; + +using mozilla::dom::HeadersGuardEnum from "mozilla/dom/HeadersBinding.h"; +using mozilla::dom::cache::Namespace from "mozilla/dom/cache/Types.h"; +using mozilla::dom::cache::OpenMode from "mozilla/dom/cache/Types.h"; +using mozilla::dom::ReferrerPolicy from "mozilla/dom/ReferrerPolicyBinding.h"; +using mozilla::dom::RequestCredentials from "mozilla/dom/RequestBinding.h"; +using mozilla::dom::RequestMode from "mozilla/dom/RequestBinding.h"; +using mozilla::dom::RequestCache from "mozilla/dom/RequestBinding.h"; +using mozilla::dom::RequestRedirect from "mozilla/dom/RequestBinding.h"; +using mozilla::dom::ResponseType from "mozilla/dom/ResponseBinding.h"; +using mozilla::void_t from "mozilla/ipc/IPCCore.h"; +using nsContentPolicyType from "nsIContentPolicy.h"; +using struct nsID from "nsID.h"; +using nsILoadInfo::CrossOriginEmbedderPolicy from "nsILoadInfo.h"; +[RefCounted] using class nsITransportSecurityInfo from "nsITransportSecurityInfo.h"; + +namespace mozilla { +namespace dom { +namespace cache { + +struct CacheQueryParams +{ + bool ignoreSearch; + bool ignoreMethod; + bool ignoreVary; + bool cacheNameSet; + nsString cacheName; +}; + +struct CacheReadStream +{ + nsID id; + nullable PCacheStreamControl control; + IPCStream? stream; +}; + +struct HeadersEntry +{ + nsCString name; + nsCString value; +}; +struct CacheRequest +{ + nsCString method; + nsCString urlWithoutQuery; + nsCString urlQuery; + nsCString urlFragment; + HeadersEntry[] headers; + HeadersGuardEnum headersGuard; + nsString referrer; + ReferrerPolicy referrerPolicy; + RequestMode mode; + RequestCredentials credentials; + CacheReadStream? body; + int64_t bodyDiskSize; + nsContentPolicyType contentPolicyType; + RequestCache requestCache; + RequestRedirect requestRedirect; + nsString integrity; + CrossOriginEmbedderPolicy loadingEmbedderPolicy; + PrincipalInfo? principalInfo; +}; + +struct CacheResponse +{ + ResponseType type; + nsCString[] urlList; + uint32_t status; + nsCString statusText; + HeadersEntry[] headers; + HeadersGuardEnum headersGuard; + CacheReadStream? body; + int64_t bodyDiskSize; + nullable nsITransportSecurityInfo securityInfo; + PrincipalInfo? principalInfo; + uint32_t paddingInfo; + int64_t paddingSize; + RequestCredentials credentials; +}; + +struct CacheRequestResponse +{ + CacheRequest request; + CacheResponse response; +}; + +struct CacheMatchArgs +{ + CacheRequest request; + CacheQueryParams params; + OpenMode openMode; +}; + +struct CacheMatchAllArgs +{ + CacheRequest? maybeRequest; + CacheQueryParams params; + OpenMode openMode; +}; + +struct CachePutAllArgs +{ + CacheRequestResponse[] requestResponseList; +}; + +struct CacheDeleteArgs +{ + CacheRequest request; + CacheQueryParams params; +}; + +struct CacheKeysArgs +{ + CacheRequest? maybeRequest; + CacheQueryParams params; + OpenMode openMode; +}; + +struct StorageMatchArgs +{ + CacheRequest request; + CacheQueryParams params; + OpenMode openMode; +}; + +struct StorageHasArgs +{ + nsString key; +}; + +struct StorageOpenArgs +{ + nsString key; +}; + +struct StorageDeleteArgs +{ + nsString key; +}; + +struct StorageKeysArgs +{ +}; + +union CacheOpArgs +{ + CacheMatchArgs; + CacheMatchAllArgs; + CachePutAllArgs; + CacheDeleteArgs; + CacheKeysArgs; + StorageMatchArgs; + StorageHasArgs; + StorageOpenArgs; + StorageDeleteArgs; + StorageKeysArgs; +}; + +struct CacheMatchResult +{ + CacheResponse? maybeResponse; +}; + +struct CacheMatchAllResult +{ + CacheResponse[] responseList; +}; + +struct CachePutAllResult +{ +}; + +struct CacheDeleteResult +{ + bool success; +}; + +struct CacheKeysResult +{ + CacheRequest[] requestList; +}; + +struct StorageMatchResult +{ + CacheResponse? maybeResponse; +}; + +struct StorageHasResult +{ + bool success; +}; + +struct StorageOpenResult +{ + nullable PCache actor; + Namespace ns; +}; + +struct StorageDeleteResult +{ + bool success; +}; + +struct StorageKeysResult +{ + nsString[] keyList; +}; + +union CacheOpResult +{ + void_t; + CacheMatchResult; + CacheMatchAllResult; + CachePutAllResult; + CacheDeleteResult; + CacheKeysResult; + StorageMatchResult; + StorageHasResult; + StorageOpenResult; + StorageDeleteResult; + StorageKeysResult; +}; + +} // namespace cache +} // namespace dom +} // namespace mozilla |