Index: Source/bindings/core/v8/ScriptValueSerializer.h |
diff --git a/Source/bindings/core/v8/ScriptValueSerializer.h b/Source/bindings/core/v8/ScriptValueSerializer.h |
index b3da7b3cf6d400db94f6781667916780062c964f..e62ba77bdba59ac53b3d3009d7ac535dbd044f9a 100644 |
--- a/Source/bindings/core/v8/ScriptValueSerializer.h |
+++ b/Source/bindings/core/v8/ScriptValueSerializer.h |
@@ -21,6 +21,7 @@ namespace blink { |
class CompositorProxy; |
class DOMArrayBuffer; |
class DOMArrayBufferView; |
+class DOMSharedArrayBuffer; |
class File; |
class FileList; |
@@ -134,6 +135,7 @@ public: |
void writeRegExp(v8::Local<v8::String> pattern, v8::RegExp::Flags); |
void writeTransferredMessagePort(uint32_t index); |
void writeTransferredArrayBuffer(uint32_t index); |
+ void writeTransferredSharedArrayBuffer(uint32_t index); |
void writeObjectReference(uint32_t reference); |
void writeObject(uint32_t numProperties); |
void writeSparseArray(uint32_t numProperties, uint32_t length); |
@@ -194,7 +196,7 @@ public: |
JSException |
}; |
- ScriptValueSerializer(SerializedScriptValueWriter&, MessagePortArray* messagePorts, ArrayBufferArray* arrayBuffers, WebBlobInfoArray*, BlobDataHandleMap& blobDataHandles, v8::TryCatch&, ScriptState*); |
+ ScriptValueSerializer(SerializedScriptValueWriter&, MessagePortArray* messagePorts, ArrayBufferArray* arrayBuffers, SharedArrayBufferArray* sharedArrayBuffers, WebBlobInfoArray*, BlobDataHandleMap& blobDataHandles, v8::TryCatch&, ScriptState*); |
v8::Isolate* isolate() { return m_scriptState->isolate(); } |
v8::Local<v8::Context> context() { return m_scriptState->context(); } |
@@ -368,6 +370,7 @@ private: |
StateBase* writeAndGreyArrayBufferView(v8::Local<v8::Object>, StateBase* next); |
StateBase* writeArrayBuffer(v8::Local<v8::Value>, StateBase* next); |
StateBase* writeTransferredArrayBuffer(v8::Local<v8::Value>, uint32_t index, StateBase* next); |
+ StateBase* writeTransferredSharedArrayBuffer(v8::Local<v8::Value>, uint32_t index, StateBase* next); |
static bool shouldSerializeDensely(uint32_t length, uint32_t propertyCount); |
StateBase* startArrayState(v8::Local<v8::Array>, StateBase* next); |
@@ -397,6 +400,7 @@ private: |
ObjectPool m_objectPool; |
ObjectPool m_transferredMessagePorts; |
ObjectPool m_transferredArrayBuffers; |
+ ObjectPool m_transferredSharedArrayBuffers; |
uint32_t m_nextObjectReference; |
WebBlobInfoArray* m_blobInfo; |
BlobDataHandleMap& m_blobDataHandles; |
@@ -416,6 +420,7 @@ public: |
virtual bool tryGetObjectFromObjectReference(uint32_t reference, v8::Local<v8::Value>*) = 0; |
virtual bool tryGetTransferredMessagePort(uint32_t index, v8::Local<v8::Value>*) = 0; |
virtual bool tryGetTransferredArrayBuffer(uint32_t index, v8::Local<v8::Value>*) = 0; |
+ virtual bool tryGetTransferredSharedArrayBuffer(uint32_t index, v8::Local<v8::Value>*) = 0; |
virtual bool newSparseArray(uint32_t length) = 0; |
virtual bool newDenseArray(uint32_t length) = 0; |
virtual bool newObject() = 0; |
@@ -550,6 +555,7 @@ public: |
virtual void pushObjectReference(const v8::Local<v8::Value>&) override; |
virtual bool tryGetTransferredMessagePort(uint32_t index, v8::Local<v8::Value>*) override; |
virtual bool tryGetTransferredArrayBuffer(uint32_t index, v8::Local<v8::Value>*) override; |
+ virtual bool tryGetTransferredSharedArrayBuffer(uint32_t index, v8::Local<v8::Value>*) override; |
virtual bool tryGetObjectFromObjectReference(uint32_t reference, v8::Local<v8::Value>*) override; |
virtual uint32_t objectReferenceCount() override; |