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

Unified Diff: Source/web/WebIDBCallbacksImpl.cpp

Issue 18590006: Blob support for IDB [Blink] (Closed) Base URL: svn://svn.chromium.org/blink/trunk
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 side-by-side diff with in-line comments
Download patch
Index: Source/web/WebIDBCallbacksImpl.cpp
diff --git a/Source/web/WebIDBCallbacksImpl.cpp b/Source/web/WebIDBCallbacksImpl.cpp
index a66ede6075fdbcc54f68ef4e8c74f946114cc568..43fec8840d82f0e559e815a0aff4338995914fa2 100644
--- a/Source/web/WebIDBCallbacksImpl.cpp
+++ b/Source/web/WebIDBCallbacksImpl.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "WebIDBCallbacksImpl.h"
+#include "public/platform/WebBlobInfo.h"
#include "public/platform/WebData.h"
#include "public/platform/WebIDBCallbacks.h"
#include "public/platform/WebIDBDatabase.h"
@@ -33,6 +34,7 @@
#include "public/platform/WebIDBKey.h"
#include "IDBCursorBackendProxy.h"
#include "IDBDatabaseBackendProxy.h"
+#include "bindings/v8/BlobInfo.h"
#include "core/dom/DOMError.h"
#include "modules/indexeddb/IDBCallbacks.h"
#include "modules/indexeddb/IDBKey.h"
@@ -51,6 +53,14 @@ WebIDBCallbacksImpl::~WebIDBCallbacksImpl()
{
}
+static Vector<BlobInfo> ConvertBlobInfo(const WebVector<WebBlobInfo>& webBlobInfo)
+{
+ Vector<BlobInfo> blobInfo;
+ for (size_t i = 0; i < webBlobInfo.size(); ++i)
+ blobInfo.append(webBlobInfo[i]);
+ return blobInfo;
+}
+
void WebIDBCallbacksImpl::onError(const WebIDBDatabaseError& error)
{
m_callbacks->onError(error);
@@ -64,9 +74,9 @@ void WebIDBCallbacksImpl::onSuccess(const WebVector<WebString>& webStringList)
m_callbacks->onSuccess(stringList);
}
-void WebIDBCallbacksImpl::onSuccess(WebIDBCursor* cursor, const WebIDBKey& key, const WebIDBKey& primaryKey, const WebData& value)
+void WebIDBCallbacksImpl::onSuccess(WebIDBCursor* cursor, const WebIDBKey& key, const WebIDBKey& primaryKey, const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo)
{
- m_callbacks->onSuccess(IDBCursorBackendProxy::create(adoptPtr(cursor)), key, primaryKey, value);
+ m_callbacks->onSuccess(IDBCursorBackendProxy::create(adoptPtr(cursor)), key, primaryKey, value, ConvertBlobInfo(webBlobInfo));
}
void WebIDBCallbacksImpl::onSuccess(WebIDBDatabase* webKitInstance, const WebIDBMetadata& metadata)
@@ -84,14 +94,14 @@ void WebIDBCallbacksImpl::onSuccess(const WebIDBKey& key)
m_callbacks->onSuccess(key);
}
-void WebIDBCallbacksImpl::onSuccess(const WebData& value)
+void WebIDBCallbacksImpl::onSuccess(const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo)
{
- m_callbacks->onSuccess(value);
+ m_callbacks->onSuccess(value, ConvertBlobInfo(webBlobInfo));
}
-void WebIDBCallbacksImpl::onSuccess(const WebData& value, const WebIDBKey& key, const WebIDBKeyPath& keyPath)
+void WebIDBCallbacksImpl::onSuccess(const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo, const WebIDBKey& key, const WebIDBKeyPath& keyPath)
{
- m_callbacks->onSuccess(value, key, keyPath);
+ m_callbacks->onSuccess(value, ConvertBlobInfo(webBlobInfo), key, keyPath);
}
void WebIDBCallbacksImpl::onSuccess(long long value)
@@ -104,9 +114,9 @@ void WebIDBCallbacksImpl::onSuccess()
m_callbacks->onSuccess();
}
-void WebIDBCallbacksImpl::onSuccess(const WebIDBKey& key, const WebIDBKey& primaryKey, const WebData& value)
+void WebIDBCallbacksImpl::onSuccess(const WebIDBKey& key, const WebIDBKey& primaryKey, const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo)
{
- m_callbacks->onSuccess(key, primaryKey, value);
+ m_callbacks->onSuccess(key, primaryKey, value, ConvertBlobInfo(webBlobInfo));
}
void WebIDBCallbacksImpl::onBlocked(long long oldVersion)

Powered by Google App Engine
This is Rietveld 408576698