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

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

Issue 2422793002: HTML MessagePort as mojo::MessagePipeHandle (Closed)
Patch Set: Add missing ScopedAsyncTaskScheduler instance for the new unit tests; required by a recent change t… Created 3 years, 10 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/serialization/V8ScriptValueSerializer.h" 5 #include "bindings/core/v8/serialization/V8ScriptValueSerializer.h"
6 6
7 #include "bindings/core/v8/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.h"
8 #include "bindings/core/v8/ScriptController.h" 8 #include "bindings/core/v8/ScriptController.h"
9 #include "bindings/core/v8/ScriptSourceCode.h" 9 #include "bindings/core/v8/ScriptSourceCode.h"
10 #include "bindings/core/v8/V8BindingForTesting.h" 10 #include "bindings/core/v8/V8BindingForTesting.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 V8TestingScope& scope, 56 V8TestingScope& scope,
57 ExceptionState* overrideExceptionState = nullptr, 57 ExceptionState* overrideExceptionState = nullptr,
58 Transferables* transferables = nullptr, 58 Transferables* transferables = nullptr,
59 WebBlobInfoArray* blobInfo = nullptr) { 59 WebBlobInfoArray* blobInfo = nullptr) {
60 RefPtr<ScriptState> scriptState = scope.getScriptState(); 60 RefPtr<ScriptState> scriptState = scope.getScriptState();
61 ExceptionState& exceptionState = overrideExceptionState 61 ExceptionState& exceptionState = overrideExceptionState
62 ? *overrideExceptionState 62 ? *overrideExceptionState
63 : scope.getExceptionState(); 63 : scope.getExceptionState();
64 64
65 // Extract message ports and disentangle them. 65 // Extract message ports and disentangle them.
66 std::unique_ptr<MessagePortChannelArray> channels; 66 MessagePortChannelArray channels;
67 if (transferables) { 67 if (transferables) {
68 channels = MessagePort::disentanglePorts(scope.getExecutionContext(), 68 channels = MessagePort::disentanglePorts(scope.getExecutionContext(),
69 transferables->messagePorts, 69 transferables->messagePorts,
70 exceptionState); 70 exceptionState);
71 if (exceptionState.hadException()) 71 if (exceptionState.hadException())
72 return v8::Local<v8::Value>(); 72 return v8::Local<v8::Value>();
73 } 73 }
74 74
75 V8ScriptValueSerializer serializer(scriptState); 75 V8ScriptValueSerializer serializer(scriptState);
76 serializer.setBlobInfoArray(blobInfo); 76 serializer.setBlobInfoArray(blobInfo);
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 ImageData* newImageData = V8ImageData::toImpl(result.As<v8::Object>()); 232 ImageData* newImageData = V8ImageData::toImpl(result.As<v8::Object>());
233 EXPECT_EQ(IntSize(2, 1), newImageData->size()); 233 EXPECT_EQ(IntSize(2, 1), newImageData->size());
234 EXPECT_EQ(8u, newImageData->data()->length()); 234 EXPECT_EQ(8u, newImageData->data()->length());
235 EXPECT_EQ(200, newImageData->data()->data()[0]); 235 EXPECT_EQ(200, newImageData->data()->data()[0]);
236 } 236 }
237 237
238 class WebMessagePortChannelImpl final : public WebMessagePortChannel { 238 class WebMessagePortChannelImpl final : public WebMessagePortChannel {
239 public: 239 public:
240 // WebMessagePortChannel 240 // WebMessagePortChannel
241 void setClient(WebMessagePortChannelClient* client) override {} 241 void setClient(WebMessagePortChannelClient* client) override {}
242 void destroy() override { delete this; } 242 void postMessage(const WebString&, WebMessagePortChannelArray) {
243 void postMessage(const WebString&, WebMessagePortChannelArray*) {
244 NOTIMPLEMENTED(); 243 NOTIMPLEMENTED();
245 } 244 }
246 bool tryGetMessage(WebString*, WebMessagePortChannelArray&) { return false; } 245 bool tryGetMessage(WebString*, WebMessagePortChannelArray&) { return false; }
247 }; 246 };
248 247
249 MessagePort* makeMessagePort( 248 MessagePort* makeMessagePort(
250 ExecutionContext* executionContext, 249 ExecutionContext* executionContext,
251 WebMessagePortChannel** unownedChannelOut = nullptr) { 250 WebMessagePortChannel** unownedChannelOut = nullptr) {
252 auto* unownedChannel = new WebMessagePortChannelImpl(); 251 auto* unownedChannel = new WebMessagePortChannelImpl();
253 MessagePort* port = MessagePort::create(*executionContext); 252 MessagePort* port = MessagePort::create(*executionContext);
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after
1034 TEST(V8ScriptValueSerializerTest, DecodeHardcodedNullValue) { 1033 TEST(V8ScriptValueSerializerTest, DecodeHardcodedNullValue) {
1035 V8TestingScope scope; 1034 V8TestingScope scope;
1036 EXPECT_TRUE(V8ScriptValueDeserializer(scope.getScriptState(), 1035 EXPECT_TRUE(V8ScriptValueDeserializer(scope.getScriptState(),
1037 SerializedScriptValue::nullValue()) 1036 SerializedScriptValue::nullValue())
1038 .deserialize() 1037 .deserialize()
1039 ->IsNull()); 1038 ->IsNull());
1040 } 1039 }
1041 1040
1042 } // namespace 1041 } // namespace
1043 } // namespace blink 1042 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698