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

Side by Side Diff: test/cctest/test-api.cc

Issue 1140673002: [V8] Added Script::is_opaque flag for embedders (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 7 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
« no previous file with comments | « test/cctest/compiler/test-linkage.cc ('k') | test/cctest/test-compiler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 4021 matching lines...) Expand 10 before | Expand all | Expand 10 after
4032 CompileRun("throw error;"); 4032 CompileRun("throw error;");
4033 CHECK(message_received); 4033 CHECK(message_received);
4034 // clear out the message listener 4034 // clear out the message listener
4035 v8::V8::RemoveMessageListeners(check_message_2); 4035 v8::V8::RemoveMessageListeners(check_message_2);
4036 } 4036 }
4037 4037
4038 4038
4039 static void check_message_3(v8::Handle<v8::Message> message, 4039 static void check_message_3(v8::Handle<v8::Message> message,
4040 v8::Handle<Value> data) { 4040 v8::Handle<Value> data) {
4041 CHECK(message->IsSharedCrossOrigin()); 4041 CHECK(message->IsSharedCrossOrigin());
4042 CHECK(message->GetScriptOrigin().ResourceIsSharedCrossOrigin()->Value()); 4042 CHECK(message->GetScriptOrigin().Options().IsSharedCrossOrigin());
4043 CHECK(message->GetScriptOrigin().ResourceIsEmbedderDebugScript()->Value()); 4043 CHECK(message->GetScriptOrigin().Options().IsEmbedderDebugScript());
4044 CHECK(message->GetScriptOrigin().Options().IsOpaque());
4044 CHECK_EQ(6.75, message->GetScriptOrigin().ResourceName()->NumberValue()); 4045 CHECK_EQ(6.75, message->GetScriptOrigin().ResourceName()->NumberValue());
4045 CHECK_EQ(7.40, message->GetScriptOrigin().SourceMapUrl()->NumberValue()); 4046 CHECK_EQ(7.40, message->GetScriptOrigin().SourceMapUrl()->NumberValue());
4046 message_received = true; 4047 message_received = true;
4047 } 4048 }
4048 4049
4049 4050
4050 TEST(MessageHandler3) { 4051 TEST(MessageHandler3) {
4051 message_received = false; 4052 message_received = false;
4052 v8::Isolate* isolate = CcTest::isolate(); 4053 v8::Isolate* isolate = CcTest::isolate();
4053 v8::HandleScope scope(isolate); 4054 v8::HandleScope scope(isolate);
4054 CHECK(!message_received); 4055 CHECK(!message_received);
4055 v8::V8::AddMessageListener(check_message_3); 4056 v8::V8::AddMessageListener(check_message_3);
4056 LocalContext context; 4057 LocalContext context;
4057 v8::ScriptOrigin origin = v8::ScriptOrigin( 4058 v8::ScriptOrigin origin = v8::ScriptOrigin(
4058 v8_str("6.75"), v8::Integer::New(isolate, 1), 4059 v8_str("6.75"), v8::Integer::New(isolate, 1),
4059 v8::Integer::New(isolate, 2), v8::True(isolate), Handle<v8::Integer>(), 4060 v8::Integer::New(isolate, 2), v8::True(isolate), Handle<v8::Integer>(),
4060 v8::True(isolate), v8_str("7.40")); 4061 v8::True(isolate), v8_str("7.40"), v8::True(isolate));
4061 v8::Handle<v8::Script> script = 4062 v8::Handle<v8::Script> script =
4062 Script::Compile(v8_str("throw 'error'"), &origin); 4063 Script::Compile(v8_str("throw 'error'"), &origin);
4063 script->Run(); 4064 script->Run();
4064 CHECK(message_received); 4065 CHECK(message_received);
4065 // clear out the message listener 4066 // clear out the message listener
4066 v8::V8::RemoveMessageListeners(check_message_3); 4067 v8::V8::RemoveMessageListeners(check_message_3);
4067 } 4068 }
4068 4069
4069 4070
4070 static void check_message_4(v8::Handle<v8::Message> message, 4071 static void check_message_4(v8::Handle<v8::Message> message,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
4110 } 4111 }
4111 4112
4112 4113
4113 TEST(MessageHandler5) { 4114 TEST(MessageHandler5) {
4114 message_received = false; 4115 message_received = false;
4115 v8::Isolate* isolate = CcTest::isolate(); 4116 v8::Isolate* isolate = CcTest::isolate();
4116 v8::HandleScope scope(isolate); 4117 v8::HandleScope scope(isolate);
4117 CHECK(!message_received); 4118 CHECK(!message_received);
4118 v8::V8::AddMessageListener(check_message_5a); 4119 v8::V8::AddMessageListener(check_message_5a);
4119 LocalContext context; 4120 LocalContext context;
4120 v8::ScriptOrigin origin = 4121 v8::ScriptOrigin origin1 =
4121 v8::ScriptOrigin(v8_str("6.75"), v8::Integer::New(isolate, 1), 4122 v8::ScriptOrigin(v8_str("6.75"), v8::Integer::New(isolate, 1),
4122 v8::Integer::New(isolate, 2), v8::True(isolate)); 4123 v8::Integer::New(isolate, 2), v8::True(isolate));
4123 v8::Handle<v8::Script> script = 4124 v8::Handle<v8::Script> script =
4124 Script::Compile(v8_str("throw 'error'"), &origin); 4125 Script::Compile(v8_str("throw 'error'"), &origin1);
4125 script->Run(); 4126 script->Run();
4126 CHECK(message_received); 4127 CHECK(message_received);
4127 // clear out the message listener 4128 // clear out the message listener
4128 v8::V8::RemoveMessageListeners(check_message_5a); 4129 v8::V8::RemoveMessageListeners(check_message_5a);
4129 4130
4130 message_received = false; 4131 message_received = false;
4131 v8::V8::AddMessageListener(check_message_5b); 4132 v8::V8::AddMessageListener(check_message_5b);
4132 origin = v8::ScriptOrigin(v8_str("6.75"), v8::Integer::New(isolate, 1), 4133 v8::ScriptOrigin origin2 =
4133 v8::Integer::New(isolate, 2), v8::False(isolate)); 4134 v8::ScriptOrigin(v8_str("6.75"), v8::Integer::New(isolate, 1),
4134 script = Script::Compile(v8_str("throw 'error'"), &origin); 4135 v8::Integer::New(isolate, 2), v8::False(isolate));
4136 script = Script::Compile(v8_str("throw 'error'"), &origin2);
4135 script->Run(); 4137 script->Run();
4136 CHECK(message_received); 4138 CHECK(message_received);
4137 // clear out the message listener 4139 // clear out the message listener
4138 v8::V8::RemoveMessageListeners(check_message_5b); 4140 v8::V8::RemoveMessageListeners(check_message_5b);
4139 } 4141 }
4140 4142
4141 4143
4142 TEST(NativeWeakMap) { 4144 TEST(NativeWeakMap) {
4143 v8::Isolate* isolate = CcTest::isolate(); 4145 v8::Isolate* isolate = CcTest::isolate();
4144 HandleScope scope(isolate); 4146 HandleScope scope(isolate);
(...skipping 11459 matching lines...) Expand 10 before | Expand all | Expand 10 after
15604 15606
15605 15607
15606 THREADED_TEST(ScriptOrigin) { 15608 THREADED_TEST(ScriptOrigin) {
15607 LocalContext env; 15609 LocalContext env;
15608 v8::HandleScope scope(env->GetIsolate()); 15610 v8::HandleScope scope(env->GetIsolate());
15609 v8::ScriptOrigin origin = v8::ScriptOrigin( 15611 v8::ScriptOrigin origin = v8::ScriptOrigin(
15610 v8::String::NewFromUtf8(env->GetIsolate(), "test"), 15612 v8::String::NewFromUtf8(env->GetIsolate(), "test"),
15611 v8::Integer::New(env->GetIsolate(), 1), 15613 v8::Integer::New(env->GetIsolate(), 1),
15612 v8::Integer::New(env->GetIsolate(), 1), v8::True(env->GetIsolate()), 15614 v8::Integer::New(env->GetIsolate(), 1), v8::True(env->GetIsolate()),
15613 v8::Handle<v8::Integer>(), v8::True(env->GetIsolate()), 15615 v8::Handle<v8::Integer>(), v8::True(env->GetIsolate()),
15614 v8::String::NewFromUtf8(env->GetIsolate(), "http://sourceMapUrl")); 15616 v8::String::NewFromUtf8(env->GetIsolate(), "http://sourceMapUrl"),
15617 v8::True(env->GetIsolate()));
15615 v8::Handle<v8::String> script = v8::String::NewFromUtf8( 15618 v8::Handle<v8::String> script = v8::String::NewFromUtf8(
15616 env->GetIsolate(), "function f() {}\n\nfunction g() {}"); 15619 env->GetIsolate(), "function f() {}\n\nfunction g() {}");
15617 v8::Script::Compile(script, &origin)->Run(); 15620 v8::Script::Compile(script, &origin)->Run();
15618 v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast( 15621 v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
15619 env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f"))); 15622 env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "f")));
15620 v8::Local<v8::Function> g = v8::Local<v8::Function>::Cast( 15623 v8::Local<v8::Function> g = v8::Local<v8::Function>::Cast(
15621 env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "g"))); 15624 env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "g")));
15622 15625
15623 v8::ScriptOrigin script_origin_f = f->GetScriptOrigin(); 15626 v8::ScriptOrigin script_origin_f = f->GetScriptOrigin();
15624 CHECK_EQ(0, strcmp("test", 15627 CHECK_EQ(0, strcmp("test",
15625 *v8::String::Utf8Value(script_origin_f.ResourceName()))); 15628 *v8::String::Utf8Value(script_origin_f.ResourceName())));
15626 CHECK_EQ(1, script_origin_f.ResourceLineOffset()->Int32Value()); 15629 CHECK_EQ(1, script_origin_f.ResourceLineOffset()->Int32Value());
15627 CHECK(script_origin_f.ResourceIsSharedCrossOrigin()->Value()); 15630 CHECK(script_origin_f.Options().IsSharedCrossOrigin());
15628 CHECK(script_origin_f.ResourceIsEmbedderDebugScript()->Value()); 15631 CHECK(script_origin_f.Options().IsEmbedderDebugScript());
15632 CHECK(script_origin_f.Options().IsOpaque());
15629 printf("is name = %d\n", script_origin_f.SourceMapUrl()->IsUndefined()); 15633 printf("is name = %d\n", script_origin_f.SourceMapUrl()->IsUndefined());
15630 15634
15631 CHECK_EQ(0, strcmp("http://sourceMapUrl", 15635 CHECK_EQ(0, strcmp("http://sourceMapUrl",
15632 *v8::String::Utf8Value(script_origin_f.SourceMapUrl()))); 15636 *v8::String::Utf8Value(script_origin_f.SourceMapUrl())));
15633 15637
15634 v8::ScriptOrigin script_origin_g = g->GetScriptOrigin(); 15638 v8::ScriptOrigin script_origin_g = g->GetScriptOrigin();
15635 CHECK_EQ(0, strcmp("test", 15639 CHECK_EQ(0, strcmp("test",
15636 *v8::String::Utf8Value(script_origin_g.ResourceName()))); 15640 *v8::String::Utf8Value(script_origin_g.ResourceName())));
15637 CHECK_EQ(1, script_origin_g.ResourceLineOffset()->Int32Value()); 15641 CHECK_EQ(1, script_origin_g.ResourceLineOffset()->Int32Value());
15638 CHECK(script_origin_g.ResourceIsSharedCrossOrigin()->Value()); 15642 CHECK(script_origin_g.Options().IsSharedCrossOrigin());
15639 CHECK(script_origin_g.ResourceIsEmbedderDebugScript()->Value()); 15643 CHECK(script_origin_g.Options().IsEmbedderDebugScript());
15644 CHECK(script_origin_g.Options().IsOpaque());
15640 CHECK_EQ(0, strcmp("http://sourceMapUrl", 15645 CHECK_EQ(0, strcmp("http://sourceMapUrl",
15641 *v8::String::Utf8Value(script_origin_g.SourceMapUrl()))); 15646 *v8::String::Utf8Value(script_origin_g.SourceMapUrl())));
15642 } 15647 }
15643 15648
15644 15649
15645 THREADED_TEST(FunctionGetInferredName) { 15650 THREADED_TEST(FunctionGetInferredName) {
15646 LocalContext env; 15651 LocalContext env;
15647 v8::HandleScope scope(env->GetIsolate()); 15652 v8::HandleScope scope(env->GetIsolate());
15648 v8::ScriptOrigin origin = 15653 v8::ScriptOrigin origin =
15649 v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "test")); 15654 v8::ScriptOrigin(v8::String::NewFromUtf8(env->GetIsolate(), "test"));
(...skipping 5444 matching lines...) Expand 10 before | Expand all | Expand 10 after
21094 CHECK(!try_catch.HasCaught()); 21099 CHECK(!try_catch.HasCaught());
21095 } 21100 }
21096 21101
21097 { 21102 {
21098 v8::TryCatch try_catch; 21103 v8::TryCatch try_catch;
21099 v8::Handle<Value> args[] = {v8_num(42), v8_num(555)}; 21104 v8::Handle<Value> args[] = {v8_num(42), v8_num(555)};
21100 fun->Call(v8::Undefined(isolate), arraysize(args), args); 21105 fun->Call(v8::Undefined(isolate), arraysize(args), args);
21101 CHECK(!try_catch.HasCaught()); 21106 CHECK(!try_catch.HasCaught());
21102 } 21107 }
21103 } 21108 }
OLDNEW
« no previous file with comments | « test/cctest/compiler/test-linkage.cc ('k') | test/cctest/test-compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698