summaryrefslogtreecommitdiff
path: root/fpdfsdk/src/javascript/JS_Runtime.h
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2016-03-04 13:43:46 -0800
committerTom Sepez <tsepez@chromium.org>2016-03-04 13:43:46 -0800
commit297b515e3d53095e36991480a194b54ce887757b (patch)
treeb9b6be50cd9264f18df5264fb5fabe3c7e502ba0 /fpdfsdk/src/javascript/JS_Runtime.h
parentc91f42a7ec3fdc57c76a9b175914ecfbd24a9a03 (diff)
downloadpdfium-297b515e3d53095e36991480a194b54ce887757b.tar.xz
Re-land "Only place primitive objects on the V8 global template."
This reverts commit 1a35d55dd6b0d1ea1918e2d6a6c25faf599ba168. Prevent handles from being destructed after v8 is gone. BUG=pdfium:419 R=ochang@chromium.org Review URL: https://codereview.chromium.org/1761073006 .
Diffstat (limited to 'fpdfsdk/src/javascript/JS_Runtime.h')
-rw-r--r--fpdfsdk/src/javascript/JS_Runtime.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/fpdfsdk/src/javascript/JS_Runtime.h b/fpdfsdk/src/javascript/JS_Runtime.h
index 6fc3894f44..8215b88994 100644
--- a/fpdfsdk/src/javascript/JS_Runtime.h
+++ b/fpdfsdk/src/javascript/JS_Runtime.h
@@ -58,6 +58,9 @@ class CJS_Runtime : public IJS_Runtime {
v8::Isolate* GetIsolate() const { return m_isolate; }
v8::Local<v8::Context> NewJSContext();
+ void SetConstArray(const CFX_WideString& name, v8::Local<v8::Array> array);
+ v8::Local<v8::Array> GetConstArray(const CFX_WideString& name);
+
#ifdef PDF_ENABLE_XFA
FX_BOOL GetHValueByName(const CFX_ByteStringC& utf8Name,
FXJSE_HVALUE hValue) override;
@@ -80,6 +83,7 @@ class CJS_Runtime : public IJS_Runtime {
bool m_isolateManaged;
v8::Global<v8::Context> m_context;
std::vector<v8::Global<v8::Object>*> m_StaticObjects;
+ std::map<CFX_WideString, v8::Global<v8::Array>> m_ConstArrays;
std::set<Observer*> m_observers;
};