| Index: third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h
|
| diff --git a/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h b/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h
|
| index 77658e791ca7533c423bbe245392c66d65752c7f..c0e96980fa3622dde9ad4350f3558749fa6b181e 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h
|
| @@ -48,6 +48,7 @@ namespace blink {
|
| class BlobDataHandle;
|
| class DOMArrayBufferBase;
|
| class ExceptionState;
|
| +class ImageBitmap;
|
| class MessagePort;
|
| class WebBlobInfo;
|
|
|
| @@ -55,6 +56,7 @@ typedef HeapVector<Member<MessagePort>, 1> MessagePortArray;
|
| typedef Vector<RefPtr<DOMArrayBufferBase>, 1> ArrayBufferArray;
|
| typedef HashMap<String, RefPtr<BlobDataHandle>> BlobDataHandleMap;
|
| typedef Vector<WebBlobInfo> WebBlobInfoArray;
|
| +typedef WillBeHeapVector<RefPtrWillBeMember<ImageBitmap>, 1> ImageBitmapArray;
|
|
|
| class CORE_EXPORT SerializedScriptValue : public ThreadSafeRefCounted<SerializedScriptValue> {
|
| public:
|
| @@ -89,7 +91,7 @@ public:
|
| // Also validates the elements per sections 4.1.13 and 4.1.15 of the WebIDL spec and section 8.3.3
|
| // of the HTML5 spec and generates exceptions as appropriate.
|
| // Returns true if the array was filled, or false if the passed value was not of an appropriate type.
|
| - static bool extractTransferables(v8::Isolate*, v8::Local<v8::Value>, int, MessagePortArray&, ArrayBufferArray&, ExceptionState&);
|
| + static bool extractTransferables(v8::Isolate*, v8::Local<v8::Value>, int, MessagePortArray&, ArrayBufferArray&, ImageBitmapArray&, ExceptionState&);
|
|
|
| // Informs the V8 about external memory allocated and owned by this object. Large values should contribute
|
| // to GC counters to eventually trigger a GC, otherwise flood of postMessage() can cause OOM.
|
| @@ -115,13 +117,17 @@ private:
|
| String& data() { return m_data; }
|
| void setData(const String& data) { m_data = data; }
|
| void transferArrayBuffers(v8::Isolate*, ArrayBufferArray&, ExceptionState&);
|
| + void transferImageBitmaps(v8::Isolate*, ImageBitmapArray&, ExceptionState&);
|
| ArrayBufferContentsArray* arrayBufferContentsArray() { return m_arrayBufferContentsArray.get(); }
|
| + ImageBitmapArray* imageBitmapArray() { return m_imageBitmapsArray.get(); }
|
|
|
| static PassOwnPtr<ArrayBufferContentsArray> createArrayBuffers(v8::Isolate*, ArrayBufferArray&, ExceptionState&);
|
| + static PassOwnPtr<ImageBitmapArray> createImageBitmaps(v8::Isolate*, ImageBitmapArray&, ExceptionState&);
|
|
|
| private:
|
| String m_data;
|
| OwnPtr<ArrayBufferContentsArray> m_arrayBufferContentsArray;
|
| + OwnPtr<ImageBitmapArray> m_imageBitmapsArray;
|
| BlobDataHandleMap m_blobDataHandles;
|
| intptr_t m_externallyAllocatedMemory;
|
|
|
|
|