Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(194)

Side by Side Diff: content/browser/indexed_db/indexed_db_index_writer.h

Issue 15564008: Migrate the IndexedDB backend from Blink to Chromium (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Accessor naming, use LevelDBSlice ctor explicitly Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2013 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.
4
5 #ifndef CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_
6 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_
7
8 #include <map>
9 #include <vector>
10
11 #include "base/memory/scoped_vector.h"
12 #include "content/browser/indexed_db/indexed_db_backing_store.h"
13 #include "content/browser/indexed_db/indexed_db_database_impl.h"
14 #include "content/browser/indexed_db/indexed_db_metadata.h"
15 #include "content/common/indexed_db/indexed_db_key_path.h"
16
17 namespace content {
18
19 class IndexedDBDatabaseImpl;
20 class IndexedDBTransaction;
21 struct IndexedDBObjectStoreMetadata;
22
23 // TODO: this namespace is temporary until we move its contents out to their
jamesr 2013/05/21 23:56:06 TODO(who):
jsbell 2013/05/22 17:54:44 Done.
24 // own home.
25 namespace IndexedDBObjectStoreImpl {
26
27 class IndexWriter {
28 public:
29 explicit IndexWriter(const IndexedDBIndexMetadata& index_metadata);
30
31 IndexWriter(const IndexedDBIndexMetadata& index_metadata,
32 const IndexedDBDatabase::IndexKeys& index_keys);
33
34 bool VerifyIndexKeys(IndexedDBBackingStore*,
35 IndexedDBBackingStore::Transaction*,
36 int64_t database_id,
37 int64_t object_store_id,
38 int64_t index_id,
39 bool* can_add_keys,
40 const IndexedDBKey& primary_key,
41 string16* error_message = 0) const WARN_UNUSED_RESULT;
42
43 void WriteIndexKeys(const IndexedDBBackingStore::RecordIdentifier&,
44 IndexedDBBackingStore*,
45 IndexedDBBackingStore::Transaction*,
46 int64_t database_id,
47 int64_t object_store_id) const;
48
49 ~IndexWriter();
50
51 private:
52 bool AddingKeyAllowed(IndexedDBBackingStore*,
53 IndexedDBBackingStore::Transaction*,
54 int64_t database_id,
55 int64_t object_store_id,
56 int64_t index_id,
57 const IndexedDBKey& index_key,
58 const IndexedDBKey& primary_key,
59 bool* allowed) const WARN_UNUSED_RESULT;
60
61 const IndexedDBIndexMetadata index_metadata_;
62 IndexedDBDatabase::IndexKeys index_keys_;
63 };
64
65 bool MakeIndexWriters(scoped_refptr<IndexedDBTransaction>,
66 IndexedDBBackingStore*,
67 int64_t database_id,
68 const IndexedDBObjectStoreMetadata&,
69 const IndexedDBKey& primary_key,
70 bool key_was_generated,
71 const std::vector<int64_t>& index_ids,
72 const std::vector<IndexedDBDatabase::IndexKeys>&,
73 ScopedVector<IndexWriter>* index_writers,
74 string16* error_message,
75 bool* completed) WARN_UNUSED_RESULT;
76
77 };
78
79 } // namespace content
80
81 #endif // CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698