Chromium Code Reviews| 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..61ebf720ef2c458cc762dca065309b845d3cd2b4 100644 |
| --- a/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h |
| +++ b/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h |
| @@ -33,6 +33,7 @@ |
| #include "bindings/core/v8/ScriptValue.h" |
| #include "core/CoreExport.h" |
| +#include "third_party/skia/include/core/SkImage.h" |
|
haraken
2015/11/16 23:40:44
Ditto.
xidachen
2015/11/17 15:24:27
Done.
|
| #include "wtf/HashMap.h" |
| #include "wtf/ThreadSafeRefCounted.h" |
| #include <v8.h> |
| @@ -48,6 +49,7 @@ namespace blink { |
| class BlobDataHandle; |
| class DOMArrayBufferBase; |
| class ExceptionState; |
| +class ImageBitmap; |
| class MessagePort; |
| class WebBlobInfo; |
| @@ -55,6 +57,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 +92,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. |
| @@ -107,6 +110,7 @@ private: |
| WireData |
| }; |
| typedef Vector<WTF::ArrayBufferContents, 1> ArrayBufferContentsArray; |
| + typedef Vector<RefPtr<SkImage>, 1> ImageBitmapContentsArray; |
| SerializedScriptValue(); |
| explicit SerializedScriptValue(const String& wireData); |
| @@ -115,13 +119,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(); } |
| + ImageBitmapContentsArray* imageBitmapContentsArray() { return m_imageBitmapContentsArray.get(); } |
| static PassOwnPtr<ArrayBufferContentsArray> createArrayBuffers(v8::Isolate*, ArrayBufferArray&, ExceptionState&); |
| + static PassOwnPtr<ImageBitmapContentsArray> createImageBitmaps(v8::Isolate*, ImageBitmapArray&, ExceptionState&); |
| private: |
| String m_data; |
| OwnPtr<ArrayBufferContentsArray> m_arrayBufferContentsArray; |
| + OwnPtr<ImageBitmapContentsArray> m_imageBitmapContentsArray; |
| BlobDataHandleMap m_blobDataHandles; |
| intptr_t m_externallyAllocatedMemory; |