| 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 6a7b0cc4bc88fefe553f8aad2a4d2ad4141fe6de..a08a7fbc467f83b4cb0754d5c5506a4f3c0ca53a 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h
|
| @@ -53,6 +53,9 @@ typedef Vector<WebBlobInfo> WebBlobInfoArray;
|
|
|
| class CORE_EXPORT SerializedScriptValue : public ThreadSafeRefCounted<SerializedScriptValue> {
|
| public:
|
| + using ArrayBufferContentsArray = Vector<WTF::ArrayBufferContents, 1>;
|
| + using ImageBitmapContentsArray = Vector<RefPtr<StaticBitmapImage>, 1>;
|
| +
|
| // Increment this for each incompatible change to the wire format.
|
| // Version 2: Added StringUCharTag for UChar v8 strings.
|
| // Version 3: Switched to using uuids as blob data identifiers.
|
| @@ -72,7 +75,6 @@ public:
|
| static PassRefPtr<SerializedScriptValue> serialize(const String&);
|
| static PassRefPtr<SerializedScriptValue> serializeAndSwallowExceptions(v8::Isolate*, v8::Local<v8::Value>);
|
|
|
| - // TODO(peria): Make these create()s private.
|
| static PassRefPtr<SerializedScriptValue> create();
|
| static PassRefPtr<SerializedScriptValue> create(const String&);
|
| static PassRefPtr<SerializedScriptValue> create(const char* data, size_t length);
|
| @@ -104,37 +106,32 @@ public:
|
| // Returns true if the value contains a transferable ArrayBuffer.
|
| bool containsTransferableArrayBuffer() const;
|
|
|
| + String& data() { return m_data; }
|
| + BlobDataHandleMap& blobDataHandles() { return m_blobDataHandles; }
|
| + ArrayBufferContentsArray* getArrayBufferContentsArray() { return m_arrayBufferContentsArray.get(); }
|
| + ImageBitmapContentsArray* getImageBitmapContentsArray() { return m_imageBitmapContentsArray.get(); }
|
| +
|
| private:
|
| - // The followings are private, but used by SerializedScriptValueFactory.
|
| + friend class ScriptValueSerializer;
|
| +
|
| enum StringDataMode {
|
| StringValue,
|
| WireData
|
| };
|
| - typedef Vector<WTF::ArrayBufferContents, 1> ArrayBufferContentsArray;
|
| - typedef Vector<RefPtr<StaticBitmapImage>, 1> ImageBitmapContentsArray;
|
|
|
| SerializedScriptValue();
|
| explicit SerializedScriptValue(const String& wireData);
|
|
|
| - BlobDataHandleMap& blobDataHandles() { return m_blobDataHandles; }
|
| - String& data() { return m_data; }
|
| void setData(const String& data) { m_data = data; }
|
| void transferArrayBuffers(v8::Isolate*, const ArrayBufferArray&, ExceptionState&);
|
| void transferImageBitmaps(v8::Isolate*, const ImageBitmapArray&, ExceptionState&);
|
| void transferOffscreenCanvas(v8::Isolate*, const OffscreenCanvasArray&, ExceptionState&);
|
| - ArrayBufferContentsArray* getArrayBufferContentsArray() { return m_arrayBufferContentsArray.get(); }
|
| - ImageBitmapContentsArray* getImageBitmapContentsArray() { return m_imageBitmapContentsArray.get(); }
|
|
|
| -private:
|
| String m_data;
|
| std::unique_ptr<ArrayBufferContentsArray> m_arrayBufferContentsArray;
|
| std::unique_ptr<ImageBitmapContentsArray> m_imageBitmapContentsArray;
|
| BlobDataHandleMap m_blobDataHandles;
|
| intptr_t m_externallyAllocatedMemory;
|
| -
|
| - // TODO(peria): remove SerializedScriptValueFactory from friend class
|
| - friend class SerializedScriptValueFactory;
|
| - friend class ScriptValueSerializer;
|
| };
|
|
|
| } // namespace blink
|
|
|