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

Side by Side Diff: content/child/indexed_db/proxy_webidbcursor_impl.h

Issue 18023022: Blob support for IDB [Chromium] (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge fixes [builds, untested] Created 7 years, 3 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
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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_CHILD_INDEXED_DB_PROXY_WEBIDBCURSOR_IMPL_H_ 5 #ifndef CONTENT_CHILD_INDEXED_DB_PROXY_WEBIDBCURSOR_IMPL_H_
6 #define CONTENT_CHILD_INDEXED_DB_PROXY_WEBIDBCURSOR_IMPL_H_ 6 #define CONTENT_CHILD_INDEXED_DB_PROXY_WEBIDBCURSOR_IMPL_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 16 matching lines...) Expand all
27 public: 27 public:
28 RendererWebIDBCursorImpl(int32 ipc_cursor_id, 28 RendererWebIDBCursorImpl(int32 ipc_cursor_id,
29 ThreadSafeSender* thread_safe_sender); 29 ThreadSafeSender* thread_safe_sender);
30 virtual ~RendererWebIDBCursorImpl(); 30 virtual ~RendererWebIDBCursorImpl();
31 31
32 virtual void advance(unsigned long count, WebKit::WebIDBCallbacks* callback); 32 virtual void advance(unsigned long count, WebKit::WebIDBCallbacks* callback);
33 virtual void continueFunction(const WebKit::WebIDBKey& key, 33 virtual void continueFunction(const WebKit::WebIDBKey& key,
34 WebKit::WebIDBCallbacks* callback); 34 WebKit::WebIDBCallbacks* callback);
35 virtual void postSuccessHandlerCallback(); 35 virtual void postSuccessHandlerCallback();
36 36
37 void SetPrefetchData(const std::vector<IndexedDBKey>& keys, 37 void SetPrefetchData(
38 const std::vector<IndexedDBKey>& primary_keys, 38 const std::vector<IndexedDBKey>& keys,
39 const std::vector<WebKit::WebData>& values); 39 const std::vector<IndexedDBKey>& primary_keys,
40 const std::vector<WebKit::WebData>& values,
41 const std::vector<WebKit::WebVector<WebKit::WebBlobInfo> >& blob_info);
40 42
41 void CachedContinue(WebKit::WebIDBCallbacks* callbacks); 43 void CachedContinue(WebKit::WebIDBCallbacks* callbacks);
42 void ResetPrefetchCache(); 44 void ResetPrefetchCache();
43 45
44 private: 46 private:
45 FRIEND_TEST_ALL_PREFIXES(RendererWebIDBCursorImplTest, PrefetchTest); 47 FRIEND_TEST_ALL_PREFIXES(RendererWebIDBCursorImplTest, PrefetchTest);
46 48
47 int32 ipc_cursor_id_; 49 int32 ipc_cursor_id_;
48 50
49 // Prefetch cache. 51 // Prefetch cache.
50 std::deque<IndexedDBKey> prefetch_keys_; 52 std::deque<IndexedDBKey> prefetch_keys_;
51 std::deque<IndexedDBKey> prefetch_primary_keys_; 53 std::deque<IndexedDBKey> prefetch_primary_keys_;
52 std::deque<WebKit::WebData> prefetch_values_; 54 std::deque<WebKit::WebData> prefetch_values_;
55 std::deque<WebKit::WebVector<WebKit::WebBlobInfo> > prefetch_blob_info_;
53 56
54 // Number of continue calls that would qualify for a pre-fetch. 57 // Number of continue calls that would qualify for a pre-fetch.
55 int continue_count_; 58 int continue_count_;
56 59
57 // Number of items used from the last prefetch. 60 // Number of items used from the last prefetch.
58 int used_prefetches_; 61 int used_prefetches_;
59 62
60 // Number of onsuccess handlers we are waiting for. 63 // Number of onsuccess handlers we are waiting for.
61 int pending_onsuccess_callbacks_; 64 int pending_onsuccess_callbacks_;
62 65
63 // Number of items to request in next prefetch. 66 // Number of items to request in next prefetch.
64 int prefetch_amount_; 67 int prefetch_amount_;
65 68
66 scoped_refptr<ThreadSafeSender> thread_safe_sender_; 69 scoped_refptr<ThreadSafeSender> thread_safe_sender_;
67 70
68 enum { kInvalidCursorId = -1 }; 71 enum { kInvalidCursorId = -1 };
69 enum { kPrefetchContinueThreshold = 2 }; 72 enum { kPrefetchContinueThreshold = 2 };
70 enum { kMinPrefetchAmount = 5 }; 73 enum { kMinPrefetchAmount = 5 };
71 enum { kMaxPrefetchAmount = 100 }; 74 enum { kMaxPrefetchAmount = 100 };
72 }; 75 };
73 76
74 } // namespace content 77 } // namespace content
75 78
76 #endif // CONTENT_CHILD_INDEXED_DB_PROXY_WEBIDBCURSOR_IMPL_H_ 79 #endif // CONTENT_CHILD_INDEXED_DB_PROXY_WEBIDBCURSOR_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698