1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_COMMON_INDEXED_DB_PROXY_WEBIDBOBJECTSTORE_IMPL_H_
6 #define CONTENT_COMMON_INDEXED_DB_PROXY_WEBIDBOBJECTSTORE_IMPL_H_
8 #include "base/basictypes.h"
9 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBCallbacks.h"
10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBObjectStore.h"
13 class WebIDBCallbacks
;
22 class RendererWebIDBObjectStoreImpl
: public WebKit::WebIDBObjectStore
{
24 explicit RendererWebIDBObjectStoreImpl(int32 ipc_object_store_id
);
25 virtual ~RendererWebIDBObjectStoreImpl();
27 // TODO(alecflett): Remove this when it is removed from webkit:
28 // https://bugs.webkit.org/show_bug.cgi?id=98085
29 static const long long AutogenerateIndexId
= -1;
31 // WebKit::WebIDBObjectStore
32 virtual void get(const WebKit::WebIDBKeyRange
& key_range
,
33 WebKit::WebIDBCallbacks
* callbacks
,
34 const WebKit::WebIDBTransaction
& transaction
,
35 WebKit::WebExceptionCode
& ec
);
37 const WebKit::WebSerializedScriptValue
&,
38 const WebKit::WebIDBKey
&,
40 WebKit::WebIDBCallbacks
*,
41 const WebKit::WebIDBTransaction
&,
42 const WebKit::WebVector
<long long>&,
43 const WebKit::WebVector
<WebKit::WebIDBObjectStore::WebIndexKeys
>&);
44 virtual void setIndexKeys(const WebKit::WebIDBKey
&,
45 const WebKit::WebVector
<long long>&,
46 const WebKit::WebVector
<WebIndexKeys
>&,
47 const WebKit::WebIDBTransaction
&);
48 virtual void setIndexesReady(const WebKit::WebVector
<long long>&,
49 const WebKit::WebIDBTransaction
&);
50 virtual void deleteFunction(const WebKit::WebIDBKeyRange
& key_range
,
51 WebKit::WebIDBCallbacks
* callbacks
,
52 const WebKit::WebIDBTransaction
& transaction
,
53 WebKit::WebExceptionCode
& ec
);
54 virtual void clear(WebKit::WebIDBCallbacks
* callbacks
,
55 const WebKit::WebIDBTransaction
& transaction
,
56 WebKit::WebExceptionCode
& ec
);
58 virtual WebKit::WebIDBIndex
* createIndex(
60 const WebKit::WebString
& name
,
61 const WebKit::WebIDBKeyPath
& key_path
,
64 const WebKit::WebIDBTransaction
& transaction
,
65 WebKit::WebExceptionCode
& ec
);
67 // Transfers ownership of the WebIDBIndex to the caller.
68 virtual WebKit::WebIDBIndex
* index(long long object_store_id
);
69 virtual void deleteIndex(long long index_id
,
70 const WebKit::WebIDBTransaction
& transaction
,
71 WebKit::WebExceptionCode
& ec
);
73 virtual void openCursor(const WebKit::WebIDBKeyRange
&,
74 WebKit::WebIDBCursor::Direction direction
,
75 WebKit::WebIDBCallbacks
*,
76 WebKit::WebIDBTransaction::TaskType
,
77 const WebKit::WebIDBTransaction
&,
78 WebKit::WebExceptionCode
&);
80 virtual void count(const WebKit::WebIDBKeyRange
& idb_key_range
,
81 WebKit::WebIDBCallbacks
* callbacks
,
82 const WebKit::WebIDBTransaction
& transaction
,
83 WebKit::WebExceptionCode
& ec
);
86 int32 ipc_object_store_id_
;
89 } // namespace content
91 #endif // CONTENT_COMMON_INDEXED_DB_PROXY_WEBIDBOBJECTSTORE_IMPL_H_