From b5b7972cdc064498b45d230225aa92fee1acc7b6 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 5 Feb 2018 15:13:09 +0000 Subject: Move const arrays to CFXJS_Engine from CJS_V8 CJS_V8 is shared by both the non-xfa and xfa-side JS engines, but the const arrays are only used by the non-xfa side. Change-Id: Ic5ed8238df1a14dde8a4463b2388b4a7a923e392 Reviewed-on: https://pdfium-review.googlesource.com/25250 Commit-Queue: dsinclair Reviewed-by: dsinclair --- fxjs/cjs_v8.cpp | 8 -------- fxjs/cjs_v8.h | 5 ----- fxjs/fxjs_v8.cpp | 11 ++++++++++- fxjs/fxjs_v8.h | 4 ++++ 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/fxjs/cjs_v8.cpp b/fxjs/cjs_v8.cpp index b4f7fb1ed2..7855813cba 100644 --- a/fxjs/cjs_v8.cpp +++ b/fxjs/cjs_v8.cpp @@ -196,14 +196,6 @@ v8::Local CJS_V8::ToArray(v8::Local pValue) { return v8::Local::Cast(pValue->ToObject(context).ToLocalChecked()); } -void CJS_V8::SetConstArray(const WideString& name, v8::Local array) { - m_ConstArrays[name] = v8::Global(GetIsolate(), array); -} - -v8::Local CJS_V8::GetConstArray(const WideString& name) { - return v8::Local::New(GetIsolate(), m_ConstArrays[name]); -} - #ifdef PDF_ENABLE_XFA CXFA_Object* CJS_V8::ToXFAObject(v8::Local obj) { ASSERT(!obj.IsEmpty()); diff --git a/fxjs/cjs_v8.h b/fxjs/cjs_v8.h index 1a8d15b500..135930902e 100644 --- a/fxjs/cjs_v8.h +++ b/fxjs/cjs_v8.h @@ -60,9 +60,6 @@ class CJS_V8 { unsigned index, v8::Local pValue); - void SetConstArray(const WideString& name, v8::Local array); - v8::Local GetConstArray(const WideString& name); - // Objects. std::vector GetObjectPropertyNames(v8::Local pObj); v8::Local GetObjectProperty(v8::Local pObj, @@ -73,11 +70,9 @@ class CJS_V8 { protected: void SetIsolate(v8::Isolate* pIsolate) { m_isolate = pIsolate; } - void ClearConstArray() { m_ConstArrays.clear(); } private: v8::Isolate* m_isolate; - std::map> m_ConstArrays; }; #endif // FXJS_CJS_V8_H_ diff --git a/fxjs/fxjs_v8.cpp b/fxjs/fxjs_v8.cpp index c9d227cc47..f1555b2e96 100644 --- a/fxjs/fxjs_v8.cpp +++ b/fxjs/fxjs_v8.cpp @@ -436,7 +436,7 @@ void CFXJS_Engine::ReleaseEngine() { if (!pData) return; - ClearConstArray(); + m_ConstArrays.clear(); int maxID = CFXJS_ObjDefinition::MaxID(GetIsolate()); for (int i = 0; i < maxID; ++i) { @@ -561,3 +561,12 @@ void* CFXJS_Engine::GetObjectPrivate(v8::Local pObj) { } return pData ? pData->m_pPrivate : nullptr; } + +v8::Local CFXJS_Engine::GetConstArray(const WideString& name) { + return v8::Local::New(GetIsolate(), m_ConstArrays[name]); +} + +void CFXJS_Engine::SetConstArray(const WideString& name, + v8::Local array) { + m_ConstArrays[name] = v8::Global(GetIsolate(), array); +} diff --git a/fxjs/fxjs_v8.h b/fxjs/fxjs_v8.h index 6878bcd41d..4e6b248b5e 100644 --- a/fxjs/fxjs_v8.h +++ b/fxjs/fxjs_v8.h @@ -189,12 +189,16 @@ class CFXJS_Engine : public CJS_V8 { return v8::Local::New(GetIsolate(), m_V8Context); } + v8::Local GetConstArray(const WideString& name); + void SetConstArray(const WideString& name, v8::Local array); + protected: CFXJS_Engine(); private: v8::Global m_V8Context; std::vector*> m_StaticObjects; + std::map> m_ConstArrays; }; #endif // FXJS_FXJS_V8_H_ -- cgit v1.2.3