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

Side by Side Diff: content/browser/indexed_db/indexed_db_callbacks_wrapper.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_CALLBACKS_WRAPPER_H_
6 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_CALLBACKS_WRAPPER_H_
7
8 #include <vector>
9
10 #include "base/logging.h"
11 #include "base/memory/ref_counted.h"
12 #include "base/memory/scoped_ptr.h"
13 #include "content/browser/indexed_db/indexed_db_database.h"
14 #include "content/browser/indexed_db/indexed_db_database_error.h"
15 #include "content/common/indexed_db/indexed_db_key.h"
16 #include "content/common/indexed_db/indexed_db_key_path.h"
17 #include "third_party/WebKit/Source/Platform/chromium/public/WebIDBCallbacks.h"
18
19 namespace WebKit {
20 class WebIDBCallbacks;
21 }
22
23 namespace content {
24 class IndexedDBCursor;
25 class WebIDBDatabaseImpl;
26
27 class IndexedDBCallbacksWrapper
28 : public base::RefCounted<IndexedDBCallbacksWrapper> {
29 public:
30 static scoped_refptr<IndexedDBCallbacksWrapper> Create(
31 WebKit::WebIDBCallbacks* callbacks) {
32 return make_scoped_refptr(new IndexedDBCallbacksWrapper(callbacks));
33 }
34
35 virtual void OnError(scoped_refptr<IndexedDBDatabaseError>);
36 // From IndexedDBFactory.WebkitGetDatabaseNames()
37 virtual void OnSuccess(const std::vector<string16>&);
38 // From IndexedDBObjectStore/IndexedDBIndex.OpenCursor(),
39 // IndexedDBIndex.OpenKeyCursor()
40 virtual void OnSuccess(scoped_refptr<IndexedDBCursor>,
41 const IndexedDBKey&,
42 const IndexedDBKey& primary_key,
43 std::vector<char>*);
44 // From IndexedDBObjectStore.Add()/Put(), IndexedDBIndex.GetKey()
45 virtual void OnSuccess(const IndexedDBKey& key);
46 // From IndexedDBObjectStore/IndexedDBIndex.get()/Count(), and various methods
47 // that yield null/undefined.
48 virtual void OnSuccess(std::vector<char>*);
49 // From IndexedDBObjectStore/IndexedDBIndex.get() (with key injection)
50 virtual void OnSuccess(std::vector<char>*,
51 const IndexedDBKey& key,
52 const IndexedDBKeyPath&);
53 // From IndexedDBObjectStore/IndexedDBIndex.Count()
54 virtual void OnSuccess(int64_t value);
55
56 // From IndexedDBFactor.DeleteDatabase(),
57 // IndexedDBObjectStore/IndexedDBIndex.get(), IndexedDBObjectStore.Delete(),
58 // IndexedDBObjectStore.Clear()
59 virtual void OnSuccess();
60
61 // From IndexedDBCursor.Advance()/Continue()
62 virtual void OnSuccess(const IndexedDBKey&,
63 const IndexedDBKey& primary_key,
64 std::vector<char>*);
65 // From IndexedDBCursor.Advance()/Continue()
66 virtual void OnSuccessWithPrefetch(
67 const std::vector<IndexedDBKey>& keys,
68 const std::vector<IndexedDBKey>& primary_keys,
69 const std::vector<std::vector<char> >& values);
70 // From IndexedDBFactory.Open()/DeleteDatabase()
71 virtual void OnBlocked(int64_t /* existing_version */);
72 // From IndexedDBFactory.Open()
73 virtual void OnUpgradeNeeded(int64_t /* old_version */,
74 scoped_refptr<IndexedDBDatabase>,
75 const IndexedDBDatabaseMetadata&);
76 virtual void OnSuccess(scoped_refptr<IndexedDBDatabase>,
77 const IndexedDBDatabaseMetadata&);
78 virtual void SetDatabaseCallbacks(
79 scoped_refptr<IndexedDBDatabaseCallbacksWrapper> database_callbacks);
80
81 private:
82 IndexedDBCallbacksWrapper(WebKit::WebIDBCallbacks*);
83 virtual ~IndexedDBCallbacksWrapper();
84 friend class base::RefCounted<IndexedDBCallbacksWrapper>;
85 scoped_ptr<WebIDBDatabaseImpl> web_database_impl_;
86 scoped_ptr<WebKit::WebIDBCallbacks> callbacks_;
87 scoped_refptr<IndexedDBDatabaseCallbacksWrapper> database_callbacks_;
88 bool did_complete_;
89 bool did_create_proxy_;
90 };
91
92 } // namespace content
93
94 #endif // CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_CALLBACKS_WRAPPER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698