1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file.
4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "content/browser/indexed_db/indexed_db_fake_backing_store.h"
6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "base/files/file_path.h"
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/memory/scoped_ptr.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace content {
11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
12c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIndexedDBFakeBackingStore::IndexedDBFakeBackingStore()
1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    : IndexedDBBackingStore(NULL /* indexed_db_factory */,
14c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                            GURL("http://localhost:81"),
150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                            base::FilePath(),
1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)                            NULL /* request_context */,
17c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                            scoped_ptr<LevelDBDatabase>(),
18c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                            scoped_ptr<LevelDBComparator>(),
1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)                            NULL /* task_runner */) {
2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
21c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIndexedDBFakeBackingStore::IndexedDBFakeBackingStore(
22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    IndexedDBFactory* factory,
235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    base::SequencedTaskRunner* task_runner)
24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch    : IndexedDBBackingStore(factory,
25c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                            GURL("http://localhost:81"),
260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch                            base::FilePath(),
2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)                            NULL /* request_context */,
28c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                            scoped_ptr<LevelDBDatabase>(),
29c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                            scoped_ptr<LevelDBComparator>(),
3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)                            task_runner) {
3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IndexedDBFakeBackingStore::~IndexedDBFakeBackingStore() {}
33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
340529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochstd::vector<base::string16> IndexedDBFakeBackingStore::GetDatabaseNames(
350529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    leveldb::Status* s) {
360529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch  *s = leveldb::Status::OK();
37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  return std::vector<base::string16>();
38868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::GetIDBDatabaseMetaData(
40a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    const base::string16& name,
41868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    IndexedDBDatabaseMetadata*,
42868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    bool* found) {
43a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  return leveldb::Status::OK();
44868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
46a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::CreateIDBDatabaseMetaData(
47a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    const base::string16& name,
48a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    const base::string16& version,
49868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 int_version,
50868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64* row_id) {
51a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  return leveldb::Status::OK();
52868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
53868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)bool IndexedDBFakeBackingStore::UpdateIDBDatabaseIntVersion(Transaction*,
54868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                                                            int64 row_id,
55868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                                                            int64 version) {
56868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return false;
57868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
58a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::DeleteDatabase(
59a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    const base::string16& name) {
60a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  return leveldb::Status::OK();
61868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
62868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
63a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::CreateObjectStore(
64a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    Transaction*,
65a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 database_id,
66a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 object_store_id,
67a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    const base::string16& name,
68a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    const IndexedDBKeyPath&,
69a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    bool auto_increment) {
70cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return leveldb::Status::OK();
71cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}
72cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
7346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::DeleteObjectStore(
7446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    Transaction* transaction,
7546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    int64 database_id,
7646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    int64 object_store_id) {
7746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  return leveldb::Status::OK();
7846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
7946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
80cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::PutRecord(
81cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    IndexedDBBackingStore::Transaction* transaction,
82cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    int64 database_id,
83cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    int64 object_store_id,
84cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    const IndexedDBKey& key,
855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    IndexedDBValue* value,
8603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    ScopedVector<storage::BlobDataHandle>* handles,
87cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    RecordIdentifier* record) {
88cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return leveldb::Status::OK();
89868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
90868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
91a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::ClearObjectStore(
92a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    Transaction*,
93a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 database_id,
94a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 object_store_id) {
95cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return leveldb::Status::OK();
96868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
97a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::DeleteRecord(
98a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    Transaction*,
99a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 database_id,
100a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 object_store_id,
101a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    const RecordIdentifier&) {
102cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return leveldb::Status::OK();
103868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
104a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::GetKeyGeneratorCurrentNumber(
105868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    Transaction*,
106868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 database_id,
107868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 object_store_id,
108868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64* current_number) {
109a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  return leveldb::Status::OK();
110868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
111a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::MaybeUpdateKeyGeneratorCurrentNumber(
112868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    Transaction*,
113868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 database_id,
114868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 object_store_id,
115868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 new_number,
116868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    bool check_current) {
117a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  return leveldb::Status::OK();
118868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
119a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::KeyExistsInObjectStore(
120868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    Transaction*,
121868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 database_id,
122868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 object_store_id,
123868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    const IndexedDBKey&,
124868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    RecordIdentifier* found_record_identifier,
125868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    bool* found) {
126a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  return leveldb::Status::OK();
127868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
128868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
129a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::CreateIndex(
130a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    Transaction*,
131a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 database_id,
132a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 object_store_id,
133a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 index_id,
134a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    const base::string16& name,
135a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    const IndexedDBKeyPath&,
136a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    bool is_unique,
137a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    bool is_multi_entry) {
138cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return leveldb::Status::OK();
139868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
140868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
141a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::DeleteIndex(Transaction*,
142a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                       int64 database_id,
143a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                       int64 object_store_id,
144a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                       int64 index_id) {
145cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return leveldb::Status::OK();
146868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
147a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::PutIndexDataForRecord(
148a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    Transaction*,
149a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 database_id,
150a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 object_store_id,
151a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    int64 index_id,
152a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    const IndexedDBKey&,
153a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    const RecordIdentifier&) {
154cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return leveldb::Status::OK();
155868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
156868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
157c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochvoid IndexedDBFakeBackingStore::ReportBlobUnused(int64 database_id,
158c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                                                 int64 blob_key) {}
159c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
160868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)scoped_ptr<IndexedDBBackingStore::Cursor>
161868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IndexedDBFakeBackingStore::OpenObjectStoreKeyCursor(
162868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    IndexedDBBackingStore::Transaction* transaction,
163868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 database_id,
164868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 object_store_id,
165868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    const IndexedDBKeyRange& key_range,
166116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    blink::WebIDBCursorDirection,
1670529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    leveldb::Status* s) {
168868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return scoped_ptr<IndexedDBBackingStore::Cursor>();
169868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
170868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)scoped_ptr<IndexedDBBackingStore::Cursor>
171868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IndexedDBFakeBackingStore::OpenObjectStoreCursor(
172868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    IndexedDBBackingStore::Transaction* transaction,
173868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 database_id,
174868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 object_store_id,
175868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    const IndexedDBKeyRange& key_range,
176116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    blink::WebIDBCursorDirection,
1770529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    leveldb::Status* s) {
178868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return scoped_ptr<IndexedDBBackingStore::Cursor>();
179868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
180868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)scoped_ptr<IndexedDBBackingStore::Cursor>
181868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IndexedDBFakeBackingStore::OpenIndexKeyCursor(
182868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    IndexedDBBackingStore::Transaction* transaction,
183868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 database_id,
184868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 object_store_id,
185868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 index_id,
186868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    const IndexedDBKeyRange& key_range,
187116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    blink::WebIDBCursorDirection,
1880529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    leveldb::Status* s) {
189868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return scoped_ptr<IndexedDBBackingStore::Cursor>();
190868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
191868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)scoped_ptr<IndexedDBBackingStore::Cursor>
192868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IndexedDBFakeBackingStore::OpenIndexCursor(
193868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    IndexedDBBackingStore::Transaction* transaction,
194868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 database_id,
195868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 object_store_id,
196868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    int64 index_id,
197868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    const IndexedDBKeyRange& key_range,
198116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    blink::WebIDBCursorDirection,
1990529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch    leveldb::Status* s) {
200868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return scoped_ptr<IndexedDBBackingStore::Cursor>();
201868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
202868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
20346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)IndexedDBFakeBackingStore::FakeTransaction::FakeTransaction(
20446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    leveldb::Status result)
20546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    : IndexedDBBackingStore::Transaction(NULL), result_(result) {
20646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
207a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)void IndexedDBFakeBackingStore::FakeTransaction::Begin() {}
20846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::FakeTransaction::CommitPhaseOne(
20946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    scoped_refptr<BlobWriteCallback> callback) {
21046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  callback->Run(true);
21146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  return leveldb::Status::OK();
21246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
21346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)leveldb::Status IndexedDBFakeBackingStore::FakeTransaction::CommitPhaseTwo() {
21446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  return result_;
215a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}
216a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)void IndexedDBFakeBackingStore::FakeTransaction::Rollback() {}
217a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
218868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}  // namespace content
219