summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fpdfsdk/src/javascript/JS_Runtime.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/fpdfsdk/src/javascript/JS_Runtime.cpp b/fpdfsdk/src/javascript/JS_Runtime.cpp
index 1e1486df5c..7ce8a5343b 100644
--- a/fpdfsdk/src/javascript/JS_Runtime.cpp
+++ b/fpdfsdk/src/javascript/JS_Runtime.cpp
@@ -63,7 +63,13 @@ CJS_Runtime::~CJS_Runtime() {
delete m_ContextArray.GetAt(i);
m_ContextArray.RemoveAll();
- FXJS_ReleaseRuntime(GetIsolate(), m_context);
+
+ // TODO(raymes): Currently we're freeing per-isolate data everytime a
+ // document is destroyed even though it may be in use by other documents. For
+ // now we leak the per-isolate data (when m_isolateManaged is false) until
+ // crbug.com/531339 is fixed.
+ if (m_isolateManaged)
+ FXJS_ReleaseRuntime(GetIsolate(), m_context);
m_pApp = NULL;
m_pDocument = NULL;