Index: Source/modules/indexeddb/IDBAny.h |
diff --git a/Source/modules/indexeddb/IDBAny.h b/Source/modules/indexeddb/IDBAny.h |
index 0874520d5694e75ab3b322afef00581be3a22efb..b7916c03f85fcd4d072547d587337e8bea799f7c 100644 |
--- a/Source/modules/indexeddb/IDBAny.h |
+++ b/Source/modules/indexeddb/IDBAny.h |
@@ -35,6 +35,12 @@ |
#include "wtf/RefPtr.h" |
#include "wtf/text/WTFString.h" |
+namespace blink { |
+ |
+class WebBlobInfo; |
+ |
+} |
+ |
namespace WebCore { |
class DOMStringList; |
@@ -61,6 +67,10 @@ public: |
{ |
return adoptRefWillBeNoop(new IDBAny(idbObject)); |
} |
+ static PassRefPtrWillBeRawPtr<IDBAny> create(PassRefPtr<SharedBuffer> value, const Vector<blink::WebBlobInfo>* blobInfo) |
+ { |
+ return adoptRefWillBeNoop(new IDBAny(value, blobInfo)); |
+ } |
template<typename T> |
static PassRefPtrWillBeRawPtr<IDBAny> create(PassRefPtr<T> idbObject) |
{ |
@@ -70,9 +80,9 @@ public: |
{ |
return adoptRefWillBeNoop(new IDBAny(value)); |
} |
- static PassRefPtrWillBeRawPtr<IDBAny> create(PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey> key, const IDBKeyPath& keyPath) |
+ static PassRefPtrWillBeRawPtr<IDBAny> create(PassRefPtr<SharedBuffer> value, const Vector<blink::WebBlobInfo>* blobInfo, PassRefPtr<IDBKey> key, const IDBKeyPath& keyPath) |
{ |
- return adoptRefWillBeNoop(new IDBAny(value, key, keyPath)); |
+ return adoptRefWillBeNoop(new IDBAny(value, blobInfo, key, keyPath)); |
} |
~IDBAny(); |
void trace(Visitor*); |
@@ -106,6 +116,7 @@ public: |
IDBObjectStore* idbObjectStore() const; |
IDBTransaction* idbTransaction() const; |
SharedBuffer* buffer() const; |
+ const Vector<blink::WebBlobInfo>* blobInfo() const; |
int64_t integer() const; |
const String& string() const; |
const IDBKey* key() const; |
@@ -122,13 +133,13 @@ private: |
explicit IDBAny(PassRefPtr<IDBKey>); |
explicit IDBAny(const IDBKeyPath&); |
explicit IDBAny(const String&); |
- explicit IDBAny(PassRefPtr<SharedBuffer>); |
- explicit IDBAny(PassRefPtr<SharedBuffer>, PassRefPtr<IDBKey>, const IDBKeyPath&); |
+ IDBAny(PassRefPtr<SharedBuffer>, const Vector<blink::WebBlobInfo>*); |
+ IDBAny(PassRefPtr<SharedBuffer>, const Vector<blink::WebBlobInfo>*, PassRefPtr<IDBKey>, const IDBKeyPath&); |
explicit IDBAny(int64_t); |
const Type m_type; |
- // Only one of the following should ever be in use at any given time. |
+ // Only one of the following should ever be in use at any given time, except that BufferType uses two and BufferKeyAndKeyPathType uses four. |
const RefPtr<DOMStringList> m_domStringList; |
const RefPtrWillBeMember<IDBCursor> m_idbCursor; |
const RefPtr<IDBDatabase> m_idbDatabase; |
@@ -138,6 +149,7 @@ private: |
const RefPtr<IDBKey> m_idbKey; |
const IDBKeyPath m_idbKeyPath; |
const RefPtr<SharedBuffer> m_buffer; |
+ const Vector<blink::WebBlobInfo>* m_blobInfo; |
const String m_string; |
const int64_t m_integer; |
}; |