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();
27 gin::IsolateHolder::Initialize(gin::IsolateHolder::kStrictMode
,
28 gin::ArrayBufferAllocator::SharedInstance());
30 instance_
.reset(new gin::IsolateHolder
);
31 instance_
->isolate()->Enter();
32 HandleScope
handle_scope(instance_
->isolate());
33 context_
.Reset(instance_
->isolate(), Context::New(instance_
->isolate()));
34 Local
<Context
>::New(instance_
->isolate(), context_
)->Enter();
37 void V8Test::TearDown() {
39 HandleScope
handle_scope(instance_
->isolate());
40 Local
<Context
>::New(instance_
->isolate(), context_
)->Exit();
43 instance_
->isolate()->Exit();