| Index: content/renderer/renderer_webidbcursor_impl.h
|
| diff --git a/content/renderer/renderer_webidbcursor_impl.h b/content/renderer/renderer_webidbcursor_impl.h
|
| index fbca6b293efc5963d0085a7121d1e40268a9b716..b03399087df6af41e208ff4170aa620f4531852b 100644
|
| --- a/content/renderer/renderer_webidbcursor_impl.h
|
| +++ b/content/renderer/renderer_webidbcursor_impl.h
|
| @@ -5,6 +5,8 @@
|
| #ifndef CONTENT_RENDERER_RENDERER_WEBIDBCURSOR_IMPL_H_
|
| #define CONTENT_RENDERER_RENDERER_WEBIDBCURSOR_IMPL_H_
|
|
|
| +#include <deque>
|
| +
|
| #include "base/basictypes.h"
|
| #include "content/common/indexed_db_key.h"
|
| #include "content/public/common/serialized_script_value.h"
|
| @@ -30,15 +32,44 @@ class RendererWebIDBCursorImpl : public WebKit::WebIDBCursor {
|
| WebKit::WebExceptionCode& ec);
|
| virtual void deleteFunction(WebKit::WebIDBCallbacks* callback,
|
| WebKit::WebExceptionCode& ec);
|
| + virtual void postSuccessHandlerCallback();
|
|
|
| void SetKeyAndValue(const IndexedDBKey& key, const IndexedDBKey& primary_key,
|
| const content::SerializedScriptValue& value);
|
| + void SetPrefetchData(
|
| + const std::vector<IndexedDBKey>& keys,
|
| + const std::vector<IndexedDBKey>& primary_keys,
|
| + const std::vector<content::SerializedScriptValue>& values);
|
| +
|
| + void CachedContinue(WebKit::WebIDBCallbacks* callbacks);
|
| + void ResetPrefetchCache();
|
|
|
| private:
|
| int32 idb_cursor_id_;
|
| IndexedDBKey key_;
|
| IndexedDBKey primary_key_;
|
| content::SerializedScriptValue value_;
|
| +
|
| + // Prefetch cache.
|
| + std::deque<IndexedDBKey> prefetch_keys_;
|
| + std::deque<IndexedDBKey> prefetch_primary_keys_;
|
| + std::deque<content::SerializedScriptValue> prefetch_values_;
|
| +
|
| + // Number of continue calls that would qualify for a pre-fetch.
|
| + int continue_count_;
|
| +
|
| + // Number of items used from the last prefetch.
|
| + int used_prefetches_;
|
| +
|
| + // Number of onsuccess handlers we are waiting for.
|
| + int pending_onsuccess_callbacks_;
|
| +
|
| + // Number of items to request in next prefetch.
|
| + int prefetch_amount_;
|
| +
|
| + enum { kPrefetchContinueThreshold = 2 };
|
| + enum { kMinPrefetchAmount = 5 };
|
| + enum { kMaxPrefetchAmount = 100 };
|
| };
|
|
|
| #endif // CONTENT_RENDERER_RENDERER_WEBIDBCURSOR_IMPL_H_
|
|
|