1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "gin/test/v8_test.h"
7 #include "gin/array_buffer.h"
8 #include "gin/public/isolate_holder.h"
9 #include "gin/v8_initializer.h"
13 using v8::HandleScope
;
23 void V8Test::SetUp() {
24 #ifdef V8_USE_EXTERNAL_STARTUP_DATA
25 gin::V8Initializer::LoadV8Snapshot();
26 gin::V8Initializer::LoadV8Natives();
28 gin::IsolateHolder::Initialize(gin::IsolateHolder::kStrictMode
,
29 gin::ArrayBufferAllocator::SharedInstance());
31 instance_
.reset(new gin::IsolateHolder
);
32 instance_
->isolate()->Enter();
33 HandleScope
handle_scope(instance_
->isolate());
34 context_
.Reset(instance_
->isolate(), Context::New(instance_
->isolate()));
35 Local
<Context
>::New(instance_
->isolate(), context_
)->Enter();
38 void V8Test::TearDown() {
40 HandleScope
handle_scope(instance_
->isolate());
41 Local
<Context
>::New(instance_
->isolate(), context_
)->Exit();
44 instance_
->isolate()->Exit();