From 98b356a36bc9291a4f222d092afeeea0d5b5f379 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 16 Jul 2018 21:35:06 +0000 Subject: Use UnownedPtr<> to v8::Isolates. Isolates are long-lived, but this may catch a few things. Introduce CFX_V8IsolateDeleter for unique_ptr usage. Fix Dispose()/SetIsolate(nullptr) ordering in cjs_runtime.cpp Remove one unused isolate member. Flip protected -> private in one place. Change-Id: I26cdd120f799192e93b0d9d04dcde8f348dc21f3 Reviewed-on: https://pdfium-review.googlesource.com/37931 Reviewed-by: Lei Zhang Commit-Queue: Tom Sepez --- testing/js_embedder_test.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'testing/js_embedder_test.cpp') diff --git a/testing/js_embedder_test.cpp b/testing/js_embedder_test.cpp index 1ca957b44f..9821a21166 100644 --- a/testing/js_embedder_test.cpp +++ b/testing/js_embedder_test.cpp @@ -15,15 +15,15 @@ JSEmbedderTest::~JSEmbedderTest() {} void JSEmbedderTest::SetUp() { v8::Isolate::CreateParams params; params.array_buffer_allocator = m_pArrayBufferAllocator.get(); - m_pIsolate = v8::Isolate::New(params); + m_pIsolate.reset(v8::Isolate::New(params)); - EmbedderTest::SetExternalIsolate(m_pIsolate); + EmbedderTest::SetExternalIsolate(isolate()); EmbedderTest::SetUp(); - v8::Isolate::Scope isolate_scope(m_pIsolate); - v8::HandleScope handle_scope(m_pIsolate); - FXJS_PerIsolateData::SetUp(m_pIsolate); - m_Engine = pdfium::MakeUnique(m_pIsolate); + v8::Isolate::Scope isolate_scope(isolate()); + v8::HandleScope handle_scope(isolate()); + FXJS_PerIsolateData::SetUp(isolate()); + m_Engine = pdfium::MakeUnique(isolate()); m_Engine->InitializeEngine(); } @@ -31,12 +31,7 @@ void JSEmbedderTest::TearDown() { m_Engine->ReleaseEngine(); m_Engine.reset(); EmbedderTest::TearDown(); - m_pIsolate->Dispose(); - m_pIsolate = nullptr; -} - -v8::Isolate* JSEmbedderTest::isolate() { - return m_pIsolate; + m_pIsolate.reset(); } v8::Local JSEmbedderTest::GetV8Context() { -- cgit v1.2.3