gecko-dev/dom/quota/PQuota.ipdl
Jan Varga 9ab967ef1e Bug 1563023 - Part 2: Add support for getting origin usage from memory; r=asuth
This patch modifies getUsageForPrincipal to support getting origin usage from
memory. Support for getting group usage is factored out to a standalone method
called Estimate.
Operations based on NormalOriginOperationBase can now avoid directory locking
if they don't touch disk.

Differential Revision: https://phabricator.services.mozilla.com/D38087

--HG--
extra : moz-landing-system : lando
2019-08-22 20:51:09 +00:00

152 lines
2.4 KiB
Plaintext

/* 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 dom {
namespace quota {
struct InitParams
{
};
struct InitTemporaryStorageParams
{
};
struct InitOriginParams
{
PrincipalInfo principalInfo;
PersistenceType persistenceType;
};
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;
bool matchAll;
};
struct ClearOriginParams
{
ClearResetOriginParams commonParams;
};
struct ResetOriginParams
{
ClearResetOriginParams commonParams;
};
struct ClearDataParams
{
OriginAttributesPattern pattern;
};
struct ClearAllParams
{
};
struct ResetAllParams
{
};
struct PersistedParams
{
PrincipalInfo principalInfo;
};
struct PersistParams
{
PrincipalInfo principalInfo;
};
struct EstimateParams
{
PrincipalInfo principalInfo;
};
struct ListInitializedOriginsParams
{
};
union RequestParams
{
InitParams;
InitTemporaryStorageParams;
InitOriginParams;
ClearOriginParams;
ResetOriginParams;
ClearDataParams;
ClearAllParams;
ResetAllParams;
PersistedParams;
PersistParams;
EstimateParams;
ListInitializedOriginsParams;
};
protocol PQuota
{
manager PBackground;
manages PQuotaRequest;
manages PQuotaUsageRequest;
parent:
async __delete__();
async PQuotaUsageRequest(UsageRequestParams params);
async PQuotaRequest(RequestParams params);
async StartIdleMaintenance();
async StopIdleMaintenance();
async AbortOperationsForProcess(ContentParentId contentParentId);
};
} // namespace quota
} // namespace dom
} // namespace mozilla