gecko-dev/dom/indexedDB/ipc/PIndexedDBIndex.ipdl
Ben Turner 4893263a15 Bug 759427 - 'Multiprocess blob support for MessageManager and IndexedDB'. r=smaug+janv+khuey (rs=sicking for nsBlobURI changes).
--HG--
extra : transplant_source : %95%B5y%11%C5%AB%D9%CF%FF%7C%5E%BB%E5%DA%F5j%83o%29%EB
2012-08-01 23:02:29 -07:00

130 lines
2.1 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 PBlob;
include protocol PIndexedDBCursor;
include protocol PIndexedDBObjectStore;
include protocol PIndexedDBRequest;
include "mozilla/dom/indexedDB/SerializationHelpers.h";
using mozilla::dom::indexedDB::Key;
using mozilla::dom::indexedDB::IDBCursor::Direction;
using mozilla::dom::indexedDB::SerializedStructuredCloneReadInfo;
using mozilla::void_t;
namespace mozilla {
namespace dom {
namespace indexedDB {
namespace ipc {
namespace FIXME_Bug_521898_index {
struct KeyRange
{
Key lower;
Key upper;
bool lowerOpen;
bool upperOpen;
bool isOnly;
};
union OptionalKeyRange
{
KeyRange;
void_t;
};
struct GetParams
{
KeyRange keyRange;
};
struct GetAllParams
{
OptionalKeyRange optionalKeyRange;
uint32_t limit;
};
struct CountParams
{
OptionalKeyRange optionalKeyRange;
};
struct OpenCursorParams
{
OptionalKeyRange optionalKeyRange;
Direction direction;
};
} // namespace FIXME_Bug_521898_index
struct GetKeyParams
{
KeyRange keyRange;
};
struct GetAllKeysParams
{
OptionalKeyRange optionalKeyRange;
uint32_t limit;
};
struct OpenKeyCursorParams
{
OptionalKeyRange optionalKeyRange;
Direction direction;
};
union IndexRequestParams
{
GetParams;
GetKeyParams;
GetAllParams;
GetAllKeysParams;
CountParams;
OpenCursorParams;
OpenKeyCursorParams;
};
union OptionalStructuredCloneReadInfo
{
SerializedStructuredCloneReadInfo;
void_t;
};
struct IndexCursorConstructorParams
{
PIndexedDBRequest request;
Direction direction;
Key key;
Key objectKey;
OptionalStructuredCloneReadInfo optionalCloneInfo;
PBlob[] blobs;
};
} // namespace ipc
protocol PIndexedDBIndex
{
manager PIndexedDBObjectStore;
manages PIndexedDBCursor;
manages PIndexedDBRequest;
parent:
__delete__();
PIndexedDBRequest(IndexRequestParams params);
child:
PIndexedDBCursor(IndexCursorConstructorParams params);
};
} // namespace indexedDB
} // namespace dom
} // namespace mozilla