Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(179)

Unified Diff: Source/bindings/core/v8/SerializedScriptValue.h

Issue 1097773004: Sharing of SharedArrayBuffer via PostMessage transfer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: update for non-split typedarray hierarchy Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/core/v8/SerializedScriptValue.h
diff --git a/Source/bindings/core/v8/SerializedScriptValue.h b/Source/bindings/core/v8/SerializedScriptValue.h
index 9cccebb2ad009ad0d1a637b51dd24a9381f46de8..a7f10b7d75ba99e7e9b401531986010c00d6b841 100644
--- a/Source/bindings/core/v8/SerializedScriptValue.h
+++ b/Source/bindings/core/v8/SerializedScriptValue.h
@@ -47,12 +47,14 @@ namespace blink {
class BlobDataHandle;
class DOMArrayBuffer;
+class DOMSharedArrayBuffer;
class ExceptionState;
class MessagePort;
class WebBlobInfo;
typedef WillBeHeapVector<RefPtrWillBeMember<MessagePort>, 1> MessagePortArray;
typedef Vector<RefPtr<DOMArrayBuffer>, 1> ArrayBufferArray;
+typedef Vector<RefPtr<DOMSharedArrayBuffer>, 1> SharedArrayBufferArray;
typedef HashMap<String, RefPtr<BlobDataHandle>> BlobDataHandleMap;
typedef Vector<WebBlobInfo> WebBlobInfoArray;
@@ -88,7 +90,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&, SharedArrayBufferArray&, 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.
@@ -110,10 +112,10 @@ private:
BlobDataHandleMap& blobDataHandles() { return m_blobDataHandles; }
String& data() { return m_data; }
void setData(const String& data) { m_data = data; }
- void transferArrayBuffers(v8::Isolate*, ArrayBufferArray&, ExceptionState&);
+ void transferArrayBuffers(v8::Isolate*, ArrayBufferArray&, SharedArrayBufferArray&, ExceptionState&);
ArrayBufferContentsArray* arrayBufferContentsArray() { return m_arrayBufferContentsArray.get(); }
- static PassOwnPtr<ArrayBufferContentsArray> createArrayBuffers(v8::Isolate*, ArrayBufferArray&, ExceptionState&);
+ static PassOwnPtr<ArrayBufferContentsArray> createArrayBuffers(v8::Isolate*, ArrayBufferArray&, SharedArrayBufferArray&, ExceptionState&);
private:
String m_data;

Powered by Google App Engine
This is Rietveld 408576698