diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-06-04 19:44:37 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-06-04 19:44:37 +0000 |
commit | 36aae4fc09a353e01738bf0bbc302a21ba21ed07 (patch) | |
tree | 2d9d1cbe2f7c8eeed7aff9fc63a8f8300a25d6b7 /fxjs/cjs_object.cpp | |
parent | 9d3fb11a985a8f2aefbf361c0030c7bce2248b8e (diff) | |
download | pdfium-36aae4fc09a353e01738bf0bbc302a21ba21ed07.tar.xz |
Make CJS_Objects track CJS_Runtime (and hence the document itself)
Precursor to removing some more v8::Context slot dependency.
There's a cost to maintaining the set of observers, but since these
objects are tied to V8 lifetimes, not C++ lifetimes, we want to be
very wary of the document going away unexpectedly.
Change-Id: I579f58a460aa50b88cb861227c9aca9a8a83ce12
Reviewed-on: https://pdfium-review.googlesource.com/33471
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fxjs/cjs_object.cpp')
-rw-r--r-- | fxjs/cjs_object.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fxjs/cjs_object.cpp b/fxjs/cjs_object.cpp index a1e5ce1c94..62fa42154d 100644 --- a/fxjs/cjs_object.cpp +++ b/fxjs/cjs_object.cpp @@ -40,11 +40,11 @@ void CJS_Object::DefineMethods(CFXJS_Engine* pEngine, pEngine->DefineObjMethod(objId, methods[i].pName, methods[i].pMethodCall); } -CJS_Object::CJS_Object(v8::Local<v8::Object> pObject) { - m_pIsolate = pObject->GetIsolate(); - m_pV8Object.Reset(m_pIsolate, pObject); -} +CJS_Object::CJS_Object(v8::Local<v8::Object> pObject, CJS_Runtime* pRuntime) + : m_pIsolate(pObject->GetIsolate()), + m_pV8Object(GetIsolate(), pObject), + m_pRuntime(pRuntime) {} CJS_Object::~CJS_Object() {} -void CJS_Object::InitInstance(IJS_Runtime* pIRuntime) {} +void CJS_Object::InitInstance() {} |