From 36aae4fc09a353e01738bf0bbc302a21ba21ed07 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 4 Jun 2018 19:44:37 +0000 Subject: 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 Reviewed-by: dsinclair --- fxjs/cjs_field.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'fxjs/cjs_field.cpp') diff --git a/fxjs/cjs_field.cpp b/fxjs/cjs_field.cpp index 1e9e389d84..b9bc8cbdc9 100644 --- a/fxjs/cjs_field.cpp +++ b/fxjs/cjs_field.cpp @@ -171,18 +171,11 @@ void CJS_Field::DefineJSObjects(CFXJS_Engine* pEngine) { DefineMethods(pEngine, ObjDefnID, MethodSpecs, FX_ArraySize(MethodSpecs)); } -CJS_Field::CJS_Field(v8::Local pObject) - : CJS_Object(pObject), - m_pJSDoc(nullptr), - m_pFormFillEnv(nullptr), - m_nFormControlIndex(-1), - m_bCanSet(false), - m_bDelay(false) {} +CJS_Field::CJS_Field(v8::Local pObject, CJS_Runtime* pRuntime) + : CJS_Object(pObject, pRuntime) {} CJS_Field::~CJS_Field() = default; -void CJS_Field::InitInstance(IJS_Runtime* pIRuntime) {} - // note: iControlNo = -1, means not a widget. void CJS_Field::ParseFieldName(const std::wstring& strFieldNameParsed, std::wstring& strFieldName, -- cgit v1.2.3