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>
diff --git a/fxjs/cjs_global.cpp b/fxjs/cjs_global.cpp
index 282b262..2a91bdd 100644
--- a/fxjs/cjs_global.cpp
+++ b/fxjs/cjs_global.cpp
@@ -205,16 +205,16 @@
   DefineAllProperties(pEngine);
 }
 
-CJS_Global::CJS_Global(v8::Local<v8::Object> pObject)
-    : CJS_Object(pObject), m_pFormFillEnv(nullptr) {}
+CJS_Global::CJS_Global(v8::Local<v8::Object> pObject, CJS_Runtime* pRuntime)
+    : CJS_Object(pObject, pRuntime) {}
 
 CJS_Global::~CJS_Global() {
   DestroyGlobalPersisitentVariables();
   m_pGlobalData->Release();
 }
 
-void CJS_Global::InitInstance(IJS_Runtime* pIRuntime) {
-  Initial(pIRuntime->GetFormFillEnv());
+void CJS_Global::InitInstance() {
+  Initial(GetRuntime()->GetFormFillEnv());
 }
 
 void CJS_Global::Initial(CPDFSDK_FormFillEnvironment* pFormFillEnv) {