Index: fpdfsdk/jsapi/include/fxjs_v8.h |
diff --git a/fpdfsdk/jsapi/include/fxjs_v8.h b/fpdfsdk/jsapi/include/fxjs_v8.h |
index 60389d2e1ae09f7b989b1f1fda3a459fa5bebc6f..3ae1d5e0ca9ac91b5424e9f37accfdc556077a49 100644 |
--- a/fpdfsdk/jsapi/include/fxjs_v8.h |
+++ b/fpdfsdk/jsapi/include/fxjs_v8.h |
@@ -81,11 +81,11 @@ class V8TemplateMap { |
public: |
typedef v8::GlobalValueMap<void*, v8::Object, V8TemplateMapTraits> MapType; |
- void set(void* key, v8::Local<v8::Object> handle) { |
- ASSERT(!m_map.Contains(key)); |
- m_map.Set(key, handle); |
- } |
- explicit V8TemplateMap(v8::Isolate* isolate) : m_map(isolate) {} |
+ explicit V8TemplateMap(v8::Isolate* isolate); |
+ ~V8TemplateMap(); |
+ |
+ void set(void* key, v8::Local<v8::Object> handle); |
+ |
friend class V8TemplateMapTraits; |
private: |
@@ -94,8 +94,11 @@ class V8TemplateMap { |
class FXJS_PerIsolateData { |
public: |
+ ~FXJS_PerIsolateData(); |
+ |
static void SetUp(v8::Isolate* pIsolate); |
static FXJS_PerIsolateData* Get(v8::Isolate* pIsolate); |
+ |
void CreateDynamicObjsMap(v8::Isolate* pIsolate) { |
if (!m_pDynamicObjsMap) |
m_pDynamicObjsMap = new V8TemplateMap(pIsolate); |
@@ -112,12 +115,7 @@ class FXJS_PerIsolateData { |
V8TemplateMap* m_pDynamicObjsMap; |
protected: |
-#ifndef PDF_ENABLE_XFA |
- FXJS_PerIsolateData() : m_pDynamicObjsMap(nullptr) {} |
-#else // PDF_ENABLE_XFA |
- FXJS_PerIsolateData() |
- : m_pFXJSERuntimeData(nullptr), m_pDynamicObjsMap(nullptr) {} |
-#endif // PDF_ENABLE_XFA |
+ FXJS_PerIsolateData(); |
}; |
extern const wchar_t kFXJSValueNameString[]; |