Leak per-isolate data in pdfium
authorRaymes Khoury <raymes@chromium.org>
Wed, 30 Sep 2015 09:46:41 +0000 (11:46 +0200)
committerJochen Eisinger <jochen@chromium.org>
Wed, 30 Sep 2015 09:46:41 +0000 (11:46 +0200)
Right now 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 until crbug.com/531339 is fixed.

BUG=531339
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/1372353002 .

Patch from Raymes Khoury <raymes@chromium.org>.

fpdfsdk/src/javascript/JS_Runtime.cpp

index 1e1486d..7ce8a53 100644 (file)
@@ -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;