diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-02-05 15:13:09 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-02-05 15:13:09 +0000 |
commit | b5b7972cdc064498b45d230225aa92fee1acc7b6 (patch) | |
tree | 544ffaf0db87f3538a0d3caee2640c55483f970d | |
parent | b1d7872faacbd37c03eacc1e86214904db8f658f (diff) | |
download | pdfium-b5b7972cdc064498b45d230225aa92fee1acc7b6.tar.xz |
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 <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
-rw-r--r-- | fxjs/cjs_v8.cpp | 8 | ||||
-rw-r--r-- | fxjs/cjs_v8.h | 5 | ||||
-rw-r--r-- | fxjs/fxjs_v8.cpp | 11 | ||||
-rw-r--r-- | 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<v8::Array> CJS_V8::ToArray(v8::Local<v8::Value> pValue) { return v8::Local<v8::Array>::Cast(pValue->ToObject(context).ToLocalChecked()); } -void CJS_V8::SetConstArray(const WideString& name, v8::Local<v8::Array> array) { - m_ConstArrays[name] = v8::Global<v8::Array>(GetIsolate(), array); -} - -v8::Local<v8::Array> CJS_V8::GetConstArray(const WideString& name) { - return v8::Local<v8::Array>::New(GetIsolate(), m_ConstArrays[name]); -} - #ifdef PDF_ENABLE_XFA CXFA_Object* CJS_V8::ToXFAObject(v8::Local<v8::Value> 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<v8::Value> pValue); - void SetConstArray(const WideString& name, v8::Local<v8::Array> array); - v8::Local<v8::Array> GetConstArray(const WideString& name); - // Objects. std::vector<WideString> GetObjectPropertyNames(v8::Local<v8::Object> pObj); v8::Local<v8::Value> GetObjectProperty(v8::Local<v8::Object> 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<WideString, v8::Global<v8::Array>> 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<v8::Object> pObj) { } return pData ? pData->m_pPrivate : nullptr; } + +v8::Local<v8::Array> CFXJS_Engine::GetConstArray(const WideString& name) { + return v8::Local<v8::Array>::New(GetIsolate(), m_ConstArrays[name]); +} + +void CFXJS_Engine::SetConstArray(const WideString& name, + v8::Local<v8::Array> array) { + m_ConstArrays[name] = v8::Global<v8::Array>(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<v8::Context>::New(GetIsolate(), m_V8Context); } + v8::Local<v8::Array> GetConstArray(const WideString& name); + void SetConstArray(const WideString& name, v8::Local<v8::Array> array); + protected: CFXJS_Engine(); private: v8::Global<v8::Context> m_V8Context; std::vector<v8::Global<v8::Object>*> m_StaticObjects; + std::map<WideString, v8::Global<v8::Array>> m_ConstArrays; }; #endif // FXJS_FXJS_V8_H_ |