OLD | NEW |
1 // Copyright 2015 PDFium Authors. All rights reserved. | 1 // Copyright 2015 PDFium 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 "testing/js_embedder_test.h" | 5 #include "testing/js_embedder_test.h" |
6 | 6 |
7 JSEmbedderTest::JSEmbedderTest() | 7 JSEmbedderTest::JSEmbedderTest() |
8 : m_pArrayBufferAllocator(new FXJS_ArrayBufferAllocator), | 8 : m_pArrayBufferAllocator(new FXJS_ArrayBufferAllocator), |
9 m_pIsolate(nullptr) {} | 9 m_pIsolate(nullptr) {} |
10 | 10 |
11 JSEmbedderTest::~JSEmbedderTest() {} | 11 JSEmbedderTest::~JSEmbedderTest() {} |
12 | 12 |
13 void JSEmbedderTest::SetUp() { | 13 void JSEmbedderTest::SetUp() { |
14 v8::Isolate::CreateParams params; | 14 v8::Isolate::CreateParams params; |
15 params.array_buffer_allocator = m_pArrayBufferAllocator.get(); | 15 params.array_buffer_allocator = m_pArrayBufferAllocator.get(); |
16 m_pIsolate = v8::Isolate::New(params); | 16 m_pIsolate = v8::Isolate::New(params); |
17 | 17 |
18 EmbedderTest::SetExternalIsolate(m_pIsolate); | 18 EmbedderTest::SetExternalIsolate(m_pIsolate); |
19 EmbedderTest::SetUp(); | 19 EmbedderTest::SetUp(); |
20 | 20 |
21 v8::Isolate::Scope isolate_scope(m_pIsolate); | 21 v8::Isolate::Scope isolate_scope(m_pIsolate); |
22 v8::HandleScope handle_scope(m_pIsolate); | 22 v8::HandleScope handle_scope(m_pIsolate); |
23 FXJS_PerIsolateData::SetUp(m_pIsolate); | 23 FXJS_PerIsolateData::SetUp(m_pIsolate); |
24 m_Engine.reset(new CFXJS_Engine); | 24 m_Engine.reset(new CFXJS_Engine(m_pIsolate)); |
25 m_Engine->SetIsolate(m_pIsolate); | |
26 m_Engine->InitializeEngine(); | 25 m_Engine->InitializeEngine(); |
27 } | 26 } |
28 | 27 |
29 void JSEmbedderTest::TearDown() { | 28 void JSEmbedderTest::TearDown() { |
30 m_Engine->ReleaseEngine(); | 29 m_Engine->ReleaseEngine(); |
31 m_Engine.reset(); | 30 m_Engine.reset(); |
32 EmbedderTest::TearDown(); | 31 EmbedderTest::TearDown(); |
33 m_pIsolate->Dispose(); | 32 m_pIsolate->Dispose(); |
34 m_pIsolate = nullptr; | 33 m_pIsolate = nullptr; |
35 } | 34 } |
36 | 35 |
37 v8::Isolate* JSEmbedderTest::isolate() { | 36 v8::Isolate* JSEmbedderTest::isolate() { |
38 return m_pIsolate; | 37 return m_pIsolate; |
39 } | 38 } |
40 | 39 |
41 v8::Local<v8::Context> JSEmbedderTest::GetV8Context() { | 40 v8::Local<v8::Context> JSEmbedderTest::GetV8Context() { |
42 return m_Engine->GetPersistentContext(); | 41 return m_Engine->GetPersistentContext(); |
43 } | 42 } |
OLD | NEW |