OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SerializedScriptValueForModulesFactory_h | 5 #ifndef SerializedScriptValueForModulesFactory_h |
6 #define SerializedScriptValueForModulesFactory_h | 6 #define SerializedScriptValueForModulesFactory_h |
7 | 7 |
8 #include "bindings/core/v8/SerializedScriptValueFactory.h" | 8 #include "bindings/core/v8/SerializedScriptValueFactory.h" |
| 9 #include "bindings/modules/v8/TransferablesForModules.h" |
9 #include "wtf/Noncopyable.h" | 10 #include "wtf/Noncopyable.h" |
10 | 11 |
11 namespace blink { | 12 namespace blink { |
12 | 13 |
13 class SerializedScriptValueForModulesFactory final : public SerializedScriptValu
eFactory { | 14 class SerializedScriptValueForModulesFactory final : public SerializedScriptValu
eFactory { |
14 USING_FAST_MALLOC(SerializedScriptValueForModulesFactory); | 15 USING_FAST_MALLOC(SerializedScriptValueForModulesFactory); |
15 WTF_MAKE_NONCOPYABLE(SerializedScriptValueForModulesFactory); | 16 WTF_MAKE_NONCOPYABLE(SerializedScriptValueForModulesFactory); |
16 public: | 17 public: |
17 SerializedScriptValueForModulesFactory() : SerializedScriptValueFactory() {
} | 18 SerializedScriptValueForModulesFactory() : SerializedScriptValueFactory() {
} |
18 | 19 |
19 PassRefPtr<SerializedScriptValue> create(v8::Isolate*, v8::Local<v8::Value>,
Transferables*, WebBlobInfoArray*, ExceptionState&) override; | 20 PassRefPtr<SerializedScriptValue> create(v8::Isolate*, v8::Local<v8::Value>,
Transferables*, WebBlobInfoArray*, ExceptionState&) override; |
20 PassRefPtr<SerializedScriptValue> create(v8::Isolate*, const String&) overri
de; | 21 PassRefPtr<SerializedScriptValue> create(v8::Isolate*, const String&) overri
de; |
| 22 bool extractTransferables(v8::Isolate*, Transferables&, ExceptionState&, v8:
:Local<v8::Value>&, unsigned) override; |
| 23 Transferables* createTransferables() override { return new TransferablesForM
odules; } |
21 | 24 |
22 protected: | 25 protected: |
23 ScriptValueSerializer::Status doSerialize(v8::Local<v8::Value>, SerializedSc
riptValueWriter&, Transferables*, WebBlobInfoArray*, BlobDataHandleMap&, v8::Try
Catch&, String& errorMessage, v8::Isolate*) override; | 26 ScriptValueSerializer::Status doSerialize(v8::Local<v8::Value>, SerializedSc
riptValueWriter&, Transferables*, WebBlobInfoArray*, BlobDataHandleMap&, v8::Try
Catch&, String& errorMessage, v8::Isolate*) override; |
24 | 27 |
25 v8::Local<v8::Value> deserialize(String& data, BlobDataHandleMap& blobDataHa
ndles, ArrayBufferContentsArray*, ImageBitmapContentsArray*, v8::Isolate*, Messa
gePortArray* messagePorts, const WebBlobInfoArray*) override; | 28 v8::Local<v8::Value> deserialize(String& data, BlobDataHandleMap& blobDataHa
ndles, ArrayBufferContentsArray*, ImageBitmapContentsArray*, v8::Isolate*, Messa
gePortArray* messagePorts, const WebBlobInfoArray*) override; |
| 29 |
| 30 void transferData(v8::Isolate*, Transferables*, ExceptionState&, SerializedS
criptValue*, SerializedScriptValueWriter&) override; |
26 }; | 31 }; |
27 | 32 |
28 } // namespace blink | 33 } // namespace blink |
29 | 34 |
30 #endif // SerializedScriptValueForModulesFactory_h | 35 #endif // SerializedScriptValueForModulesFactory_h |
31 | 36 |
OLD | NEW |