Source code

Revision control

Copy as Markdown

Other Tools

/* 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;
nsCString 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