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 PBackground;
include protocol PQuotaRequest;
include protocol PQuotaUsageRequest;
include PBackgroundSharedTypes;
include "mozilla/dom/quota/SerializationHelpers.h";
using mozilla::OriginAttributesPattern
from "mozilla/OriginAttributes.h";
using mozilla::dom::quota::PersistenceType
from "mozilla/dom/quota/PersistenceType.h";
using mozilla::dom::quota::Client::Type
from "mozilla/dom/quota/Client.h";
using mozilla::dom::ContentParentId
from "mozilla/dom/ipc/IdType.h";
namespace mozilla {
namespace ipc {
union BoolResponse
{
nsresult;
bool;
};
} // namespace ipc
namespace dom {
namespace quota {
struct StorageNameParams
{
};
struct InitializePersistentOriginParams
{
PrincipalInfo principalInfo;
};
struct InitializeTemporaryOriginParams
{
PersistenceType persistenceType;
PrincipalInfo principalInfo;
};
struct GetFullOriginMetadataParams
{
PersistenceType persistenceType;
PrincipalInfo principalInfo;
};
struct AllUsageParams
{
bool getAll;
};
struct OriginUsageParams
{
PrincipalInfo principalInfo;
bool fromMemory;
};
union UsageRequestParams
{
AllUsageParams;
OriginUsageParams;
};
struct ClearResetOriginParams
{
PrincipalInfo principalInfo;
PersistenceType persistenceType;
bool persistenceTypeIsExplicit;
Type clientType;
bool clientTypeIsExplicit;
};
struct ResetOriginParams
{
ClearResetOriginParams commonParams;
};
struct PersistedParams
{
PrincipalInfo principalInfo;
};
struct PersistParams
{
PrincipalInfo principalInfo;
};
struct EstimateParams
{
PrincipalInfo principalInfo;
};
struct ListOriginsParams
{
};
union RequestParams
{
StorageNameParams;
InitializePersistentOriginParams;
InitializeTemporaryOriginParams;
GetFullOriginMetadataParams;
ResetOriginParams;
PersistedParams;
PersistParams;
EstimateParams;
ListOriginsParams;
};
[ChildImpl=virtual, ParentImpl=virtual]
protocol PQuota
{
manager PBackground;
manages PQuotaRequest;
manages PQuotaUsageRequest;
parent:
async __delete__();
async PQuotaUsageRequest(UsageRequestParams params);
async PQuotaRequest(RequestParams params);
async StorageInitialized()
returns(BoolResponse response);
async TemporaryStorageInitialized()
returns(BoolResponse response);
async InitializeStorage()
returns(BoolResponse response);
async InitializePersistentClient(PrincipalInfo principalInfo,
Type clientType)
returns(BoolResponse response);
async InitializeTemporaryClient(PersistenceType persistenceType,
PrincipalInfo principalInfo,
Type clientType)
returns(BoolResponse response);
async InitializeTemporaryStorage()
returns(BoolResponse response);
async ClearStoragesForOrigin(PersistenceType? persistenceType,
PrincipalInfo principalInfo,
Type? clientType)
returns(BoolResponse response);
async ClearStoragesForOriginPrefix(PersistenceType? persistenceType,
PrincipalInfo principalInfo)
returns(BoolResponse response);
// This can only be called from some other thread in the parent process!
async ClearStoragesForOriginAttributesPattern(OriginAttributesPattern pattern)
returns(BoolResponse response);
async ClearStoragesForPrivateBrowsing()
returns(BoolResponse response);
async ClearStorage()
returns(BoolResponse response);
async ShutdownStorage()
returns(BoolResponse response);
async StartIdleMaintenance();
async StopIdleMaintenance();
async AbortOperationsForProcess(ContentParentId contentParentId);
};
} // namespace quota
} // namespace dom
} // namespace mozilla