1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2020 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker #include "testing/external_engine_embedder_test.h" 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #include <memory> 8*3ac0a46fSAndroid Build Coastguard Worker 9*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/cfxjs_engine.h" 10*3ac0a46fSAndroid Build Coastguard Worker #include "testing/v8_test_environment.h" 11*3ac0a46fSAndroid Build Coastguard Worker #include "v8/include/v8-context.h" 12*3ac0a46fSAndroid Build Coastguard Worker #include "v8/include/v8-isolate.h" 13*3ac0a46fSAndroid Build Coastguard Worker #include "v8/include/v8-local-handle.h" 14*3ac0a46fSAndroid Build Coastguard Worker 15*3ac0a46fSAndroid Build Coastguard Worker ExternalEngineEmbedderTest::ExternalEngineEmbedderTest() = default; 16*3ac0a46fSAndroid Build Coastguard Worker 17*3ac0a46fSAndroid Build Coastguard Worker ExternalEngineEmbedderTest::~ExternalEngineEmbedderTest() = default; 18*3ac0a46fSAndroid Build Coastguard Worker SetUp()19*3ac0a46fSAndroid Build Coastguard Workervoid ExternalEngineEmbedderTest::SetUp() { 20*3ac0a46fSAndroid Build Coastguard Worker EmbedderTest::SetUp(); 21*3ac0a46fSAndroid Build Coastguard Worker 22*3ac0a46fSAndroid Build Coastguard Worker v8::Isolate::Scope isolate_scope(isolate()); 23*3ac0a46fSAndroid Build Coastguard Worker v8::HandleScope handle_scope(isolate()); 24*3ac0a46fSAndroid Build Coastguard Worker FXJS_PerIsolateData::SetUp(isolate()); 25*3ac0a46fSAndroid Build Coastguard Worker m_Engine = std::make_unique<CFXJS_Engine>(isolate()); 26*3ac0a46fSAndroid Build Coastguard Worker m_Engine->InitializeEngine(); 27*3ac0a46fSAndroid Build Coastguard Worker } 28*3ac0a46fSAndroid Build Coastguard Worker TearDown()29*3ac0a46fSAndroid Build Coastguard Workervoid ExternalEngineEmbedderTest::TearDown() { 30*3ac0a46fSAndroid Build Coastguard Worker m_Engine->ReleaseEngine(); 31*3ac0a46fSAndroid Build Coastguard Worker m_Engine.reset(); 32*3ac0a46fSAndroid Build Coastguard Worker JSEmbedderTest::TearDown(); 33*3ac0a46fSAndroid Build Coastguard Worker } 34*3ac0a46fSAndroid Build Coastguard Worker GetV8Context()35*3ac0a46fSAndroid Build Coastguard Workerv8::Local<v8::Context> ExternalEngineEmbedderTest::GetV8Context() { 36*3ac0a46fSAndroid Build Coastguard Worker return m_Engine->GetV8Context(); 37*3ac0a46fSAndroid Build Coastguard Worker } 38