diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/modules/indexeddb/WebIDBCallbacksImpl.cpp')
-rw-r--r-- | chromium/third_party/WebKit/Source/modules/indexeddb/WebIDBCallbacksImpl.cpp | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/chromium/third_party/WebKit/Source/modules/indexeddb/WebIDBCallbacksImpl.cpp b/chromium/third_party/WebKit/Source/modules/indexeddb/WebIDBCallbacksImpl.cpp index 9fa9f2fd6ab..e62ac8608b8 100644 --- a/chromium/third_party/WebKit/Source/modules/indexeddb/WebIDBCallbacksImpl.cpp +++ b/chromium/third_party/WebKit/Source/modules/indexeddb/WebIDBCallbacksImpl.cpp @@ -33,12 +33,14 @@ #include "modules/indexeddb/IDBMetadata.h" #include "modules/indexeddb/IDBRequest.h" #include "platform/SharedBuffer.h" +#include "public/platform/WebBlobInfo.h" #include "public/platform/WebData.h" #include "public/platform/WebIDBCursor.h" #include "public/platform/WebIDBDatabase.h" #include "public/platform/WebIDBDatabaseError.h" #include "public/platform/WebIDBKey.h" +using blink::WebBlobInfo; using blink::WebData; using blink::WebIDBCursor; using blink::WebIDBDatabase; @@ -47,16 +49,17 @@ using blink::WebIDBIndex; using blink::WebIDBKey; using blink::WebIDBKeyPath; using blink::WebIDBMetadata; +using blink::WebVector; namespace WebCore { // static -PassOwnPtr<WebIDBCallbacksImpl> WebIDBCallbacksImpl::create(PassRefPtr<IDBRequest> request) +PassOwnPtr<WebIDBCallbacksImpl> WebIDBCallbacksImpl::create(IDBRequest* request) { return adoptPtr(new WebIDBCallbacksImpl(request)); } -WebIDBCallbacksImpl::WebIDBCallbacksImpl(PassRefPtr<IDBRequest> request) +WebIDBCallbacksImpl::WebIDBCallbacksImpl(IDBRequest* request) : m_request(request) { } @@ -65,12 +68,20 @@ WebIDBCallbacksImpl::~WebIDBCallbacksImpl() { } +static PassOwnPtr<Vector<WebBlobInfo> > ConvertBlobInfo(const WebVector<WebBlobInfo>& webBlobInfo) +{ + OwnPtr<Vector<WebBlobInfo> > blobInfo = adoptPtr(new Vector<WebBlobInfo>(webBlobInfo.size())); + for (size_t i = 0; i < webBlobInfo.size(); ++i) + (*blobInfo)[i] = webBlobInfo[i]; + return blobInfo.release(); +} + void WebIDBCallbacksImpl::onError(const WebIDBDatabaseError& error) { m_request->onError(error); } -void WebIDBCallbacksImpl::onSuccess(const blink::WebVector<blink::WebString>& webStringList) +void WebIDBCallbacksImpl::onSuccess(const WebVector<blink::WebString>& webStringList) { Vector<String> stringList; for (size_t i = 0; i < webStringList.size(); ++i) @@ -78,9 +89,9 @@ void WebIDBCallbacksImpl::onSuccess(const blink::WebVector<blink::WebString>& we m_request->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_request->onSuccess(adoptPtr(cursor), key, primaryKey, value); + m_request->onSuccess(adoptPtr(cursor), key, primaryKey, value, ConvertBlobInfo(webBlobInfo)); } void WebIDBCallbacksImpl::onSuccess(WebIDBDatabase* backend, const WebIDBMetadata& metadata) @@ -93,14 +104,14 @@ void WebIDBCallbacksImpl::onSuccess(const WebIDBKey& key) m_request->onSuccess(key); } -void WebIDBCallbacksImpl::onSuccess(const WebData& value) +void WebIDBCallbacksImpl::onSuccess(const WebData& value, const WebVector<WebBlobInfo>& webBlobInfo) { - m_request->onSuccess(value); + m_request->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_request->onSuccess(value, key, keyPath); + m_request->onSuccess(value, ConvertBlobInfo(webBlobInfo), key, keyPath); } void WebIDBCallbacksImpl::onSuccess(long long value) @@ -113,9 +124,9 @@ void WebIDBCallbacksImpl::onSuccess() m_request->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_request->onSuccess(key, primaryKey, value); + m_request->onSuccess(key, primaryKey, value, ConvertBlobInfo(webBlobInfo)); } void WebIDBCallbacksImpl::onBlocked(long long oldVersion) |