Make CJX_Object and its subclasses be garbage collected.

Unfortunately, this causes a nearly-identical change to each of the
numerous CFXA_Object subclasses, which was partially automated but
required some IWYU and argument naming adjustments.

Bug: pdfium:1563
Change-Id: Ie107b0b3b9ca628b65bfd14085a08061fbd1014b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/73690
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fxjs/xfa/cjx_extras.h b/fxjs/xfa/cjx_extras.h
index 0723575..c98d2fb 100644
--- a/fxjs/xfa/cjx_extras.h
+++ b/fxjs/xfa/cjx_extras.h
@@ -14,7 +14,7 @@
 
 class CJX_Extras final : public CJX_Node {
  public:
-  explicit CJX_Extras(CXFA_Extras* node);
+  CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED;
   ~CJX_Extras() override;
 
   // CJX_Object:
@@ -23,6 +23,8 @@
   JSE_PROP(type);
 
  private:
+  explicit CJX_Extras(CXFA_Extras* node);
+
   using Type__ = CJX_Extras;
   using ParentType__ = CJX_Node;