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

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

Issue 2449953008: Port messages sent by WebIDBDatabaseImpl to Mojo. (Closed)
Patch Set: Created 4 years, 1 month 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_ 5 #ifndef CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_
6 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_ 6 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
11 #include <memory> 11 #include <memory>
12 #include <vector> 12 #include <vector>
13 13
14 #include "base/macros.h" 14 #include "base/macros.h"
15 #include "content/browser/indexed_db/indexed_db_backing_store.h" 15 #include "content/browser/indexed_db/indexed_db_backing_store.h"
16 #include "content/browser/indexed_db/indexed_db_database.h" 16 #include "content/browser/indexed_db/indexed_db_database.h"
17 #include "content/common/indexed_db/indexed_db_key_path.h" 17 #include "content/common/indexed_db/indexed_db_key_path.h"
18 #include "content/common/indexed_db/indexed_db_metadata.h" 18 #include "content/common/indexed_db/indexed_db_metadata.h"
19 19
20 namespace content { 20 namespace content {
21 21
22 class IndexedDBTransaction; 22 class IndexedDBTransaction;
23 struct IndexedDBObjectStoreMetadata; 23 struct IndexedDBObjectStoreMetadata;
24 24
25 class IndexWriter { 25 class IndexWriter {
26 public: 26 public:
27 explicit IndexWriter(const IndexedDBIndexMetadata& index_metadata); 27 explicit IndexWriter(const IndexedDBIndexMetadata& index_metadata);
28 28
29 IndexWriter(const IndexedDBIndexMetadata& index_metadata, 29 IndexWriter(const IndexedDBIndexMetadata& index_metadata,
30 const IndexedDBDatabase::IndexKeys& index_keys); 30 const IndexedDBIndexKeys& index_keys);
31 31
32 bool VerifyIndexKeys(IndexedDBBackingStore* store, 32 bool VerifyIndexKeys(IndexedDBBackingStore* store,
33 IndexedDBBackingStore::Transaction* transaction, 33 IndexedDBBackingStore::Transaction* transaction,
34 int64_t database_id, 34 int64_t database_id,
35 int64_t object_store_id, 35 int64_t object_store_id,
36 int64_t index_id, 36 int64_t index_id,
37 bool* can_add_keys, 37 bool* can_add_keys,
38 const IndexedDBKey& primary_key, 38 const IndexedDBKey& primary_key,
39 base::string16* error_message) const WARN_UNUSED_RESULT; 39 base::string16* error_message) const WARN_UNUSED_RESULT;
40 40
41 void WriteIndexKeys(const IndexedDBBackingStore::RecordIdentifier& record, 41 void WriteIndexKeys(const IndexedDBBackingStore::RecordIdentifier& record,
42 IndexedDBBackingStore* store, 42 IndexedDBBackingStore* store,
43 IndexedDBBackingStore::Transaction* transaction, 43 IndexedDBBackingStore::Transaction* transaction,
44 int64_t database_id, 44 int64_t database_id,
45 int64_t object_store_id) const; 45 int64_t object_store_id) const;
46 46
47 ~IndexWriter(); 47 ~IndexWriter();
48 48
49 private: 49 private:
50 bool AddingKeyAllowed(IndexedDBBackingStore* store, 50 bool AddingKeyAllowed(IndexedDBBackingStore* store,
51 IndexedDBBackingStore::Transaction* transaction, 51 IndexedDBBackingStore::Transaction* transaction,
52 int64_t database_id, 52 int64_t database_id,
53 int64_t object_store_id, 53 int64_t object_store_id,
54 int64_t index_id, 54 int64_t index_id,
55 const IndexedDBKey& index_key, 55 const IndexedDBKey& index_key,
56 const IndexedDBKey& primary_key, 56 const IndexedDBKey& primary_key,
57 bool* allowed) const WARN_UNUSED_RESULT; 57 bool* allowed) const WARN_UNUSED_RESULT;
58 58
59 const IndexedDBIndexMetadata index_metadata_; 59 const IndexedDBIndexMetadata index_metadata_;
60 IndexedDBDatabase::IndexKeys index_keys_; 60 IndexedDBIndexKeys index_keys_;
61 61
62 DISALLOW_COPY_AND_ASSIGN(IndexWriter); 62 DISALLOW_COPY_AND_ASSIGN(IndexWriter);
63 }; 63 };
64 64
65 bool MakeIndexWriters( 65 bool MakeIndexWriters(IndexedDBTransaction* transaction,
66 IndexedDBTransaction* transaction, 66 IndexedDBBackingStore* store,
67 IndexedDBBackingStore* store, 67 int64_t database_id,
68 int64_t database_id, 68 const IndexedDBObjectStoreMetadata& metadata,
69 const IndexedDBObjectStoreMetadata& metadata, 69 const IndexedDBKey& primary_key,
70 const IndexedDBKey& primary_key, 70 bool key_was_generated,
71 bool key_was_generated, 71 const std::vector<IndexedDBIndexKeys>& index_keys,
72 const std::vector<IndexedDBDatabase::IndexKeys>& index_keys, 72 std::vector<std::unique_ptr<IndexWriter>>* index_writers,
73 std::vector<std::unique_ptr<IndexWriter>>* index_writers, 73 base::string16* error_message,
74 base::string16* error_message, 74 bool* completed) WARN_UNUSED_RESULT;
75 bool* completed) WARN_UNUSED_RESULT;
76 75
77 } // namespace content 76 } // namespace content
78 77
79 #endif // CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_ 78 #endif // CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_INDEX_WRITER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698