summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-02-05 15:13:09 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-02-05 15:13:09 +0000
commitb5b7972cdc064498b45d230225aa92fee1acc7b6 (patch)
tree544ffaf0db87f3538a0d3caee2640c55483f970d
parentb1d7872faacbd37c03eacc1e86214904db8f658f (diff)
downloadpdfium-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.cpp8
-rw-r--r--fxjs/cjs_v8.h5
-rw-r--r--fxjs/fxjs_v8.cpp11
-rw-r--r--fxjs/fxjs_v8.h4
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_