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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/SerializedScriptValueFactory.cpp

Issue 2755383004: Encapsulate optional SerializedScriptValue serialize/deserialize parameters. (Closed)
Patch Set: fuzzer Created 3 years, 9 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 unified diff | Download patch
OLDNEW
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 #include "bindings/core/v8/SerializedScriptValueFactory.h" 5 #include "bindings/core/v8/SerializedScriptValueFactory.h"
6 6
7 #include "bindings/core/v8/serialization/V8ScriptValueDeserializer.h" 7 #include "bindings/core/v8/serialization/V8ScriptValueDeserializer.h"
8 #include "bindings/core/v8/serialization/V8ScriptValueSerializer.h" 8 #include "bindings/core/v8/serialization/V8ScriptValueSerializer.h"
9 #include "platform/instrumentation/tracing/TraceEvent.h" 9 #include "platform/instrumentation/tracing/TraceEvent.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 SerializedScriptValueFactory* SerializedScriptValueFactory::m_instance = 0; 13 SerializedScriptValueFactory* SerializedScriptValueFactory::m_instance = 0;
14 14
15 PassRefPtr<SerializedScriptValue> SerializedScriptValueFactory::create( 15 PassRefPtr<SerializedScriptValue> SerializedScriptValueFactory::create(
16 v8::Isolate* isolate, 16 v8::Isolate* isolate,
17 v8::Local<v8::Value> value, 17 v8::Local<v8::Value> value,
18 Transferables* transferables, 18 const SerializedScriptValue::SerializeOptions& options,
19 WebBlobInfoArray* blobInfo,
20 ExceptionState& exceptionState) { 19 ExceptionState& exceptionState) {
21 TRACE_EVENT0("blink", "SerializedScriptValueFactory::create"); 20 TRACE_EVENT0("blink", "SerializedScriptValueFactory::create");
22 V8ScriptValueSerializer serializer(ScriptState::current(isolate)); 21 V8ScriptValueSerializer serializer(ScriptState::current(isolate), options);
23 serializer.setBlobInfoArray(blobInfo); 22 return serializer.serialize(value, exceptionState);
24 return serializer.serialize(value, transferables, exceptionState);
25 } 23 }
26 24
27 v8::Local<v8::Value> SerializedScriptValueFactory::deserialize( 25 v8::Local<v8::Value> SerializedScriptValueFactory::deserialize(
28 SerializedScriptValue* value, 26 SerializedScriptValue* value,
29 v8::Isolate* isolate, 27 v8::Isolate* isolate,
30 MessagePortArray* messagePorts, 28 const SerializedScriptValue::DeserializeOptions& options) {
31 const WebBlobInfoArray* blobInfo) {
32 TRACE_EVENT0("blink", "SerializedScriptValueFactory::deserialize"); 29 TRACE_EVENT0("blink", "SerializedScriptValueFactory::deserialize");
33 V8ScriptValueDeserializer deserializer(ScriptState::current(isolate), value); 30 V8ScriptValueDeserializer deserializer(ScriptState::current(isolate), value,
34 deserializer.setTransferredMessagePorts(messagePorts); 31 options);
35 deserializer.setBlobInfoArray(blobInfo);
36 return deserializer.deserialize(); 32 return deserializer.deserialize();
37 } 33 }
38 34
39 } // namespace blink 35 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698