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

Unified Diff: test/cctest/test-serialize.cc

Issue 2619203002: [serializer] pass internal fields deserializer callback as argument. (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « src/snapshot/snapshot-common.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/test-serialize.cc
diff --git a/test/cctest/test-serialize.cc b/test/cctest/test-serialize.cc
index a5cd0337117d6ebd1ea68f74029e58125bc92968..ba3738e2e7413796c14bd46deea5eaf45be6ac2f 100644
--- a/test/cctest/test-serialize.cc
+++ b/test/cctest/test-serialize.cc
@@ -321,7 +321,7 @@ UNINITIALIZED_TEST(PartialSerializerObject) {
{
SnapshotData snapshot_data(partial_blob);
Deserializer deserializer(&snapshot_data);
- root = deserializer.DeserializePartial(isolate, global_proxy)
+ root = deserializer.DeserializePartial(isolate, global_proxy, nullptr)
.ToHandleChecked();
CHECK(root->IsString());
}
@@ -330,7 +330,7 @@ UNINITIALIZED_TEST(PartialSerializerObject) {
{
SnapshotData snapshot_data(partial_blob);
Deserializer deserializer(&snapshot_data);
- root2 = deserializer.DeserializePartial(isolate, global_proxy)
+ root2 = deserializer.DeserializePartial(isolate, global_proxy, nullptr)
.ToHandleChecked();
CHECK(root2->IsString());
CHECK(root.is_identical_to(root2));
@@ -419,7 +419,7 @@ UNINITIALIZED_TEST(PartialSerializerContext) {
{
SnapshotData snapshot_data(partial_blob);
Deserializer deserializer(&snapshot_data);
- root = deserializer.DeserializePartial(isolate, global_proxy)
+ root = deserializer.DeserializePartial(isolate, global_proxy, nullptr)
.ToHandleChecked();
CHECK(root->IsContext());
CHECK(Handle<Context>::cast(root)->global_proxy() == *global_proxy);
@@ -429,7 +429,7 @@ UNINITIALIZED_TEST(PartialSerializerContext) {
{
SnapshotData snapshot_data(partial_blob);
Deserializer deserializer(&snapshot_data);
- root2 = deserializer.DeserializePartial(isolate, global_proxy)
+ root2 = deserializer.DeserializePartial(isolate, global_proxy, nullptr)
.ToHandleChecked();
CHECK(root2->IsContext());
CHECK(!root.is_identical_to(root2));
@@ -539,7 +539,7 @@ UNINITIALIZED_TEST(PartialSerializerCustomContext) {
{
SnapshotData snapshot_data(partial_blob);
Deserializer deserializer(&snapshot_data);
- root = deserializer.DeserializePartial(isolate, global_proxy)
+ root = deserializer.DeserializePartial(isolate, global_proxy, nullptr)
.ToHandleChecked();
CHECK(root->IsContext());
Handle<Context> context = Handle<Context>::cast(root);
@@ -2203,6 +2203,8 @@ TEST(SnapshotCreatorTemplates) {
global_template->Set(v8_str("f"), callback);
v8::Local<v8::Context> context =
v8::Context::New(isolate, no_extension, global_template);
+ creator.SetDefaultContext(context);
+ context = v8::Context::New(isolate, no_extension, global_template);
v8::Local<v8::ObjectTemplate> object_template =
v8::ObjectTemplate::New(isolate);
object_template->SetInternalFieldCount(3);
@@ -2229,12 +2231,12 @@ TEST(SnapshotCreatorTemplates) {
c->SetInternalField(2, field_external);
CHECK(context->Global()->Set(context, v8_str("a"), a).FromJust());
- creator.SetDefaultContext(context);
+ CHECK_EQ(0u, creator.AddContext(context, SerializeInternalFields));
CHECK_EQ(0u, creator.AddTemplate(callback));
CHECK_EQ(1u, creator.AddTemplate(global_template));
}
- blob = creator.CreateBlob(v8::SnapshotCreator::FunctionCodeHandling::kClear,
- SerializeInternalFields);
+ blob =
+ creator.CreateBlob(v8::SnapshotCreator::FunctionCodeHandling::kClear);
delete a1;
delete b0;
@@ -2246,14 +2248,15 @@ TEST(SnapshotCreatorTemplates) {
params.snapshot_blob = &blob;
params.array_buffer_allocator = CcTest::array_buffer_allocator();
params.external_references = original_external_references;
- params.deserialize_internal_fields_callback = DeserializeInternalFields;
v8::Isolate* isolate = v8::Isolate::New(params);
{
v8::Isolate::Scope isolate_scope(isolate);
{
// Create a new context without a new object template.
v8::HandleScope handle_scope(isolate);
- v8::Local<v8::Context> context = v8::Context::New(isolate);
+ v8::Local<v8::Context> context =
+ v8::Context::FromSnapshot(isolate, 0, DeserializeInternalFields)
+ .ToLocalChecked();
v8::Context::Scope context_scope(context);
ExpectInt32("f()", 42);
@@ -2320,26 +2323,6 @@ TEST(SnapshotCreatorTemplates) {
for (auto data : deserialized_data) delete data;
deserialized_data.clear();
}
-
- {
- // Create a context with a new object template. It is merged into the
- // deserialized global object.
- v8::HandleScope handle_scope(isolate);
- v8::ExtensionConfiguration* no_extension = nullptr;
- v8::Local<v8::ObjectTemplate> global_template =
- v8::ObjectTemplate::New(isolate);
- global_template->Set(
- v8_str("g"),
- v8::FunctionTemplate::New(isolate, SerializedCallbackReplacement));
- v8::Local<v8::Context> context =
- v8::Context::New(isolate, no_extension, global_template);
- v8::Context::Scope context_scope(context);
- ExpectInt32("g()", 1337);
- ExpectInt32("f()", 42);
-
- for (auto data : deserialized_data) delete data;
- deserialized_data.clear();
- }
}
isolate->Dispose();
}
@@ -2425,10 +2408,10 @@ TEST(SnapshotCreatorIncludeGlobalProxy) {
.ToLocalChecked())
.FromJust());
- CHECK_EQ(0u, creator.AddContext(context));
+ CHECK_EQ(0u, creator.AddContext(context, SerializeInternalFields));
}
- blob = creator.CreateBlob(v8::SnapshotCreator::FunctionCodeHandling::kClear,
- SerializeInternalFields);
+ blob =
+ creator.CreateBlob(v8::SnapshotCreator::FunctionCodeHandling::kClear);
}
{
@@ -2436,7 +2419,6 @@ TEST(SnapshotCreatorIncludeGlobalProxy) {
params.snapshot_blob = &blob;
params.array_buffer_allocator = CcTest::array_buffer_allocator();
params.external_references = original_external_references;
- params.deserialize_internal_fields_callback = DeserializeInternalFields;
v8::Isolate* isolate = v8::Isolate::New(params);
{
v8::Isolate::Scope isolate_scope(isolate);
@@ -2470,7 +2452,8 @@ TEST(SnapshotCreatorIncludeGlobalProxy) {
// will use the global object from the snapshot, including interceptor.
v8::HandleScope handle_scope(isolate);
v8::Local<v8::Context> context =
- v8::Context::FromSnapshot(isolate, 0).ToLocalChecked();
+ v8::Context::FromSnapshot(isolate, 0, DeserializeInternalFields)
+ .ToLocalChecked();
{
v8::Context::Scope context_scope(context);
ExpectInt32("f()", 42);
@@ -2497,7 +2480,8 @@ TEST(SnapshotCreatorIncludeGlobalProxy) {
// New context, but reuse global proxy.
v8::ExtensionConfiguration* no_extensions = nullptr;
v8::Local<v8::Context> context2 =
- v8::Context::FromSnapshot(isolate, 0, no_extensions, global)
+ v8::Context::FromSnapshot(isolate, 0, DeserializeInternalFields,
+ no_extensions, global)
.ToLocalChecked();
{
v8::Context::Scope context_scope(context2);
« no previous file with comments | « src/snapshot/snapshot-common.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698