summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium/src/IDBCursorBackendProxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium/src/IDBCursorBackendProxy.cpp')
-rw-r--r--WebKit/chromium/src/IDBCursorBackendProxy.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/WebKit/chromium/src/IDBCursorBackendProxy.cpp b/WebKit/chromium/src/IDBCursorBackendProxy.cpp
index b4711eb..cf18917 100644
--- a/WebKit/chromium/src/IDBCursorBackendProxy.cpp
+++ b/WebKit/chromium/src/IDBCursorBackendProxy.cpp
@@ -30,9 +30,11 @@
#include "IDBAny.h"
#include "IDBCallbacks.h"
+#include "IDBKey.h"
#include "SerializedScriptValue.h"
#include "WebIDBCallbacksImpl.h"
#include "WebIDBKey.h"
+#include "WebSerializedScriptValue.h"
namespace WebCore {
@@ -60,9 +62,17 @@ PassRefPtr<IDBKey> IDBCursorBackendProxy::key() const
return m_idbCursor->key();
}
-PassRefPtr<SerializedScriptValue> IDBCursorBackendProxy::value() const
+PassRefPtr<IDBAny> IDBCursorBackendProxy::value() const
{
- return m_idbCursor->value();
+ WebKit::WebSerializedScriptValue webScriptValue;
+ WebKit::WebIDBKey webKey;
+ m_idbCursor->value(webScriptValue, webKey);
+ if (!webScriptValue.isNull()) {
+ ASSERT(webKey.type() == WebKit::WebIDBKey::InvalidType);
+ return IDBAny::create<SerializedScriptValue>(webScriptValue);
+ }
+ ASSERT(webKey.type() != WebKit::WebIDBKey::InvalidType);
+ return IDBAny::create<IDBKey>(webKey);
}
void IDBCursorBackendProxy::update(PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBCallbacks> callbacks)