Implements initial plumbing for IDBCursor.
This is the Chromium side of https://bugs.webkit.org/show_bug.cgi?id=41888
It's almost purely plumbing: actual logic and cursor implementation will follow soon.
Review URL: http://codereview.chromium.org/2918002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55693 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/renderer/renderer_webidbcursor_impl.cc b/chrome/renderer/renderer_webidbcursor_impl.cc
new file mode 100644
index 0000000..b647173
--- /dev/null
+++ b/chrome/renderer/renderer_webidbcursor_impl.cc
@@ -0,0 +1,59 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/renderer/renderer_webidbcursor_impl.h"
+
+#include "chrome/common/render_messages.h"
+#include "chrome/renderer/render_thread.h"
+
+using WebKit::WebIDBCallbacks;
+using WebKit::WebIDBKey;
+using WebKit::WebSerializedScriptValue;
+
+RendererWebIDBCursorImpl::RendererWebIDBCursorImpl(int32 idb_cursor_id)
+ : idb_cursor_id_(idb_cursor_id) {
+}
+
+RendererWebIDBCursorImpl::~RendererWebIDBCursorImpl() {
+ RenderThread::current()->Send(new ViewHostMsg_IDBCursorDestroyed(
+ idb_cursor_id_));
+}
+
+unsigned short RendererWebIDBCursorImpl::direction() const {
+ int direction;
+ RenderThread::current()->Send(
+ new ViewHostMsg_IDBCursorDirection(idb_cursor_id_, &direction));
+ return direction;
+}
+
+WebIDBKey RendererWebIDBCursorImpl::key() const {
+ IndexedDBKey key;
+ RenderThread::current()->Send(
+ new ViewHostMsg_IDBCursorKey(idb_cursor_id_, &key));
+ return key;
+}
+
+WebSerializedScriptValue RendererWebIDBCursorImpl::value() const {
+ SerializedScriptValue value;
+ RenderThread::current()->Send(
+ new ViewHostMsg_IDBCursorValue(idb_cursor_id_, &value));
+ return value;
+}
+
+void RendererWebIDBCursorImpl::update(const WebSerializedScriptValue& value,
+ WebIDBCallbacks* callback) {
+ // TODO(bulach): implement this.
+ NOTREACHED();
+}
+
+void RendererWebIDBCursorImpl::continueFunction(const WebIDBKey& key,
+ WebIDBCallbacks* callback) {
+ // TODO(bulach): implement this.
+ NOTREACHED();
+}
+
+void RendererWebIDBCursorImpl::remove(WebIDBCallbacks* callback) {
+ // TODO(bulach): implement this.
+ NOTREACHED();
+}