diff --git a/BUILD.gn b/BUILD.gn
index 576fe2a..85e819f 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1285,13 +1285,13 @@
       "fxjs/cjs_util.h",
       "fxjs/cjs_zoomtype.cpp",
       "fxjs/cjs_zoomtype.h",
-      "fxjs/cjx_define.h",
       "fxjs/global_timer.cpp",
       "fxjs/global_timer.h",
       "fxjs/js_define.cpp",
       "fxjs/js_define.h",
       "fxjs/js_resources.cpp",
       "fxjs/js_resources.h",
+      "fxjs/jse_define.h",
     ]
     deps += [
       ":fxcrt",
diff --git a/fxjs/cjx_define.h b/fxjs/jse_define.h
similarity index 87%
rename from fxjs/cjx_define.h
rename to fxjs/jse_define.h
index bff624f..ddc9d59 100644
--- a/fxjs/cjx_define.h
+++ b/fxjs/jse_define.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef FXJS_CJX_DEFINE_H_
-#define FXJS_CJX_DEFINE_H_
+#ifndef FXJS_JSE_DEFINE_H_
+#define FXJS_JSE_DEFINE_H_
 
 #include <vector>
 
@@ -21,7 +21,7 @@
   return (node->*M)(runtime, params);
 }
 
-#define JS_METHOD(method_name, class_name)                 \
+#define JSE_METHOD(method_name, class_name)                \
   static CJS_Return method_name##_static(                  \
       CJX_Object* node, CFX_V8* runtime,                   \
       const std::vector<v8::Local<v8::Value>>& params) {   \
@@ -31,7 +31,7 @@
   CJS_Return method_name(CFX_V8* runtime,                  \
                          const std::vector<v8::Local<v8::Value>>& params)
 
-#define JS_PROP(prop_name) \
+#define JSE_PROP(prop_name) \
   void prop_name(CFXJSE_Value* pValue, bool bSetting, XFA_Attribute eAttribute)
 
-#endif  // FXJS_CJX_DEFINE_H_
+#endif  // FXJS_JSE_DEFINE_H_
diff --git a/fxjs/xfa/cjx_arc.h b/fxjs/xfa/cjx_arc.h
index a9a6bb6..2b62884 100644
--- a/fxjs/xfa/cjx_arc.h
+++ b/fxjs/xfa/cjx_arc.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_ARC_H_
 #define FXJS_XFA_CJX_ARC_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Arc;
@@ -16,12 +17,12 @@
   explicit CJX_Arc(CXFA_Arc* node);
   ~CJX_Arc() override;
 
-  JS_PROP(circular);
-  JS_PROP(hand);
-  JS_PROP(startAngle);
-  JS_PROP(sweepAngle);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(circular);
+  JSE_PROP(hand);
+  JSE_PROP(startAngle);
+  JSE_PROP(sweepAngle);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ARC_H_
diff --git a/fxjs/xfa/cjx_area.h b/fxjs/xfa/cjx_area.h
index 94083b3..2814231 100644
--- a/fxjs/xfa/cjx_area.h
+++ b/fxjs/xfa/cjx_area.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_AREA_H_
 #define FXJS_XFA_CJX_AREA_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_Area;
@@ -16,12 +17,12 @@
   explicit CJX_Area(CXFA_Area* node);
   ~CJX_Area() override;
 
-  JS_PROP(colSpan);
-  JS_PROP(relevant);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(x);
-  JS_PROP(y);
+  JSE_PROP(colSpan);
+  JSE_PROP(relevant);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(x);
+  JSE_PROP(y);
 };
 
 #endif  // FXJS_XFA_CJX_AREA_H_
diff --git a/fxjs/xfa/cjx_assist.h b/fxjs/xfa/cjx_assist.h
index 9e7c9c5..c150a51 100644
--- a/fxjs/xfa/cjx_assist.h
+++ b/fxjs/xfa/cjx_assist.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_ASSIST_H_
 #define FXJS_XFA_CJX_ASSIST_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Assist;
@@ -16,9 +17,9 @@
   explicit CJX_Assist(CXFA_Assist* node);
   ~CJX_Assist() override;
 
-  JS_PROP(role);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(role);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ASSIST_H_
diff --git a/fxjs/xfa/cjx_barcode.h b/fxjs/xfa/cjx_barcode.h
index f5d8881..3901bd6 100644
--- a/fxjs/xfa/cjx_barcode.h
+++ b/fxjs/xfa/cjx_barcode.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BARCODE_H_
 #define FXJS_XFA_CJX_BARCODE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Barcode;
@@ -16,26 +17,26 @@
   explicit CJX_Barcode(CXFA_Barcode* arc);
   ~CJX_Barcode() override;
 
-  JS_PROP(charEncoding);
-  JS_PROP(checksum);
-  JS_PROP(dataColumnCount);
-  JS_PROP(dataLength);
-  JS_PROP(dataPrep);
-  JS_PROP(dataRowCount);
-  JS_PROP(endChar);
-  JS_PROP(errorCorrectionLevel);
-  JS_PROP(moduleHeight);
-  JS_PROP(moduleWidth);
-  JS_PROP(printCheckDigit);
-  JS_PROP(rowColumnRatio);
-  JS_PROP(startChar);
-  JS_PROP(textLocation);
-  JS_PROP(truncate);
-  JS_PROP(type);
-  JS_PROP(upsMode);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(wideNarrowRatio);
+  JSE_PROP(charEncoding);
+  JSE_PROP(checksum);
+  JSE_PROP(dataColumnCount);
+  JSE_PROP(dataLength);
+  JSE_PROP(dataPrep);
+  JSE_PROP(dataRowCount);
+  JSE_PROP(endChar);
+  JSE_PROP(errorCorrectionLevel);
+  JSE_PROP(moduleHeight);
+  JSE_PROP(moduleWidth);
+  JSE_PROP(printCheckDigit);
+  JSE_PROP(rowColumnRatio);
+  JSE_PROP(startChar);
+  JSE_PROP(textLocation);
+  JSE_PROP(truncate);
+  JSE_PROP(type);
+  JSE_PROP(upsMode);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(wideNarrowRatio);
 };
 
 #endif  // FXJS_XFA_CJX_BARCODE_H_
diff --git a/fxjs/xfa/cjx_bind.h b/fxjs/xfa/cjx_bind.h
index 9fc8ab8..ab22143 100644
--- a/fxjs/xfa/cjx_bind.h
+++ b/fxjs/xfa/cjx_bind.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BIND_H_
 #define FXJS_XFA_CJX_BIND_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Bind;
@@ -16,12 +17,12 @@
   explicit CJX_Bind(CXFA_Bind* node);
   ~CJX_Bind() override;
 
-  JS_PROP(contentType);
-  JS_PROP(match);
-  JS_PROP(ref);
-  JS_PROP(transferEncoding);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(contentType);
+  JSE_PROP(match);
+  JSE_PROP(ref);
+  JSE_PROP(transferEncoding);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BIND_H_
diff --git a/fxjs/xfa/cjx_binditems.h b/fxjs/xfa/cjx_binditems.h
index e47b3fa..1b27d44 100644
--- a/fxjs/xfa/cjx_binditems.h
+++ b/fxjs/xfa/cjx_binditems.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BINDITEMS_H_
 #define FXJS_XFA_CJX_BINDITEMS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_BindItems;
@@ -16,9 +17,9 @@
   explicit CJX_BindItems(CXFA_BindItems* node);
   ~CJX_BindItems() override;
 
-  JS_PROP(connection);
-  JS_PROP(labelRef);
-  JS_PROP(valueRef);
+  JSE_PROP(connection);
+  JSE_PROP(labelRef);
+  JSE_PROP(valueRef);
 };
 
 #endif  // FXJS_XFA_CJX_BINDITEMS_H_
diff --git a/fxjs/xfa/cjx_bookend.h b/fxjs/xfa/cjx_bookend.h
index 0165091..fa3f1ca 100644
--- a/fxjs/xfa/cjx_bookend.h
+++ b/fxjs/xfa/cjx_bookend.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BOOKEND_H_
 #define FXJS_XFA_CJX_BOOKEND_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Bookend;
@@ -16,10 +17,10 @@
   explicit CJX_Bookend(CXFA_Bookend* node);
   ~CJX_Bookend() override;
 
-  JS_PROP(leader);
-  JS_PROP(trailer);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(leader);
+  JSE_PROP(trailer);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BOOKEND_H_
diff --git a/fxjs/xfa/cjx_boolean.h b/fxjs/xfa/cjx_boolean.h
index c90291a..4242c55 100644
--- a/fxjs/xfa/cjx_boolean.h
+++ b/fxjs/xfa/cjx_boolean.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BOOLEAN_H_
 #define FXJS_XFA_CJX_BOOLEAN_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_content.h"
 
 class CXFA_Boolean;
@@ -16,10 +17,10 @@
   explicit CJX_Boolean(CXFA_Boolean* node);
   ~CJX_Boolean() override;
 
-  JS_PROP(use);
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(use);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_BOOLEAN_H_
diff --git a/fxjs/xfa/cjx_border.h b/fxjs/xfa/cjx_border.h
index b95ca4c..abeb577 100644
--- a/fxjs/xfa/cjx_border.h
+++ b/fxjs/xfa/cjx_border.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BORDER_H_
 #define FXJS_XFA_CJX_BORDER_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Border;
@@ -16,12 +17,12 @@
   explicit CJX_Border(CXFA_Border* node);
   ~CJX_Border() override;
 
-  JS_PROP(breakValue); /* break */
-  JS_PROP(hand);
-  JS_PROP(presence);
-  JS_PROP(relevant);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(breakValue); /* break */
+  JSE_PROP(hand);
+  JSE_PROP(presence);
+  JSE_PROP(relevant);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BORDER_H_
diff --git a/fxjs/xfa/cjx_break.h b/fxjs/xfa/cjx_break.h
index 86cb249..c9090d9 100644
--- a/fxjs/xfa/cjx_break.h
+++ b/fxjs/xfa/cjx_break.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BREAK_H_
 #define FXJS_XFA_CJX_BREAK_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Break;
@@ -16,18 +17,18 @@
   explicit CJX_Break(CXFA_Break* node);
   ~CJX_Break() override;
 
-  JS_PROP(after);
-  JS_PROP(afterTarget);
-  JS_PROP(before);
-  JS_PROP(beforeTarget);
-  JS_PROP(bookendLeader);
-  JS_PROP(bookendTrailer);
-  JS_PROP(overflowLeader);
-  JS_PROP(overflowTarget);
-  JS_PROP(overflowTrailer);
-  JS_PROP(startNew);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(after);
+  JSE_PROP(afterTarget);
+  JSE_PROP(before);
+  JSE_PROP(beforeTarget);
+  JSE_PROP(bookendLeader);
+  JSE_PROP(bookendTrailer);
+  JSE_PROP(overflowLeader);
+  JSE_PROP(overflowTarget);
+  JSE_PROP(overflowTrailer);
+  JSE_PROP(startNew);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BREAK_H_
diff --git a/fxjs/xfa/cjx_breakafter.h b/fxjs/xfa/cjx_breakafter.h
index aa1eccc..7028c51 100644
--- a/fxjs/xfa/cjx_breakafter.h
+++ b/fxjs/xfa/cjx_breakafter.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BREAKAFTER_H_
 #define FXJS_XFA_CJX_BREAKAFTER_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_BreakAfter;
@@ -16,13 +17,13 @@
   explicit CJX_BreakAfter(CXFA_BreakAfter* node);
   ~CJX_BreakAfter() override;
 
-  JS_PROP(leader);
-  JS_PROP(startNew);
-  JS_PROP(target);
-  JS_PROP(targetType);
-  JS_PROP(trailer);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(leader);
+  JSE_PROP(startNew);
+  JSE_PROP(target);
+  JSE_PROP(targetType);
+  JSE_PROP(trailer);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BREAKAFTER_H_
diff --git a/fxjs/xfa/cjx_breakbefore.h b/fxjs/xfa/cjx_breakbefore.h
index 3f8dbbb..b4251c9 100644
--- a/fxjs/xfa/cjx_breakbefore.h
+++ b/fxjs/xfa/cjx_breakbefore.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BREAKBEFORE_H_
 #define FXJS_XFA_CJX_BREAKBEFORE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_BreakBefore;
@@ -16,13 +17,13 @@
   explicit CJX_BreakBefore(CXFA_BreakBefore* node);
   ~CJX_BreakBefore() override;
 
-  JS_PROP(leader);
-  JS_PROP(startNew);
-  JS_PROP(target);
-  JS_PROP(targetType);
-  JS_PROP(trailer);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(leader);
+  JSE_PROP(startNew);
+  JSE_PROP(target);
+  JSE_PROP(targetType);
+  JSE_PROP(trailer);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BREAKBEFORE_H_
diff --git a/fxjs/xfa/cjx_button.h b/fxjs/xfa/cjx_button.h
index 3732aae..bf38aa4 100644
--- a/fxjs/xfa/cjx_button.h
+++ b/fxjs/xfa/cjx_button.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_BUTTON_H_
 #define FXJS_XFA_CJX_BUTTON_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Button;
@@ -16,9 +17,9 @@
   explicit CJX_Button(CXFA_Button* node);
   ~CJX_Button() override;
 
-  JS_PROP(highlight);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(highlight);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BUTTON_H_
diff --git a/fxjs/xfa/cjx_calculate.h b/fxjs/xfa/cjx_calculate.h
index 2410f1b..1b4c149 100644
--- a/fxjs/xfa/cjx_calculate.h
+++ b/fxjs/xfa/cjx_calculate.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CALCULATE_H_
 #define FXJS_XFA_CJX_CALCULATE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Calculate;
@@ -16,9 +17,9 @@
   explicit CJX_Calculate(CXFA_Calculate* node);
   ~CJX_Calculate() override;
 
-  JS_PROP(override);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(override);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CALCULATE_H_
diff --git a/fxjs/xfa/cjx_caption.h b/fxjs/xfa/cjx_caption.h
index 9af6915..d924147 100644
--- a/fxjs/xfa/cjx_caption.h
+++ b/fxjs/xfa/cjx_caption.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CAPTION_H_
 #define FXJS_XFA_CJX_CAPTION_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Caption;
@@ -16,11 +17,11 @@
   explicit CJX_Caption(CXFA_Caption* node);
   ~CJX_Caption() override;
 
-  JS_PROP(placement);
-  JS_PROP(presence);
-  JS_PROP(reserve);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(placement);
+  JSE_PROP(presence);
+  JSE_PROP(reserve);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CAPTION_H_
diff --git a/fxjs/xfa/cjx_certificate.h b/fxjs/xfa/cjx_certificate.h
index af62b91..8be791d 100644
--- a/fxjs/xfa/cjx_certificate.h
+++ b/fxjs/xfa/cjx_certificate.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CERTIFICATE_H_
 #define FXJS_XFA_CJX_CERTIFICATE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Certificate;
@@ -16,8 +17,8 @@
   explicit CJX_Certificate(CXFA_Certificate* node);
   ~CJX_Certificate() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CERTIFICATE_H_
diff --git a/fxjs/xfa/cjx_certificates.h b/fxjs/xfa/cjx_certificates.h
index 160d88d..42ce885 100644
--- a/fxjs/xfa/cjx_certificates.h
+++ b/fxjs/xfa/cjx_certificates.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CERTIFICATES_H_
 #define FXJS_XFA_CJX_CERTIFICATES_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Certificates;
@@ -16,11 +17,11 @@
   explicit CJX_Certificates(CXFA_Certificates* node);
   ~CJX_Certificates() override;
 
-  JS_PROP(credentialServerPolicy);
-  JS_PROP(url);
-  JS_PROP(urlPolicy);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(credentialServerPolicy);
+  JSE_PROP(url);
+  JSE_PROP(urlPolicy);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CERTIFICATES_H_
diff --git a/fxjs/xfa/cjx_checkbutton.h b/fxjs/xfa/cjx_checkbutton.h
index 18cca68..3b78d71 100644
--- a/fxjs/xfa/cjx_checkbutton.h
+++ b/fxjs/xfa/cjx_checkbutton.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CHECKBUTTON_H_
 #define FXJS_XFA_CJX_CHECKBUTTON_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_CheckButton;
@@ -16,12 +17,12 @@
   explicit CJX_CheckButton(CXFA_CheckButton* node);
   ~CJX_CheckButton() override;
 
-  JS_PROP(allowNeutral);
-  JS_PROP(mark);
-  JS_PROP(shape);
-  JS_PROP(size);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(allowNeutral);
+  JSE_PROP(mark);
+  JSE_PROP(shape);
+  JSE_PROP(size);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CHECKBUTTON_H_
diff --git a/fxjs/xfa/cjx_choicelist.h b/fxjs/xfa/cjx_choicelist.h
index 40336f2..3bf947c 100644
--- a/fxjs/xfa/cjx_choicelist.h
+++ b/fxjs/xfa/cjx_choicelist.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CHOICELIST_H_
 #define FXJS_XFA_CJX_CHOICELIST_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_ChoiceList;
@@ -16,11 +17,11 @@
   explicit CJX_ChoiceList(CXFA_ChoiceList* node);
   ~CJX_ChoiceList() override;
 
-  JS_PROP(commitOn);
-  JS_PROP(open);
-  JS_PROP(textEntry);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(commitOn);
+  JSE_PROP(open);
+  JSE_PROP(textEntry);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CHOICELIST_H_
diff --git a/fxjs/xfa/cjx_color.h b/fxjs/xfa/cjx_color.h
index c625753..e048aca 100644
--- a/fxjs/xfa/cjx_color.h
+++ b/fxjs/xfa/cjx_color.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_COLOR_H_
 #define FXJS_XFA_CJX_COLOR_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Color;
@@ -16,10 +17,10 @@
   explicit CJX_Color(CXFA_Color* node);
   ~CJX_Color() override;
 
-  JS_PROP(cSpace);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(cSpace);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_COLOR_H_
diff --git a/fxjs/xfa/cjx_comb.h b/fxjs/xfa/cjx_comb.h
index 1c8d631..abcf8c0 100644
--- a/fxjs/xfa/cjx_comb.h
+++ b/fxjs/xfa/cjx_comb.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_COMB_H_
 #define FXJS_XFA_CJX_COMB_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Comb;
@@ -16,9 +17,9 @@
   explicit CJX_Comb(CXFA_Comb* node);
   ~CJX_Comb() override;
 
-  JS_PROP(numberOfCells);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(numberOfCells);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_COMB_H_
diff --git a/fxjs/xfa/cjx_command.h b/fxjs/xfa/cjx_command.h
index c4605a3..e645baf 100644
--- a/fxjs/xfa/cjx_command.h
+++ b/fxjs/xfa/cjx_command.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_COMMAND_H_
 #define FXJS_XFA_CJX_COMMAND_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Command;
@@ -16,9 +17,9 @@
   explicit CJX_Command(CXFA_Command* node);
   ~CJX_Command() override;
 
-  JS_PROP(timeout);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(timeout);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_COMMAND_H_
diff --git a/fxjs/xfa/cjx_connect.h b/fxjs/xfa/cjx_connect.h
index 2c27917..77cee4f 100644
--- a/fxjs/xfa/cjx_connect.h
+++ b/fxjs/xfa/cjx_connect.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CONNECT_H_
 #define FXJS_XFA_CJX_CONNECT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Connect;
@@ -16,13 +17,13 @@
   explicit CJX_Connect(CXFA_Connect* node);
   ~CJX_Connect() override;
 
-  JS_PROP(connection);
-  JS_PROP(delayedOpen);
-  JS_PROP(ref);
-  JS_PROP(timeout);
-  JS_PROP(usage);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(connection);
+  JSE_PROP(delayedOpen);
+  JSE_PROP(ref);
+  JSE_PROP(timeout);
+  JSE_PROP(usage);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CONNECT_H_
diff --git a/fxjs/xfa/cjx_connectstring.h b/fxjs/xfa/cjx_connectstring.h
index 969c92b..f40a867 100644
--- a/fxjs/xfa/cjx_connectstring.h
+++ b/fxjs/xfa/cjx_connectstring.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CONNECTSTRING_H_
 #define FXJS_XFA_CJX_CONNECTSTRING_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_ConnectString;
@@ -16,8 +17,8 @@
   explicit CJX_ConnectString(CXFA_ConnectString* node);
   ~CJX_ConnectString() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CONNECTSTRING_H_
diff --git a/fxjs/xfa/cjx_container.h b/fxjs/xfa/cjx_container.h
index e116358..a35c8db 100644
--- a/fxjs/xfa/cjx_container.h
+++ b/fxjs/xfa/cjx_container.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_CONTAINER_H_
 #define FXJS_XFA_CJX_CONTAINER_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Node;
@@ -17,8 +17,8 @@
   explicit CJX_Container(CXFA_Node* node);
   ~CJX_Container() override;
 
-  JS_METHOD(getDelta, CJX_Container);
-  JS_METHOD(getDeltas, CJX_Container);
+  JSE_METHOD(getDelta, CJX_Container);
+  JSE_METHOD(getDeltas, CJX_Container);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_content.h b/fxjs/xfa/cjx_content.h
index 351728e..5976b09 100644
--- a/fxjs/xfa/cjx_content.h
+++ b/fxjs/xfa/cjx_content.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_CONTENT_H_
 #define FXJS_XFA_CJX_CONTENT_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 
 class CXFA_Content;
diff --git a/fxjs/xfa/cjx_contentarea.h b/fxjs/xfa/cjx_contentarea.h
index d97e108..aeed6b6 100644
--- a/fxjs/xfa/cjx_contentarea.h
+++ b/fxjs/xfa/cjx_contentarea.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CONTENTAREA_H_
 #define FXJS_XFA_CJX_CONTENTAREA_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_ContentArea;
@@ -16,11 +17,11 @@
   explicit CJX_ContentArea(CXFA_ContentArea* node);
   ~CJX_ContentArea() override;
 
-  JS_PROP(relevant);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(x);
-  JS_PROP(y);
+  JSE_PROP(relevant);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(x);
+  JSE_PROP(y);
 };
 
 #endif  // FXJS_XFA_CJX_CONTENTAREA_H_
diff --git a/fxjs/xfa/cjx_corner.h b/fxjs/xfa/cjx_corner.h
index 83251a5..8db2524 100644
--- a/fxjs/xfa/cjx_corner.h
+++ b/fxjs/xfa/cjx_corner.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_CORNER_H_
 #define FXJS_XFA_CJX_CORNER_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Corner;
@@ -16,14 +17,14 @@
   explicit CJX_Corner(CXFA_Corner* node);
   ~CJX_Corner() override;
 
-  JS_PROP(inverted);
-  JS_PROP(join);
-  JS_PROP(presence);
-  JS_PROP(radius);
-  JS_PROP(stroke);
-  JS_PROP(thickness);
-  JS_PROP(usehref);
-  JS_PROP(use);
+  JSE_PROP(inverted);
+  JSE_PROP(join);
+  JSE_PROP(presence);
+  JSE_PROP(radius);
+  JSE_PROP(stroke);
+  JSE_PROP(thickness);
+  JSE_PROP(usehref);
+  JSE_PROP(use);
 };
 
 #endif  // FXJS_XFA_CJX_CORNER_H_
diff --git a/fxjs/xfa/cjx_datavalue.h b/fxjs/xfa/cjx_datavalue.h
index 16e8ed4..00bf5cf 100644
--- a/fxjs/xfa/cjx_datavalue.h
+++ b/fxjs/xfa/cjx_datavalue.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DATAVALUE_H_
 #define FXJS_XFA_CJX_DATAVALUE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_DataValue;
@@ -16,11 +17,11 @@
   explicit CJX_DataValue(CXFA_DataValue* node);
   ~CJX_DataValue() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(contains);
-  JS_PROP(contentType);
-  JS_PROP(isNull);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(contains);
+  JSE_PROP(contentType);
+  JSE_PROP(isNull);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_DATAVALUE_H_
diff --git a/fxjs/xfa/cjx_datawindow.h b/fxjs/xfa/cjx_datawindow.h
index 0541ef1..d8e697d 100644
--- a/fxjs/xfa/cjx_datawindow.h
+++ b/fxjs/xfa/cjx_datawindow.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_DATAWINDOW_H_
 #define FXJS_XFA_CJX_DATAWINDOW_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 #include "xfa/fxfa/fxfa_basic.h"
 
@@ -19,15 +19,15 @@
   explicit CJX_DataWindow(CScript_DataWindow* window);
   ~CJX_DataWindow() override;
 
-  JS_METHOD(gotoRecord, CJX_DataWindow);
-  JS_METHOD(isRecordGroup, CJX_DataWindow);
-  JS_METHOD(moveCurrentRecord, CJX_DataWindow);
-  JS_METHOD(record, CJX_DataWindow);
+  JSE_METHOD(gotoRecord, CJX_DataWindow);
+  JSE_METHOD(isRecordGroup, CJX_DataWindow);
+  JSE_METHOD(moveCurrentRecord, CJX_DataWindow);
+  JSE_METHOD(record, CJX_DataWindow);
 
-  JS_PROP(currentRecordNumber);
-  JS_PROP(isDefined);
-  JS_PROP(recordsAfter);
-  JS_PROP(recordsBefore);
+  JSE_PROP(currentRecordNumber);
+  JSE_PROP(isDefined);
+  JSE_PROP(recordsAfter);
+  JSE_PROP(recordsBefore);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_date.h b/fxjs/xfa/cjx_date.h
index 96dfd0e..c788937 100644
--- a/fxjs/xfa/cjx_date.h
+++ b/fxjs/xfa/cjx_date.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DATE_H_
 #define FXJS_XFA_CJX_DATE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_content.h"
 
 class CXFA_Date;
@@ -16,10 +17,10 @@
   explicit CJX_Date(CXFA_Date* node);
   ~CJX_Date() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_DATE_H_
diff --git a/fxjs/xfa/cjx_datetime.h b/fxjs/xfa/cjx_datetime.h
index 9cf7d2f..1079660 100644
--- a/fxjs/xfa/cjx_datetime.h
+++ b/fxjs/xfa/cjx_datetime.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DATETIME_H_
 #define FXJS_XFA_CJX_DATETIME_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_DateTime;
@@ -16,10 +17,10 @@
   explicit CJX_DateTime(CXFA_DateTime* node);
   ~CJX_DateTime() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_DATETIME_H_
diff --git a/fxjs/xfa/cjx_datetimeedit.h b/fxjs/xfa/cjx_datetimeedit.h
index 067c6bb..d90a4cf 100644
--- a/fxjs/xfa/cjx_datetimeedit.h
+++ b/fxjs/xfa/cjx_datetimeedit.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DATETIMEEDIT_H_
 #define FXJS_XFA_CJX_DATETIMEEDIT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_DateTimeEdit;
@@ -16,9 +17,9 @@
   explicit CJX_DateTimeEdit(CXFA_DateTimeEdit* node);
   ~CJX_DateTimeEdit() override;
 
-  JS_PROP(hScrollPolicy);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(hScrollPolicy);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_DATETIMEEDIT_H_
diff --git a/fxjs/xfa/cjx_decimal.h b/fxjs/xfa/cjx_decimal.h
index 5753112..b7ddec9 100644
--- a/fxjs/xfa/cjx_decimal.h
+++ b/fxjs/xfa/cjx_decimal.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DECIMAL_H_
 #define FXJS_XFA_CJX_DECIMAL_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_content.h"
 
 class CXFA_Decimal;
@@ -16,12 +17,12 @@
   explicit CJX_Decimal(CXFA_Decimal* node);
   ~CJX_Decimal() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(fracDigits);
-  JS_PROP(leadDigits);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(fracDigits);
+  JSE_PROP(leadDigits);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_DECIMAL_H_
diff --git a/fxjs/xfa/cjx_defaultui.h b/fxjs/xfa/cjx_defaultui.h
index 8b8983b..29954fd 100644
--- a/fxjs/xfa/cjx_defaultui.h
+++ b/fxjs/xfa/cjx_defaultui.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DEFAULTUI_H_
 #define FXJS_XFA_CJX_DEFAULTUI_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_DefaultUi;
@@ -16,8 +17,8 @@
   explicit CJX_DefaultUi(CXFA_DefaultUi* node);
   ~CJX_DefaultUi() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_DEFAULTUI_H_
diff --git a/fxjs/xfa/cjx_delete.h b/fxjs/xfa/cjx_delete.h
index 413a140..e89b1e4 100644
--- a/fxjs/xfa/cjx_delete.h
+++ b/fxjs/xfa/cjx_delete.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DELETE_H_
 #define FXJS_XFA_CJX_DELETE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Delete;
@@ -16,8 +17,8 @@
   explicit CJX_Delete(CXFA_Delete* node);
   ~CJX_Delete() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_DELETE_H_
diff --git a/fxjs/xfa/cjx_delta.h b/fxjs/xfa/cjx_delta.h
index 4d67763..9458599 100644
--- a/fxjs/xfa/cjx_delta.h
+++ b/fxjs/xfa/cjx_delta.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_DELTA_H_
 #define FXJS_XFA_CJX_DELTA_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 
 class CXFA_Delta;
@@ -17,11 +17,11 @@
   explicit CJX_Delta(CXFA_Delta* delta);
   ~CJX_Delta() override;
 
-  JS_METHOD(restore, CJX_Delta);
+  JSE_METHOD(restore, CJX_Delta);
 
-  JS_PROP(currentValue);
-  JS_PROP(savedValue);
-  JS_PROP(target);
+  JSE_PROP(currentValue);
+  JSE_PROP(savedValue);
+  JSE_PROP(target);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_desc.h b/fxjs/xfa/cjx_desc.h
index 4218ed2..d30b222 100644
--- a/fxjs/xfa/cjx_desc.h
+++ b/fxjs/xfa/cjx_desc.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_DESC_H_
 #define FXJS_XFA_CJX_DESC_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Desc;
@@ -17,10 +17,10 @@
   explicit CJX_Desc(CXFA_Desc* desc);
   ~CJX_Desc() override;
 
-  JS_METHOD(metadata, CJX_Desc);
+  JSE_METHOD(metadata, CJX_Desc);
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_digestmethod.h b/fxjs/xfa/cjx_digestmethod.h
index d14e6f1..f4050f2 100644
--- a/fxjs/xfa/cjx_digestmethod.h
+++ b/fxjs/xfa/cjx_digestmethod.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DIGESTMETHOD_H_
 #define FXJS_XFA_CJX_DIGESTMETHOD_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_DigestMethod;
@@ -16,8 +17,8 @@
   explicit CJX_DigestMethod(CXFA_DigestMethod* node);
   ~CJX_DigestMethod() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_DIGESTMETHOD_H_
diff --git a/fxjs/xfa/cjx_digestmethods.h b/fxjs/xfa/cjx_digestmethods.h
index b3addc3..c616584 100644
--- a/fxjs/xfa/cjx_digestmethods.h
+++ b/fxjs/xfa/cjx_digestmethods.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DIGESTMETHODS_H_
 #define FXJS_XFA_CJX_DIGESTMETHODS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_DigestMethods;
@@ -16,9 +17,9 @@
   explicit CJX_DigestMethods(CXFA_DigestMethods* node);
   ~CJX_DigestMethods() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_DIGESTMETHODS_H_
diff --git a/fxjs/xfa/cjx_draw.h b/fxjs/xfa/cjx_draw.h
index 1d5603a..508d3e1 100644
--- a/fxjs/xfa/cjx_draw.h
+++ b/fxjs/xfa/cjx_draw.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_DRAW_H_
 #define FXJS_XFA_CJX_DRAW_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_Draw;
@@ -16,26 +17,26 @@
   explicit CJX_Draw(CXFA_Draw* node);
   ~CJX_Draw() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(anchorType);
-  JS_PROP(colSpan);
-  JS_PROP(h);
-  JS_PROP(hAlign);
-  JS_PROP(locale);
-  JS_PROP(maxH);
-  JS_PROP(maxW);
-  JS_PROP(minH);
-  JS_PROP(minW);
-  JS_PROP(presence);
-  JS_PROP(rawValue);
-  JS_PROP(relevant);
-  JS_PROP(rotate);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(vAlign);
-  JS_PROP(w);
-  JS_PROP(x);
-  JS_PROP(y);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(anchorType);
+  JSE_PROP(colSpan);
+  JSE_PROP(h);
+  JSE_PROP(hAlign);
+  JSE_PROP(locale);
+  JSE_PROP(maxH);
+  JSE_PROP(maxW);
+  JSE_PROP(minH);
+  JSE_PROP(minW);
+  JSE_PROP(presence);
+  JSE_PROP(rawValue);
+  JSE_PROP(relevant);
+  JSE_PROP(rotate);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(vAlign);
+  JSE_PROP(w);
+  JSE_PROP(x);
+  JSE_PROP(y);
 };
 
 #endif  // FXJS_XFA_CJX_DRAW_H_
diff --git a/fxjs/xfa/cjx_edge.h b/fxjs/xfa/cjx_edge.h
index ef4ddeb..c830a8d 100644
--- a/fxjs/xfa/cjx_edge.h
+++ b/fxjs/xfa/cjx_edge.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_EDGE_H_
 #define FXJS_XFA_CJX_EDGE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Edge;
@@ -16,12 +17,12 @@
   explicit CJX_Edge(CXFA_Edge* node);
   ~CJX_Edge() override;
 
-  JS_PROP(cap);
-  JS_PROP(presence);
-  JS_PROP(stroke);
-  JS_PROP(thickness);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(cap);
+  JSE_PROP(presence);
+  JSE_PROP(stroke);
+  JSE_PROP(thickness);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_EDGE_H_
diff --git a/fxjs/xfa/cjx_encoding.h b/fxjs/xfa/cjx_encoding.h
index ea82333..ade3e38 100644
--- a/fxjs/xfa/cjx_encoding.h
+++ b/fxjs/xfa/cjx_encoding.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_ENCODING_H_
 #define FXJS_XFA_CJX_ENCODING_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Encoding;
@@ -16,8 +17,8 @@
   explicit CJX_Encoding(CXFA_Encoding* node);
   ~CJX_Encoding() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ENCODING_H_
diff --git a/fxjs/xfa/cjx_encodings.h b/fxjs/xfa/cjx_encodings.h
index da4f617..e2f4376 100644
--- a/fxjs/xfa/cjx_encodings.h
+++ b/fxjs/xfa/cjx_encodings.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_ENCODINGS_H_
 #define FXJS_XFA_CJX_ENCODINGS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Encodings;
@@ -16,9 +17,9 @@
   explicit CJX_Encodings(CXFA_Encodings* node);
   ~CJX_Encodings() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ENCODINGS_H_
diff --git a/fxjs/xfa/cjx_encrypt.h b/fxjs/xfa/cjx_encrypt.h
index 85fac15..acbccf7 100644
--- a/fxjs/xfa/cjx_encrypt.h
+++ b/fxjs/xfa/cjx_encrypt.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_ENCRYPT_H_
 #define FXJS_XFA_CJX_ENCRYPT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Encrypt;
@@ -16,9 +17,9 @@
   explicit CJX_Encrypt(CXFA_Encrypt* node);
   ~CJX_Encrypt() override;
 
-  JS_PROP(format);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(format);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ENCRYPT_H_
diff --git a/fxjs/xfa/cjx_event.h b/fxjs/xfa/cjx_event.h
index 6c6d920..d8c8b03 100644
--- a/fxjs/xfa/cjx_event.h
+++ b/fxjs/xfa/cjx_event.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_EVENT_H_
 #define FXJS_XFA_CJX_EVENT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Event;
@@ -16,10 +17,10 @@
   explicit CJX_Event(CXFA_Event* node);
   ~CJX_Event() override;
 
-  JS_PROP(activity);
-  JS_PROP(ref);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(activity);
+  JSE_PROP(ref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_EVENT_H_
diff --git a/fxjs/xfa/cjx_eventpseudomodel.h b/fxjs/xfa/cjx_eventpseudomodel.h
index b30c659..c52871e 100644
--- a/fxjs/xfa/cjx_eventpseudomodel.h
+++ b/fxjs/xfa/cjx_eventpseudomodel.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_EVENTPSEUDOMODEL_H_
 #define FXJS_XFA_CJX_EVENTPSEUDOMODEL_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 
 class CFXJSE_Value;
@@ -38,26 +38,26 @@
   explicit CJX_EventPseudoModel(CScript_EventPseudoModel* model);
   ~CJX_EventPseudoModel() override;
 
-  JS_METHOD(emit, CJX_EventPseudoModel);
-  JS_METHOD(reset, CJX_EventPseudoModel);
+  JSE_METHOD(emit, CJX_EventPseudoModel);
+  JSE_METHOD(reset, CJX_EventPseudoModel);
 
-  JS_PROP(cancelAction);
-  JS_PROP(change);
-  JS_PROP(commitKey);
-  JS_PROP(fullText);
-  JS_PROP(keyDown);
-  JS_PROP(modifier);
-  JS_PROP(newContentType);
-  JS_PROP(newText);
-  JS_PROP(prevContentType);
-  JS_PROP(prevText);
-  JS_PROP(reenter);
-  JS_PROP(selEnd);
-  JS_PROP(selStart);
-  JS_PROP(shift);
-  JS_PROP(soapFaultCode);
-  JS_PROP(soapFaultString);
-  JS_PROP(target);
+  JSE_PROP(cancelAction);
+  JSE_PROP(change);
+  JSE_PROP(commitKey);
+  JSE_PROP(fullText);
+  JSE_PROP(keyDown);
+  JSE_PROP(modifier);
+  JSE_PROP(newContentType);
+  JSE_PROP(newText);
+  JSE_PROP(prevContentType);
+  JSE_PROP(prevText);
+  JSE_PROP(reenter);
+  JSE_PROP(selEnd);
+  JSE_PROP(selStart);
+  JSE_PROP(shift);
+  JSE_PROP(soapFaultCode);
+  JSE_PROP(soapFaultString);
+  JSE_PROP(target);
 
  private:
   void Property(CFXJSE_Value* pValue, XFA_Event dwFlag, bool bSetting);
diff --git a/fxjs/xfa/cjx_exclgroup.h b/fxjs/xfa/cjx_exclgroup.h
index fc65400..492fb12 100644
--- a/fxjs/xfa/cjx_exclgroup.h
+++ b/fxjs/xfa/cjx_exclgroup.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_EXCLGROUP_H_
 #define FXJS_XFA_CJX_EXCLGROUP_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_ExclGroup;
@@ -17,40 +17,40 @@
   explicit CJX_ExclGroup(CXFA_ExclGroup* group);
   ~CJX_ExclGroup() override;
 
-  JS_METHOD(execCalculate, CJX_ExclGroup);
-  JS_METHOD(execEvent, CJX_ExclGroup);
-  JS_METHOD(execInitialize, CJX_ExclGroup);
-  JS_METHOD(execValidate, CJX_ExclGroup);
-  JS_METHOD(selectedMember, CJX_ExclGroup);
+  JSE_METHOD(execCalculate, CJX_ExclGroup);
+  JSE_METHOD(execEvent, CJX_ExclGroup);
+  JSE_METHOD(execInitialize, CJX_ExclGroup);
+  JSE_METHOD(execValidate, CJX_ExclGroup);
+  JSE_METHOD(selectedMember, CJX_ExclGroup);
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(access);
-  JS_PROP(accessKey);
-  JS_PROP(anchorType);
-  JS_PROP(borderColor);
-  JS_PROP(borderWidth);
-  JS_PROP(colSpan);
-  JS_PROP(fillColor);
-  JS_PROP(h);
-  JS_PROP(hAlign);
-  JS_PROP(layout);
-  JS_PROP(mandatory);
-  JS_PROP(mandatoryMessage);
-  JS_PROP(maxH);
-  JS_PROP(maxW);
-  JS_PROP(minH);
-  JS_PROP(minW);
-  JS_PROP(presence);
-  JS_PROP(rawValue);
-  JS_PROP(relevant);
-  JS_PROP(transient);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(validationMessage);
-  JS_PROP(vAlign);
-  JS_PROP(w);
-  JS_PROP(x);
-  JS_PROP(y);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(access);
+  JSE_PROP(accessKey);
+  JSE_PROP(anchorType);
+  JSE_PROP(borderColor);
+  JSE_PROP(borderWidth);
+  JSE_PROP(colSpan);
+  JSE_PROP(fillColor);
+  JSE_PROP(h);
+  JSE_PROP(hAlign);
+  JSE_PROP(layout);
+  JSE_PROP(mandatory);
+  JSE_PROP(mandatoryMessage);
+  JSE_PROP(maxH);
+  JSE_PROP(maxW);
+  JSE_PROP(minH);
+  JSE_PROP(minW);
+  JSE_PROP(presence);
+  JSE_PROP(rawValue);
+  JSE_PROP(relevant);
+  JSE_PROP(transient);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(validationMessage);
+  JSE_PROP(vAlign);
+  JSE_PROP(w);
+  JSE_PROP(x);
+  JSE_PROP(y);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_exdata.h b/fxjs/xfa/cjx_exdata.h
index e059da8..06a5d21 100644
--- a/fxjs/xfa/cjx_exdata.h
+++ b/fxjs/xfa/cjx_exdata.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_EXDATA_H_
 #define FXJS_XFA_CJX_EXDATA_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_content.h"
 
 class CXFA_ExData;
@@ -16,13 +17,13 @@
   explicit CJX_ExData(CXFA_ExData* node);
   ~CJX_ExData() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(contentType);
-  JS_PROP(href);
-  JS_PROP(maxLength);
-  JS_PROP(transferEncoding);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(contentType);
+  JSE_PROP(href);
+  JSE_PROP(maxLength);
+  JSE_PROP(transferEncoding);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_EXDATA_H_
diff --git a/fxjs/xfa/cjx_execute.h b/fxjs/xfa/cjx_execute.h
index ef7f629..338f8c3 100644
--- a/fxjs/xfa/cjx_execute.h
+++ b/fxjs/xfa/cjx_execute.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_EXECUTE_H_
 #define FXJS_XFA_CJX_EXECUTE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Execute;
@@ -16,11 +17,11 @@
   explicit CJX_Execute(CXFA_Execute* node);
   ~CJX_Execute() override;
 
-  JS_PROP(connection);
-  JS_PROP(executeType);
-  JS_PROP(runAt);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(connection);
+  JSE_PROP(executeType);
+  JSE_PROP(runAt);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_EXECUTE_H_
diff --git a/fxjs/xfa/cjx_exobject.h b/fxjs/xfa/cjx_exobject.h
index 2fec24a..2e10362 100644
--- a/fxjs/xfa/cjx_exobject.h
+++ b/fxjs/xfa/cjx_exobject.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_EXOBJECT_H_
 #define FXJS_XFA_CJX_EXOBJECT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_ExObject;
@@ -16,12 +17,12 @@
   explicit CJX_ExObject(CXFA_ExObject* node);
   ~CJX_ExObject() override;
 
-  JS_PROP(archive);
-  JS_PROP(classId);
-  JS_PROP(codeBase);
-  JS_PROP(codeType);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(archive);
+  JSE_PROP(classId);
+  JSE_PROP(codeBase);
+  JSE_PROP(codeType);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_EXOBJECT_H_
diff --git a/fxjs/xfa/cjx_extras.h b/fxjs/xfa/cjx_extras.h
index 9f57903..829aa9d 100644
--- a/fxjs/xfa/cjx_extras.h
+++ b/fxjs/xfa/cjx_extras.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_EXTRAS_H_
 #define FXJS_XFA_CJX_EXTRAS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Extras;
@@ -16,9 +17,9 @@
   explicit CJX_Extras(CXFA_Extras* node);
   ~CJX_Extras() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_EXTRAS_H_
diff --git a/fxjs/xfa/cjx_field.h b/fxjs/xfa/cjx_field.h
index 697aca3..bc8f2cf 100644
--- a/fxjs/xfa/cjx_field.h
+++ b/fxjs/xfa/cjx_field.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_FIELD_H_
 #define FXJS_XFA_CJX_FIELD_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_Field;
@@ -17,53 +17,53 @@
   explicit CJX_Field(CXFA_Field* field);
   ~CJX_Field() override;
 
-  JS_METHOD(addItem, CJX_Field);
-  JS_METHOD(boundItem, CJX_Field);
-  JS_METHOD(clearItems, CJX_Field);
-  JS_METHOD(deleteItem, CJX_Field);
-  JS_METHOD(execCalculate, CJX_Field);
-  JS_METHOD(execEvent, CJX_Field);
-  JS_METHOD(execInitialize, CJX_Field);
-  JS_METHOD(execValidate, CJX_Field);
-  JS_METHOD(getDisplayItem, CJX_Field);
-  JS_METHOD(getItemState, CJX_Field);
-  JS_METHOD(getSaveItem, CJX_Field);
-  JS_METHOD(setItemState, CJX_Field);
+  JSE_METHOD(addItem, CJX_Field);
+  JSE_METHOD(boundItem, CJX_Field);
+  JSE_METHOD(clearItems, CJX_Field);
+  JSE_METHOD(deleteItem, CJX_Field);
+  JSE_METHOD(execCalculate, CJX_Field);
+  JSE_METHOD(execEvent, CJX_Field);
+  JSE_METHOD(execInitialize, CJX_Field);
+  JSE_METHOD(execValidate, CJX_Field);
+  JSE_METHOD(getDisplayItem, CJX_Field);
+  JSE_METHOD(getItemState, CJX_Field);
+  JSE_METHOD(getSaveItem, CJX_Field);
+  JSE_METHOD(setItemState, CJX_Field);
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(access);
-  JS_PROP(accessKey);
-  JS_PROP(anchorType);
-  JS_PROP(borderColor);
-  JS_PROP(borderWidth);
-  JS_PROP(colSpan);
-  JS_PROP(editValue);
-  JS_PROP(fillColor);
-  JS_PROP(fontColor);
-  JS_PROP(formatMessage);
-  JS_PROP(formattedValue);
-  JS_PROP(h);
-  JS_PROP(hAlign);
-  JS_PROP(locale);
-  JS_PROP(mandatory);
-  JS_PROP(mandatoryMessage);
-  JS_PROP(maxH);
-  JS_PROP(maxW);
-  JS_PROP(minH);
-  JS_PROP(minW);
-  JS_PROP(parentSubform);
-  JS_PROP(presence);
-  JS_PROP(rawValue);
-  JS_PROP(relevant);
-  JS_PROP(rotate);
-  JS_PROP(selectedIndex);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(validationMessage);
-  JS_PROP(vAlign);
-  JS_PROP(w);
-  JS_PROP(x);
-  JS_PROP(y);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(access);
+  JSE_PROP(accessKey);
+  JSE_PROP(anchorType);
+  JSE_PROP(borderColor);
+  JSE_PROP(borderWidth);
+  JSE_PROP(colSpan);
+  JSE_PROP(editValue);
+  JSE_PROP(fillColor);
+  JSE_PROP(fontColor);
+  JSE_PROP(formatMessage);
+  JSE_PROP(formattedValue);
+  JSE_PROP(h);
+  JSE_PROP(hAlign);
+  JSE_PROP(locale);
+  JSE_PROP(mandatory);
+  JSE_PROP(mandatoryMessage);
+  JSE_PROP(maxH);
+  JSE_PROP(maxW);
+  JSE_PROP(minH);
+  JSE_PROP(minW);
+  JSE_PROP(parentSubform);
+  JSE_PROP(presence);
+  JSE_PROP(rawValue);
+  JSE_PROP(relevant);
+  JSE_PROP(rotate);
+  JSE_PROP(selectedIndex);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(validationMessage);
+  JSE_PROP(vAlign);
+  JSE_PROP(w);
+  JSE_PROP(x);
+  JSE_PROP(y);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_fill.h b/fxjs/xfa/cjx_fill.h
index 869e3cc..064a249 100644
--- a/fxjs/xfa/cjx_fill.h
+++ b/fxjs/xfa/cjx_fill.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_FILL_H_
 #define FXJS_XFA_CJX_FILL_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Fill;
@@ -16,9 +17,9 @@
   explicit CJX_Fill(CXFA_Fill* node);
   ~CJX_Fill() override;
 
-  JS_PROP(presence);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(presence);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_FILL_H_
diff --git a/fxjs/xfa/cjx_filter.h b/fxjs/xfa/cjx_filter.h
index 275d509..6012123 100644
--- a/fxjs/xfa/cjx_filter.h
+++ b/fxjs/xfa/cjx_filter.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_FILTER_H_
 #define FXJS_XFA_CJX_FILTER_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Filter;
@@ -16,9 +17,9 @@
   explicit CJX_Filter(CXFA_Filter* node);
   ~CJX_Filter() override;
 
-  JS_PROP(addRevocationInfo);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(addRevocationInfo);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_FILTER_H_
diff --git a/fxjs/xfa/cjx_float.h b/fxjs/xfa/cjx_float.h
index 1c9489b..2f8c934 100644
--- a/fxjs/xfa/cjx_float.h
+++ b/fxjs/xfa/cjx_float.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_FLOAT_H_
 #define FXJS_XFA_CJX_FLOAT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_content.h"
 
 class CXFA_Float;
@@ -16,10 +17,10 @@
   explicit CJX_Float(CXFA_Float* node);
   ~CJX_Float() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_FLOAT_H_
diff --git a/fxjs/xfa/cjx_font.h b/fxjs/xfa/cjx_font.h
index 65b40e4..a5a1356 100644
--- a/fxjs/xfa/cjx_font.h
+++ b/fxjs/xfa/cjx_font.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_FONT_H_
 #define FXJS_XFA_CJX_FONT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Font;
@@ -16,23 +17,23 @@
   explicit CJX_Font(CXFA_Font* node);
   ~CJX_Font() override;
 
-  JS_PROP(baselineShift);
-  JS_PROP(fontHorizontalScale);
-  JS_PROP(fontVerticalScale);
-  JS_PROP(kerningMode);
-  JS_PROP(letterSpacing);
-  JS_PROP(lineThrough);
-  JS_PROP(lineThroughPeriod);
-  JS_PROP(overline);
-  JS_PROP(overlinePeriod);
-  JS_PROP(posture);
-  JS_PROP(size);
-  JS_PROP(typeface);
-  JS_PROP(underline);
-  JS_PROP(underlinePeriod);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(weight);
+  JSE_PROP(baselineShift);
+  JSE_PROP(fontHorizontalScale);
+  JSE_PROP(fontVerticalScale);
+  JSE_PROP(kerningMode);
+  JSE_PROP(letterSpacing);
+  JSE_PROP(lineThrough);
+  JSE_PROP(lineThroughPeriod);
+  JSE_PROP(overline);
+  JSE_PROP(overlinePeriod);
+  JSE_PROP(posture);
+  JSE_PROP(size);
+  JSE_PROP(typeface);
+  JSE_PROP(underline);
+  JSE_PROP(underlinePeriod);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(weight);
 };
 
 #endif  // FXJS_XFA_CJX_FONT_H_
diff --git a/fxjs/xfa/cjx_form.h b/fxjs/xfa/cjx_form.h
index 235dc14..f2325b3 100644
--- a/fxjs/xfa/cjx_form.h
+++ b/fxjs/xfa/cjx_form.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_FORM_H_
 #define FXJS_XFA_CJX_FORM_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_model.h"
 
 class CXFA_Form;
@@ -17,12 +17,12 @@
   explicit CJX_Form(CXFA_Form* form);
   ~CJX_Form() override;
 
-  JS_METHOD(execCalculate, CJX_Form);
-  JS_METHOD(execInitialize, CJX_Form);
-  JS_METHOD(execValidate, CJX_Form);
-  JS_METHOD(formNodes, CJX_Form);
-  JS_METHOD(recalculate, CJX_Form);
-  JS_METHOD(remerge, CJX_Form);
+  JSE_METHOD(execCalculate, CJX_Form);
+  JSE_METHOD(execInitialize, CJX_Form);
+  JSE_METHOD(execValidate, CJX_Form);
+  JSE_METHOD(formNodes, CJX_Form);
+  JSE_METHOD(recalculate, CJX_Form);
+  JSE_METHOD(remerge, CJX_Form);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_format.h b/fxjs/xfa/cjx_format.h
index 5e8c971..3f4a42b 100644
--- a/fxjs/xfa/cjx_format.h
+++ b/fxjs/xfa/cjx_format.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_FORMAT_H_
 #define FXJS_XFA_CJX_FORMAT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Format;
@@ -16,8 +17,8 @@
   explicit CJX_Format(CXFA_Format* node);
   ~CJX_Format() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_FORMAT_H_
diff --git a/fxjs/xfa/cjx_handler.h b/fxjs/xfa/cjx_handler.h
index 373328b..feb0e6d 100644
--- a/fxjs/xfa/cjx_handler.h
+++ b/fxjs/xfa/cjx_handler.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_HANDLER_H_
 #define FXJS_XFA_CJX_HANDLER_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Handler;
@@ -16,10 +17,10 @@
   explicit CJX_Handler(CXFA_Handler* node);
   ~CJX_Handler() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(version);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(version);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_HANDLER_H_
diff --git a/fxjs/xfa/cjx_hostpseudomodel.h b/fxjs/xfa/cjx_hostpseudomodel.h
index 7b9279a..7ef7d03 100644
--- a/fxjs/xfa/cjx_hostpseudomodel.h
+++ b/fxjs/xfa/cjx_hostpseudomodel.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_HOSTPSEUDOMODEL_H_
 #define FXJS_XFA_CJX_HOSTPSEUDOMODEL_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 #include "xfa/fxfa/fxfa_basic.h"
 
@@ -19,36 +19,36 @@
   explicit CJX_HostPseudoModel(CScript_HostPseudoModel* model);
   ~CJX_HostPseudoModel() override;
 
-  JS_METHOD(beep, CJX_HostPseudoModel);
-  JS_METHOD(documentCountInBatch, CJX_HostPseudoModel);
-  JS_METHOD(documentInBatch, CJX_HostPseudoModel);
-  JS_METHOD(exportData, CJX_HostPseudoModel);
-  JS_METHOD(getFocus, CJX_HostPseudoModel);
-  JS_METHOD(gotoURL, CJX_HostPseudoModel);
-  JS_METHOD(importData, CJX_HostPseudoModel);
-  JS_METHOD(messageBox, CJX_HostPseudoModel);
-  JS_METHOD(openList, CJX_HostPseudoModel);
-  JS_METHOD(pageDown, CJX_HostPseudoModel);
-  JS_METHOD(pageUp, CJX_HostPseudoModel);
-  JS_METHOD(print, CJX_HostPseudoModel);
-  JS_METHOD(resetData, CJX_HostPseudoModel);
-  JS_METHOD(response, CJX_HostPseudoModel);
-  JS_METHOD(setFocus, CJX_HostPseudoModel);
+  JSE_METHOD(beep, CJX_HostPseudoModel);
+  JSE_METHOD(documentCountInBatch, CJX_HostPseudoModel);
+  JSE_METHOD(documentInBatch, CJX_HostPseudoModel);
+  JSE_METHOD(exportData, CJX_HostPseudoModel);
+  JSE_METHOD(getFocus, CJX_HostPseudoModel);
+  JSE_METHOD(gotoURL, CJX_HostPseudoModel);
+  JSE_METHOD(importData, CJX_HostPseudoModel);
+  JSE_METHOD(messageBox, CJX_HostPseudoModel);
+  JSE_METHOD(openList, CJX_HostPseudoModel);
+  JSE_METHOD(pageDown, CJX_HostPseudoModel);
+  JSE_METHOD(pageUp, CJX_HostPseudoModel);
+  JSE_METHOD(print, CJX_HostPseudoModel);
+  JSE_METHOD(resetData, CJX_HostPseudoModel);
+  JSE_METHOD(response, CJX_HostPseudoModel);
+  JSE_METHOD(setFocus, CJX_HostPseudoModel);
 
-  JS_PROP(appType);
-  JS_PROP(calculationsEnabled);
-  JS_PROP(currentPage);
-  JS_PROP(language);
-  JS_PROP(numPages);
-  JS_PROP(platform);
-  JS_PROP(title);
-  JS_PROP(validationsEnabled);
-  JS_PROP(variation);
-  JS_PROP(version);
+  JSE_PROP(appType);
+  JSE_PROP(calculationsEnabled);
+  JSE_PROP(currentPage);
+  JSE_PROP(language);
+  JSE_PROP(numPages);
+  JSE_PROP(platform);
+  JSE_PROP(title);
+  JSE_PROP(validationsEnabled);
+  JSE_PROP(variation);
+  JSE_PROP(version);
 
   // TODO(dsinclair): Remove when xfa_basic_data_element_script is removed.
   // Doesn't exist in spec
-  JS_PROP(name);
+  JSE_PROP(name);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_image.h b/fxjs/xfa/cjx_image.h
index 5cd120a..682ea31 100644
--- a/fxjs/xfa/cjx_image.h
+++ b/fxjs/xfa/cjx_image.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_IMAGE_H_
 #define FXJS_XFA_CJX_IMAGE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Image;
@@ -16,14 +17,14 @@
   explicit CJX_Image(CXFA_Image* node);
   ~CJX_Image() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(aspect);
-  JS_PROP(contentType);
-  JS_PROP(href);
-  JS_PROP(transferEncoding);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(aspect);
+  JSE_PROP(contentType);
+  JSE_PROP(href);
+  JSE_PROP(transferEncoding);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_IMAGE_H_
diff --git a/fxjs/xfa/cjx_imageedit.h b/fxjs/xfa/cjx_imageedit.h
index ebf4fa3..6b7f1d3 100644
--- a/fxjs/xfa/cjx_imageedit.h
+++ b/fxjs/xfa/cjx_imageedit.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_IMAGEEDIT_H_
 #define FXJS_XFA_CJX_IMAGEEDIT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_ImageEdit;
@@ -16,9 +17,9 @@
   explicit CJX_ImageEdit(CXFA_ImageEdit* node);
   ~CJX_ImageEdit() override;
 
-  JS_PROP(data);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(data);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_IMAGEEDIT_H_
diff --git a/fxjs/xfa/cjx_insert.h b/fxjs/xfa/cjx_insert.h
index 3b73df8..888a246 100644
--- a/fxjs/xfa/cjx_insert.h
+++ b/fxjs/xfa/cjx_insert.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_INSERT_H_
 #define FXJS_XFA_CJX_INSERT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Insert;
@@ -16,8 +17,8 @@
   explicit CJX_Insert(CXFA_Insert* node);
   ~CJX_Insert() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_INSERT_H_
diff --git a/fxjs/xfa/cjx_instancemanager.h b/fxjs/xfa/cjx_instancemanager.h
index c869ec3..b151d71 100644
--- a/fxjs/xfa/cjx_instancemanager.h
+++ b/fxjs/xfa/cjx_instancemanager.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_INSTANCEMANAGER_H_
 #define FXJS_XFA_CJX_INSTANCEMANAGER_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_InstanceManager;
@@ -17,15 +17,15 @@
   explicit CJX_InstanceManager(CXFA_InstanceManager* mgr);
   ~CJX_InstanceManager() override;
 
-  JS_METHOD(addInstance, CJX_InstanceManager);
-  JS_METHOD(insertInstance, CJX_InstanceManager);
-  JS_METHOD(moveInstance, CJX_InstanceManager);
-  JS_METHOD(removeInstance, CJX_InstanceManager);
-  JS_METHOD(setInstances, CJX_InstanceManager);
+  JSE_METHOD(addInstance, CJX_InstanceManager);
+  JSE_METHOD(insertInstance, CJX_InstanceManager);
+  JSE_METHOD(moveInstance, CJX_InstanceManager);
+  JSE_METHOD(removeInstance, CJX_InstanceManager);
+  JSE_METHOD(setInstances, CJX_InstanceManager);
 
-  JS_PROP(count);
-  JS_PROP(max);
-  JS_PROP(min);
+  JSE_PROP(count);
+  JSE_PROP(max);
+  JSE_PROP(min);
 
   int32_t MoveInstance(int32_t iTo, int32_t iFrom);
 
diff --git a/fxjs/xfa/cjx_integer.h b/fxjs/xfa/cjx_integer.h
index 90daabf..426235b 100644
--- a/fxjs/xfa/cjx_integer.h
+++ b/fxjs/xfa/cjx_integer.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_INTEGER_H_
 #define FXJS_XFA_CJX_INTEGER_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_content.h"
 
 class CXFA_Integer;
@@ -16,10 +17,10 @@
   explicit CJX_Integer(CXFA_Integer* node);
   ~CJX_Integer() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_INTEGER_H_
diff --git a/fxjs/xfa/cjx_issuers.h b/fxjs/xfa/cjx_issuers.h
index 5d76e72..bdd777a 100644
--- a/fxjs/xfa/cjx_issuers.h
+++ b/fxjs/xfa/cjx_issuers.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_ISSUERS_H_
 #define FXJS_XFA_CJX_ISSUERS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Issuers;
@@ -16,9 +17,9 @@
   explicit CJX_Issuers(CXFA_Issuers* node);
   ~CJX_Issuers() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ISSUERS_H_
diff --git a/fxjs/xfa/cjx_items.h b/fxjs/xfa/cjx_items.h
index 94f2b43..039757f 100644
--- a/fxjs/xfa/cjx_items.h
+++ b/fxjs/xfa/cjx_items.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_ITEMS_H_
 #define FXJS_XFA_CJX_ITEMS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Items;
@@ -16,11 +17,11 @@
   explicit CJX_Items(CXFA_Items* node);
   ~CJX_Items() override;
 
-  JS_PROP(presence);
-  JS_PROP(ref);
-  JS_PROP(save);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(presence);
+  JSE_PROP(ref);
+  JSE_PROP(save);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ITEMS_H_
diff --git a/fxjs/xfa/cjx_keep.h b/fxjs/xfa/cjx_keep.h
index fa8a111..3e1166f 100644
--- a/fxjs/xfa/cjx_keep.h
+++ b/fxjs/xfa/cjx_keep.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_KEEP_H_
 #define FXJS_XFA_CJX_KEEP_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Keep;
@@ -16,11 +17,11 @@
   explicit CJX_Keep(CXFA_Keep* node);
   ~CJX_Keep() override;
 
-  JS_PROP(intact);
-  JS_PROP(next);
-  JS_PROP(previous);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(intact);
+  JSE_PROP(next);
+  JSE_PROP(previous);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_KEEP_H_
diff --git a/fxjs/xfa/cjx_keyusage.h b/fxjs/xfa/cjx_keyusage.h
index 3ff546d..54ec8df 100644
--- a/fxjs/xfa/cjx_keyusage.h
+++ b/fxjs/xfa/cjx_keyusage.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_KEYUSAGE_H_
 #define FXJS_XFA_CJX_KEYUSAGE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_KeyUsage;
@@ -16,18 +17,18 @@
   explicit CJX_KeyUsage(CXFA_KeyUsage* node);
   ~CJX_KeyUsage() override;
 
-  JS_PROP(crlSign);
-  JS_PROP(dataEncipherment);
-  JS_PROP(decipherOnly);
-  JS_PROP(digitalSignature);
-  JS_PROP(encipherOnly);
-  JS_PROP(keyAgreement);
-  JS_PROP(keyCertSign);
-  JS_PROP(keyEncipherment);
-  JS_PROP(nonRepudiation);
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(crlSign);
+  JSE_PROP(dataEncipherment);
+  JSE_PROP(decipherOnly);
+  JSE_PROP(digitalSignature);
+  JSE_PROP(encipherOnly);
+  JSE_PROP(keyAgreement);
+  JSE_PROP(keyCertSign);
+  JSE_PROP(keyEncipherment);
+  JSE_PROP(nonRepudiation);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_KEYUSAGE_H_
diff --git a/fxjs/xfa/cjx_layoutpseudomodel.h b/fxjs/xfa/cjx_layoutpseudomodel.h
index b57c80c..3d14b85 100644
--- a/fxjs/xfa/cjx_layoutpseudomodel.h
+++ b/fxjs/xfa/cjx_layoutpseudomodel.h
@@ -9,7 +9,7 @@
 
 #include <vector>
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 
 enum XFA_LAYOUTMODEL_HWXY {
@@ -29,27 +29,27 @@
   explicit CJX_LayoutPseudoModel(CScript_LayoutPseudoModel* model);
   ~CJX_LayoutPseudoModel() override;
 
-  JS_METHOD(absPage, CJX_LayoutPseudoModel);
-  JS_METHOD(absPageCount, CJX_LayoutPseudoModel);
-  JS_METHOD(absPageCountInBatch, CJX_LayoutPseudoModel);
-  JS_METHOD(absPageInBatch, CJX_LayoutPseudoModel);
-  JS_METHOD(absPageSpan, CJX_LayoutPseudoModel);
-  JS_METHOD(h, CJX_LayoutPseudoModel);
-  JS_METHOD(page, CJX_LayoutPseudoModel);
-  JS_METHOD(pageContent, CJX_LayoutPseudoModel);
-  JS_METHOD(pageCount, CJX_LayoutPseudoModel);
-  JS_METHOD(pageSpan, CJX_LayoutPseudoModel);
-  JS_METHOD(relayout, CJX_LayoutPseudoModel);
-  JS_METHOD(relayoutPageArea, CJX_LayoutPseudoModel);
-  JS_METHOD(sheet, CJX_LayoutPseudoModel);
-  JS_METHOD(sheetCount, CJX_LayoutPseudoModel);
-  JS_METHOD(sheetCountInBatch, CJX_LayoutPseudoModel);
-  JS_METHOD(sheetInBatch, CJX_LayoutPseudoModel);
-  JS_METHOD(w, CJX_LayoutPseudoModel);
-  JS_METHOD(x, CJX_LayoutPseudoModel);
-  JS_METHOD(y, CJX_LayoutPseudoModel);
+  JSE_METHOD(absPage, CJX_LayoutPseudoModel);
+  JSE_METHOD(absPageCount, CJX_LayoutPseudoModel);
+  JSE_METHOD(absPageCountInBatch, CJX_LayoutPseudoModel);
+  JSE_METHOD(absPageInBatch, CJX_LayoutPseudoModel);
+  JSE_METHOD(absPageSpan, CJX_LayoutPseudoModel);
+  JSE_METHOD(h, CJX_LayoutPseudoModel);
+  JSE_METHOD(page, CJX_LayoutPseudoModel);
+  JSE_METHOD(pageContent, CJX_LayoutPseudoModel);
+  JSE_METHOD(pageCount, CJX_LayoutPseudoModel);
+  JSE_METHOD(pageSpan, CJX_LayoutPseudoModel);
+  JSE_METHOD(relayout, CJX_LayoutPseudoModel);
+  JSE_METHOD(relayoutPageArea, CJX_LayoutPseudoModel);
+  JSE_METHOD(sheet, CJX_LayoutPseudoModel);
+  JSE_METHOD(sheetCount, CJX_LayoutPseudoModel);
+  JSE_METHOD(sheetCountInBatch, CJX_LayoutPseudoModel);
+  JSE_METHOD(sheetInBatch, CJX_LayoutPseudoModel);
+  JSE_METHOD(w, CJX_LayoutPseudoModel);
+  JSE_METHOD(x, CJX_LayoutPseudoModel);
+  JSE_METHOD(y, CJX_LayoutPseudoModel);
 
-  JS_PROP(ready);
+  JSE_PROP(ready);
 
  private:
   CJS_Return NumberedPageCount(CFX_V8* runtime, bool bNumbered);
diff --git a/fxjs/xfa/cjx_line.h b/fxjs/xfa/cjx_line.h
index 7041c12..48e8a4e 100644
--- a/fxjs/xfa/cjx_line.h
+++ b/fxjs/xfa/cjx_line.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_LINE_H_
 #define FXJS_XFA_CJX_LINE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Line;
@@ -16,10 +17,10 @@
   explicit CJX_Line(CXFA_Line* node);
   ~CJX_Line() override;
 
-  JS_PROP(hand);
-  JS_PROP(slope);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(hand);
+  JSE_PROP(slope);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_LINE_H_
diff --git a/fxjs/xfa/cjx_linear.h b/fxjs/xfa/cjx_linear.h
index 30a54bf..b1d3a88 100644
--- a/fxjs/xfa/cjx_linear.h
+++ b/fxjs/xfa/cjx_linear.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_LINEAR_H_
 #define FXJS_XFA_CJX_LINEAR_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Linear;
@@ -16,9 +17,9 @@
   explicit CJX_Linear(CXFA_Linear* node);
   ~CJX_Linear() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_LINEAR_H_
diff --git a/fxjs/xfa/cjx_list.h b/fxjs/xfa/cjx_list.h
index 90ecf69..99661a4 100644
--- a/fxjs/xfa/cjx_list.h
+++ b/fxjs/xfa/cjx_list.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_LIST_H_
 #define FXJS_XFA_CJX_LIST_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 
 class CXFA_List;
@@ -17,12 +17,12 @@
   explicit CJX_List(CXFA_List* list);
   ~CJX_List() override;
 
-  JS_METHOD(append, CJX_List);
-  JS_METHOD(insert, CJX_List);
-  JS_METHOD(item, CJX_List);
-  JS_METHOD(remove, CJX_List);
+  JSE_METHOD(append, CJX_List);
+  JSE_METHOD(insert, CJX_List);
+  JSE_METHOD(item, CJX_List);
+  JSE_METHOD(remove, CJX_List);
 
-  JS_PROP(length);
+  JSE_PROP(length);
 
  private:
   CXFA_List* GetXFAList();
diff --git a/fxjs/xfa/cjx_logpseudomodel.h b/fxjs/xfa/cjx_logpseudomodel.h
index a6ef871..3994411 100644
--- a/fxjs/xfa/cjx_logpseudomodel.h
+++ b/fxjs/xfa/cjx_logpseudomodel.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_LOGPSEUDOMODEL_H_
 #define FXJS_XFA_CJX_LOGPSEUDOMODEL_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 
 class CScript_LogPseudoModel;
@@ -19,11 +19,11 @@
   explicit CJX_LogPseudoModel(CScript_LogPseudoModel* model);
   ~CJX_LogPseudoModel() override;
 
-  JS_METHOD(message, CJX_LogPseudoModel);
-  JS_METHOD(traceEnabled, CJX_LogPseudoModel);
-  JS_METHOD(traceActivate, CJX_LogPseudoModel);
-  JS_METHOD(traceDeactivate, CJX_LogPseudoModel);
-  JS_METHOD(trace, CJX_LogPseudoModel);
+  JSE_METHOD(message, CJX_LogPseudoModel);
+  JSE_METHOD(traceEnabled, CJX_LogPseudoModel);
+  JSE_METHOD(traceActivate, CJX_LogPseudoModel);
+  JSE_METHOD(traceDeactivate, CJX_LogPseudoModel);
+  JSE_METHOD(trace, CJX_LogPseudoModel);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_manifest.h b/fxjs/xfa/cjx_manifest.h
index 78aa5bc..fa16b47 100644
--- a/fxjs/xfa/cjx_manifest.h
+++ b/fxjs/xfa/cjx_manifest.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_MANIFEST_H_
 #define FXJS_XFA_CJX_MANIFEST_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Manifest;
@@ -17,12 +17,12 @@
   explicit CJX_Manifest(CXFA_Manifest* manifest);
   ~CJX_Manifest() override;
 
-  JS_METHOD(evaluate, CJX_Manifest);
+  JSE_METHOD(evaluate, CJX_Manifest);
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(action);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(action);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_map.h b/fxjs/xfa/cjx_map.h
index dba7eb6..7a0eb37 100644
--- a/fxjs/xfa/cjx_map.h
+++ b/fxjs/xfa/cjx_map.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_MAP_H_
 #define FXJS_XFA_CJX_MAP_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Map;
@@ -16,10 +17,10 @@
   explicit CJX_Map(CXFA_Map* node);
   ~CJX_Map() override;
 
-  JS_PROP(bind);
-  JS_PROP(from);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(bind);
+  JSE_PROP(from);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_MAP_H_
diff --git a/fxjs/xfa/cjx_margin.h b/fxjs/xfa/cjx_margin.h
index 0ca884f..be0e220 100644
--- a/fxjs/xfa/cjx_margin.h
+++ b/fxjs/xfa/cjx_margin.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_MARGIN_H_
 #define FXJS_XFA_CJX_MARGIN_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Margin;
@@ -16,12 +17,12 @@
   explicit CJX_Margin(CXFA_Margin* node);
   ~CJX_Margin() override;
 
-  JS_PROP(bottomInset);
-  JS_PROP(leftInset);
-  JS_PROP(rightInset);
-  JS_PROP(topInset);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(bottomInset);
+  JSE_PROP(leftInset);
+  JSE_PROP(rightInset);
+  JSE_PROP(topInset);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_MARGIN_H_
diff --git a/fxjs/xfa/cjx_mdp.h b/fxjs/xfa/cjx_mdp.h
index bdce2b8..a58dc82 100644
--- a/fxjs/xfa/cjx_mdp.h
+++ b/fxjs/xfa/cjx_mdp.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_MDP_H_
 #define FXJS_XFA_CJX_MDP_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Mdp;
@@ -16,10 +17,10 @@
   explicit CJX_Mdp(CXFA_Mdp* node);
   ~CJX_Mdp() override;
 
-  JS_PROP(permissions);
-  JS_PROP(signatureType);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(permissions);
+  JSE_PROP(signatureType);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_MDP_H_
diff --git a/fxjs/xfa/cjx_medium.h b/fxjs/xfa/cjx_medium.h
index 99023dc..88daa1b 100644
--- a/fxjs/xfa/cjx_medium.h
+++ b/fxjs/xfa/cjx_medium.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_MEDIUM_H_
 #define FXJS_XFA_CJX_MEDIUM_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Medium;
@@ -16,13 +17,13 @@
   explicit CJX_Medium(CXFA_Medium* node);
   ~CJX_Medium() override;
 
-  JS_PROP(imagingBBox);
-  JS_PROP(longValue); /* long */
-  JS_PROP(orientation);
-  JS_PROP(shortValue); /* short */
-  JS_PROP(stock);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(imagingBBox);
+  JSE_PROP(longValue); /* long */
+  JSE_PROP(orientation);
+  JSE_PROP(shortValue); /* short */
+  JSE_PROP(stock);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_MEDIUM_H_
diff --git a/fxjs/xfa/cjx_message.h b/fxjs/xfa/cjx_message.h
index a2a461e..989a2de 100644
--- a/fxjs/xfa/cjx_message.h
+++ b/fxjs/xfa/cjx_message.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_MESSAGE_H_
 #define FXJS_XFA_CJX_MESSAGE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Message;
@@ -16,8 +17,8 @@
   explicit CJX_Message(CXFA_Message* node);
   ~CJX_Message() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_MESSAGE_H_
diff --git a/fxjs/xfa/cjx_model.h b/fxjs/xfa/cjx_model.h
index 6071235..e517c74 100644
--- a/fxjs/xfa/cjx_model.h
+++ b/fxjs/xfa/cjx_model.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_MODEL_H_
 #define FXJS_XFA_CJX_MODEL_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Node;
@@ -17,12 +17,12 @@
   explicit CJX_Model(CXFA_Node* obj);
   ~CJX_Model() override;
 
-  JS_METHOD(clearErrorList, CJX_Model);
-  JS_METHOD(createNode, CJX_Model);
-  JS_METHOD(isCompatibleNS, CJX_Model);
+  JSE_METHOD(clearErrorList, CJX_Model);
+  JSE_METHOD(createNode, CJX_Model);
+  JSE_METHOD(isCompatibleNS, CJX_Model);
 
-  JS_PROP(aliasNode);
-  JS_PROP(context);
+  JSE_PROP(aliasNode);
+  JSE_PROP(context);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_node.h b/fxjs/xfa/cjx_node.h
index 224f44c..8d26642 100644
--- a/fxjs/xfa/cjx_node.h
+++ b/fxjs/xfa/cjx_node.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_NODE_H_
 #define FXJS_XFA_CJX_NODE_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 #include "fxjs/xfa/cjx_tree.h"
 #include "xfa/fxfa/fxfa_basic.h"
@@ -19,24 +19,24 @@
   explicit CJX_Node(CXFA_Node* node);
   ~CJX_Node() override;
 
-  JS_METHOD(applyXSL, CJX_Node);
-  JS_METHOD(assignNode, CJX_Node);
-  JS_METHOD(clone, CJX_Node);
-  JS_METHOD(getAttribute, CJX_Node);
-  JS_METHOD(getElement, CJX_Node);
-  JS_METHOD(isPropertySpecified, CJX_Node);
-  JS_METHOD(loadXML, CJX_Node);
-  JS_METHOD(saveFilteredXML, CJX_Node);
-  JS_METHOD(saveXML, CJX_Node);
-  JS_METHOD(setAttribute, CJX_Node);
-  JS_METHOD(setElement, CJX_Node);
+  JSE_METHOD(applyXSL, CJX_Node);
+  JSE_METHOD(assignNode, CJX_Node);
+  JSE_METHOD(clone, CJX_Node);
+  JSE_METHOD(getAttribute, CJX_Node);
+  JSE_METHOD(getElement, CJX_Node);
+  JSE_METHOD(isPropertySpecified, CJX_Node);
+  JSE_METHOD(loadXML, CJX_Node);
+  JSE_METHOD(saveFilteredXML, CJX_Node);
+  JSE_METHOD(saveXML, CJX_Node);
+  JSE_METHOD(setAttribute, CJX_Node);
+  JSE_METHOD(setElement, CJX_Node);
 
-  JS_PROP(id);
-  JS_PROP(isContainer);
-  JS_PROP(isNull);
-  JS_PROP(model);
-  JS_PROP(ns);
-  JS_PROP(oneOfChild);
+  JSE_PROP(id);
+  JSE_PROP(isContainer);
+  JSE_PROP(isNull);
+  JSE_PROP(model);
+  JSE_PROP(ns);
+  JSE_PROP(oneOfChild);
 
   CXFA_Node* GetXFANode();
   const CXFA_Node* GetXFANode() const;
diff --git a/fxjs/xfa/cjx_numericedit.h b/fxjs/xfa/cjx_numericedit.h
index 43f9d00..b83ccea 100644
--- a/fxjs/xfa/cjx_numericedit.h
+++ b/fxjs/xfa/cjx_numericedit.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_NUMERICEDIT_H_
 #define FXJS_XFA_CJX_NUMERICEDIT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_NumericEdit;
@@ -16,9 +17,9 @@
   explicit CJX_NumericEdit(CXFA_NumericEdit* node);
   ~CJX_NumericEdit() override;
 
-  JS_PROP(hScrollPolicy);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(hScrollPolicy);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_NUMERICEDIT_H_
diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h
index 0ee2b66..5b57cbe 100644
--- a/fxjs/xfa/cjx_object.h
+++ b/fxjs/xfa/cjx_object.h
@@ -15,7 +15,7 @@
 #include "core/fxcrt/unowned_ptr.h"
 #include "core/fxcrt/widestring.h"
 #include "core/fxcrt/xml/cfx_xmlelement.h"
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "third_party/base/optional.h"
 #include "third_party/base/span.h"
 #include "xfa/fxfa/fxfa_basic.h"
@@ -58,7 +58,7 @@
   explicit CJX_Object(CXFA_Object* obj);
   virtual ~CJX_Object();
 
-  JS_PROP(className);
+  JSE_PROP(className);
 
   CXFA_Document* GetDocument() const;
   CXFA_Object* GetXFAObject() const { return object_.Get(); }
diff --git a/fxjs/xfa/cjx_occur.h b/fxjs/xfa/cjx_occur.h
index fe17423..b67007c 100644
--- a/fxjs/xfa/cjx_occur.h
+++ b/fxjs/xfa/cjx_occur.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_OCCUR_H_
 #define FXJS_XFA_CJX_OCCUR_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Occur;
@@ -16,11 +17,11 @@
   explicit CJX_Occur(CXFA_Occur* node);
   ~CJX_Occur() override;
 
-  JS_PROP(initial);
-  JS_PROP(max);
-  JS_PROP(min);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(initial);
+  JSE_PROP(max);
+  JSE_PROP(min);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_OCCUR_H_
diff --git a/fxjs/xfa/cjx_oid.h b/fxjs/xfa/cjx_oid.h
index 2578388..8380d27 100644
--- a/fxjs/xfa/cjx_oid.h
+++ b/fxjs/xfa/cjx_oid.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_OID_H_
 #define FXJS_XFA_CJX_OID_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Oid;
@@ -16,8 +17,8 @@
   explicit CJX_Oid(CXFA_Oid* node);
   ~CJX_Oid() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_OID_H_
diff --git a/fxjs/xfa/cjx_oids.h b/fxjs/xfa/cjx_oids.h
index 9951206..64d751b 100644
--- a/fxjs/xfa/cjx_oids.h
+++ b/fxjs/xfa/cjx_oids.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_OIDS_H_
 #define FXJS_XFA_CJX_OIDS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Oids;
@@ -16,9 +17,9 @@
   explicit CJX_Oids(CXFA_Oids* node);
   ~CJX_Oids() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_OIDS_H_
diff --git a/fxjs/xfa/cjx_operation.h b/fxjs/xfa/cjx_operation.h
index b32ea62..36411f6 100644
--- a/fxjs/xfa/cjx_operation.h
+++ b/fxjs/xfa/cjx_operation.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_OPERATION_H_
 #define FXJS_XFA_CJX_OPERATION_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Operation;
@@ -16,10 +17,10 @@
   explicit CJX_Operation(CXFA_Operation* node);
   ~CJX_Operation() override;
 
-  JS_PROP(input);
-  JS_PROP(output);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(input);
+  JSE_PROP(output);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_OPERATION_H_
diff --git a/fxjs/xfa/cjx_overflow.h b/fxjs/xfa/cjx_overflow.h
index c4f94b8..e0859ae 100644
--- a/fxjs/xfa/cjx_overflow.h
+++ b/fxjs/xfa/cjx_overflow.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_OVERFLOW_H_
 #define FXJS_XFA_CJX_OVERFLOW_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Overflow;
@@ -16,11 +17,11 @@
   explicit CJX_Overflow(CXFA_Overflow* node);
   ~CJX_Overflow() override;
 
-  JS_PROP(leader);
-  JS_PROP(target);
-  JS_PROP(trailer);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(leader);
+  JSE_PROP(target);
+  JSE_PROP(trailer);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_OVERFLOW_H_
diff --git a/fxjs/xfa/cjx_packet.h b/fxjs/xfa/cjx_packet.h
index 573ea3a..7950678 100644
--- a/fxjs/xfa/cjx_packet.h
+++ b/fxjs/xfa/cjx_packet.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_PACKET_H_
 #define FXJS_XFA_CJX_PACKET_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Packet;
@@ -17,11 +17,11 @@
   explicit CJX_Packet(CXFA_Packet* packet);
   ~CJX_Packet() override;
 
-  JS_METHOD(getAttribute, CJX_Packet);
-  JS_METHOD(removeAttribute, CJX_Packet);
-  JS_METHOD(setAttribute, CJX_Packet);
+  JSE_METHOD(getAttribute, CJX_Packet);
+  JSE_METHOD(removeAttribute, CJX_Packet);
+  JSE_METHOD(setAttribute, CJX_Packet);
 
-  JS_PROP(content);
+  JSE_PROP(content);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_pagearea.h b/fxjs/xfa/cjx_pagearea.h
index 8935fa6..df3db36 100644
--- a/fxjs/xfa/cjx_pagearea.h
+++ b/fxjs/xfa/cjx_pagearea.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_PAGEAREA_H_
 #define FXJS_XFA_CJX_PAGEAREA_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_PageArea;
@@ -16,14 +17,14 @@
   explicit CJX_PageArea(CXFA_PageArea* node);
   ~CJX_PageArea() override;
 
-  JS_PROP(blankOrNotBlank);
-  JS_PROP(initialNumber);
-  JS_PROP(numbered);
-  JS_PROP(oddOrEven);
-  JS_PROP(pagePosition);
-  JS_PROP(relevant);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(blankOrNotBlank);
+  JSE_PROP(initialNumber);
+  JSE_PROP(numbered);
+  JSE_PROP(oddOrEven);
+  JSE_PROP(pagePosition);
+  JSE_PROP(relevant);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_PAGEAREA_H_
diff --git a/fxjs/xfa/cjx_pageset.h b/fxjs/xfa/cjx_pageset.h
index 7e0ab17..d0cd12b 100644
--- a/fxjs/xfa/cjx_pageset.h
+++ b/fxjs/xfa/cjx_pageset.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_PAGESET_H_
 #define FXJS_XFA_CJX_PAGESET_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_PageSet;
@@ -16,10 +17,10 @@
   explicit CJX_PageSet(CXFA_PageSet* node);
   ~CJX_PageSet() override;
 
-  JS_PROP(relation);
-  JS_PROP(relevant);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(relation);
+  JSE_PROP(relevant);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_PAGESET_H_
diff --git a/fxjs/xfa/cjx_para.h b/fxjs/xfa/cjx_para.h
index 6bf2841..27e3189 100644
--- a/fxjs/xfa/cjx_para.h
+++ b/fxjs/xfa/cjx_para.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_PARA_H_
 #define FXJS_XFA_CJX_PARA_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Para;
@@ -16,20 +17,20 @@
   explicit CJX_Para(CXFA_Para* node);
   ~CJX_Para() override;
 
-  JS_PROP(hAlign);
-  JS_PROP(lineHeight);
-  JS_PROP(marginLeft);
-  JS_PROP(marginRight);
-  JS_PROP(preserve);
-  JS_PROP(radixOffset);
-  JS_PROP(spaceAbove);
-  JS_PROP(spaceBelow);
-  JS_PROP(tabDefault);
-  JS_PROP(tabStops);
-  JS_PROP(textIndent);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(vAlign);
+  JSE_PROP(hAlign);
+  JSE_PROP(lineHeight);
+  JSE_PROP(marginLeft);
+  JSE_PROP(marginRight);
+  JSE_PROP(preserve);
+  JSE_PROP(radixOffset);
+  JSE_PROP(spaceAbove);
+  JSE_PROP(spaceBelow);
+  JSE_PROP(tabDefault);
+  JSE_PROP(tabStops);
+  JSE_PROP(textIndent);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(vAlign);
 };
 
 #endif  // FXJS_XFA_CJX_PARA_H_
diff --git a/fxjs/xfa/cjx_password.h b/fxjs/xfa/cjx_password.h
index ede93cc..bd6b955 100644
--- a/fxjs/xfa/cjx_password.h
+++ b/fxjs/xfa/cjx_password.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_PASSWORD_H_
 #define FXJS_XFA_CJX_PASSWORD_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Password;
@@ -16,8 +17,8 @@
   explicit CJX_Password(CXFA_Password* node);
   ~CJX_Password() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_PASSWORD_H_
diff --git a/fxjs/xfa/cjx_passwordedit.h b/fxjs/xfa/cjx_passwordedit.h
index e4a5fcb..df6d8eb 100644
--- a/fxjs/xfa/cjx_passwordedit.h
+++ b/fxjs/xfa/cjx_passwordedit.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_PASSWORDEDIT_H_
 #define FXJS_XFA_CJX_PASSWORDEDIT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_PasswordEdit;
@@ -16,10 +17,10 @@
   explicit CJX_PasswordEdit(CXFA_PasswordEdit* node);
   ~CJX_PasswordEdit() override;
 
-  JS_PROP(hScrollPolicy);
-  JS_PROP(passwordChar);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(hScrollPolicy);
+  JSE_PROP(passwordChar);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_PASSWORDEDIT_H_
diff --git a/fxjs/xfa/cjx_pattern.h b/fxjs/xfa/cjx_pattern.h
index 81754b8..bc3abd0 100644
--- a/fxjs/xfa/cjx_pattern.h
+++ b/fxjs/xfa/cjx_pattern.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_PATTERN_H_
 #define FXJS_XFA_CJX_PATTERN_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Pattern;
@@ -16,9 +17,9 @@
   explicit CJX_Pattern(CXFA_Pattern* node);
   ~CJX_Pattern() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_PATTERN_H_
diff --git a/fxjs/xfa/cjx_picture.h b/fxjs/xfa/cjx_picture.h
index 25497c3..a07cee7 100644
--- a/fxjs/xfa/cjx_picture.h
+++ b/fxjs/xfa/cjx_picture.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_PICTURE_H_
 #define FXJS_XFA_CJX_PICTURE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Picture;
@@ -16,10 +17,10 @@
   explicit CJX_Picture(CXFA_Picture* node);
   ~CJX_Picture() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_PICTURE_H_
diff --git a/fxjs/xfa/cjx_query.h b/fxjs/xfa/cjx_query.h
index 1057fa2..7ad281a 100644
--- a/fxjs/xfa/cjx_query.h
+++ b/fxjs/xfa/cjx_query.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_QUERY_H_
 #define FXJS_XFA_CJX_QUERY_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Query;
@@ -16,9 +17,9 @@
   explicit CJX_Query(CXFA_Query* node);
   ~CJX_Query() override;
 
-  JS_PROP(commandType);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(commandType);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_QUERY_H_
diff --git a/fxjs/xfa/cjx_radial.h b/fxjs/xfa/cjx_radial.h
index 3073797..0ac8386 100644
--- a/fxjs/xfa/cjx_radial.h
+++ b/fxjs/xfa/cjx_radial.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_RADIAL_H_
 #define FXJS_XFA_CJX_RADIAL_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Radial;
@@ -16,9 +17,9 @@
   explicit CJX_Radial(CXFA_Radial* node);
   ~CJX_Radial() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_RADIAL_H_
diff --git a/fxjs/xfa/cjx_reason.h b/fxjs/xfa/cjx_reason.h
index 465cede..bfff550 100644
--- a/fxjs/xfa/cjx_reason.h
+++ b/fxjs/xfa/cjx_reason.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_REASON_H_
 #define FXJS_XFA_CJX_REASON_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Reason;
@@ -16,8 +17,8 @@
   explicit CJX_Reason(CXFA_Reason* node);
   ~CJX_Reason() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_REASON_H_
diff --git a/fxjs/xfa/cjx_reasons.h b/fxjs/xfa/cjx_reasons.h
index a5da62a..c6a4b35 100644
--- a/fxjs/xfa/cjx_reasons.h
+++ b/fxjs/xfa/cjx_reasons.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_REASONS_H_
 #define FXJS_XFA_CJX_REASONS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Reasons;
@@ -16,9 +17,9 @@
   explicit CJX_Reasons(CXFA_Reasons* node);
   ~CJX_Reasons() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_REASONS_H_
diff --git a/fxjs/xfa/cjx_recordset.h b/fxjs/xfa/cjx_recordset.h
index 7c34f6e..da2319f 100644
--- a/fxjs/xfa/cjx_recordset.h
+++ b/fxjs/xfa/cjx_recordset.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_RECORDSET_H_
 #define FXJS_XFA_CJX_RECORDSET_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_RecordSet;
@@ -16,14 +17,14 @@
   explicit CJX_RecordSet(CXFA_RecordSet* node);
   ~CJX_RecordSet() override;
 
-  JS_PROP(bofAction);
-  JS_PROP(cursorLocation);
-  JS_PROP(cursorType);
-  JS_PROP(eofAction);
-  JS_PROP(lockType);
-  JS_PROP(max);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(bofAction);
+  JSE_PROP(cursorLocation);
+  JSE_PROP(cursorType);
+  JSE_PROP(eofAction);
+  JSE_PROP(lockType);
+  JSE_PROP(max);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_RECORDSET_H_
diff --git a/fxjs/xfa/cjx_rectangle.h b/fxjs/xfa/cjx_rectangle.h
index c08f7a9..e241b98 100644
--- a/fxjs/xfa/cjx_rectangle.h
+++ b/fxjs/xfa/cjx_rectangle.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_RECTANGLE_H_
 #define FXJS_XFA_CJX_RECTANGLE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Rectangle;
@@ -16,9 +17,9 @@
   explicit CJX_Rectangle(CXFA_Rectangle* node);
   ~CJX_Rectangle() override;
 
-  JS_PROP(hand);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(hand);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_RECTANGLE_H_
diff --git a/fxjs/xfa/cjx_ref.h b/fxjs/xfa/cjx_ref.h
index 4366282..9a36fc3 100644
--- a/fxjs/xfa/cjx_ref.h
+++ b/fxjs/xfa/cjx_ref.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_REF_H_
 #define FXJS_XFA_CJX_REF_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Ref;
@@ -16,8 +17,8 @@
   explicit CJX_Ref(CXFA_Ref* node);
   ~CJX_Ref() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_REF_H_
diff --git a/fxjs/xfa/cjx_rootelement.h b/fxjs/xfa/cjx_rootelement.h
index 40790df..925f751 100644
--- a/fxjs/xfa/cjx_rootelement.h
+++ b/fxjs/xfa/cjx_rootelement.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_ROOTELEMENT_H_
 #define FXJS_XFA_CJX_ROOTELEMENT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_RootElement;
@@ -16,8 +17,8 @@
   explicit CJX_RootElement(CXFA_RootElement* node);
   ~CJX_RootElement() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ROOTELEMENT_H_
diff --git a/fxjs/xfa/cjx_script.h b/fxjs/xfa/cjx_script.h
index ad5f994..fe76df4 100644
--- a/fxjs/xfa/cjx_script.h
+++ b/fxjs/xfa/cjx_script.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SCRIPT_H_
 #define FXJS_XFA_CJX_SCRIPT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Script;
@@ -16,14 +17,14 @@
   explicit CJX_Script(CXFA_Script* node);
   ~CJX_Script() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(binding);
-  JS_PROP(contentType);
-  JS_PROP(runAt);
-  JS_PROP(stateless);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(binding);
+  JSE_PROP(contentType);
+  JSE_PROP(runAt);
+  JSE_PROP(stateless);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_SCRIPT_H_
diff --git a/fxjs/xfa/cjx_select.h b/fxjs/xfa/cjx_select.h
index 334c003..d59c1d6 100644
--- a/fxjs/xfa/cjx_select.h
+++ b/fxjs/xfa/cjx_select.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SELECT_H_
 #define FXJS_XFA_CJX_SELECT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Select;
@@ -16,8 +17,8 @@
   explicit CJX_Select(CXFA_Select* node);
   ~CJX_Select() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SELECT_H_
diff --git a/fxjs/xfa/cjx_setproperty.h b/fxjs/xfa/cjx_setproperty.h
index 9929fef..1d8441f 100644
--- a/fxjs/xfa/cjx_setproperty.h
+++ b/fxjs/xfa/cjx_setproperty.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SETPROPERTY_H_
 #define FXJS_XFA_CJX_SETPROPERTY_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_SetProperty;
@@ -16,8 +17,8 @@
   explicit CJX_SetProperty(CXFA_SetProperty* node);
   ~CJX_SetProperty() override;
 
-  JS_PROP(connection);
-  JS_PROP(target);
+  JSE_PROP(connection);
+  JSE_PROP(target);
 };
 
 #endif  // FXJS_XFA_CJX_SETPROPERTY_H_
diff --git a/fxjs/xfa/cjx_signature.h b/fxjs/xfa/cjx_signature.h
index bed0b1a..12a1478 100644
--- a/fxjs/xfa/cjx_signature.h
+++ b/fxjs/xfa/cjx_signature.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SIGNATURE_H_
 #define FXJS_XFA_CJX_SIGNATURE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Signature;
@@ -16,8 +17,8 @@
   explicit CJX_Signature(CXFA_Signature* node);
   ~CJX_Signature() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SIGNATURE_H_
diff --git a/fxjs/xfa/cjx_signatureproperties.h b/fxjs/xfa/cjx_signatureproperties.h
index ffd47a3..6fd59cf 100644
--- a/fxjs/xfa/cjx_signatureproperties.h
+++ b/fxjs/xfa/cjx_signatureproperties.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SIGNATUREPROPERTIES_H_
 #define FXJS_XFA_CJX_SIGNATUREPROPERTIES_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_SignatureProperties;
@@ -17,8 +18,8 @@
   explicit CJX_SignatureProperties(CXFA_SignatureProperties* node);
   ~CJX_SignatureProperties() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SIGNATUREPROPERTIES_H_
diff --git a/fxjs/xfa/cjx_signaturepseudomodel.h b/fxjs/xfa/cjx_signaturepseudomodel.h
index 0aecfa5..0184cba 100644
--- a/fxjs/xfa/cjx_signaturepseudomodel.h
+++ b/fxjs/xfa/cjx_signaturepseudomodel.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_SIGNATUREPSEUDOMODEL_H_
 #define FXJS_XFA_CJX_SIGNATUREPSEUDOMODEL_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 
 class CScript_SignaturePseudoModel;
@@ -17,10 +17,10 @@
   explicit CJX_SignaturePseudoModel(CScript_SignaturePseudoModel* model);
   ~CJX_SignaturePseudoModel() override;
 
-  JS_METHOD(verifySignature /*verify*/, CJX_SignaturePseudoModel);
-  JS_METHOD(sign, CJX_SignaturePseudoModel);
-  JS_METHOD(enumerate, CJX_SignaturePseudoModel);
-  JS_METHOD(clear, CJX_SignaturePseudoModel);
+  JSE_METHOD(verifySignature /*verify*/, CJX_SignaturePseudoModel);
+  JSE_METHOD(sign, CJX_SignaturePseudoModel);
+  JSE_METHOD(enumerate, CJX_SignaturePseudoModel);
+  JSE_METHOD(clear, CJX_SignaturePseudoModel);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_signdata.h b/fxjs/xfa/cjx_signdata.h
index 7d9b175..8b68877 100644
--- a/fxjs/xfa/cjx_signdata.h
+++ b/fxjs/xfa/cjx_signdata.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SIGNDATA_H_
 #define FXJS_XFA_CJX_SIGNDATA_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_SignData;
@@ -16,11 +17,11 @@
   explicit CJX_SignData(CXFA_SignData* node);
   ~CJX_SignData() override;
 
-  JS_PROP(operation);
-  JS_PROP(ref);
-  JS_PROP(target);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(operation);
+  JSE_PROP(ref);
+  JSE_PROP(target);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SIGNDATA_H_
diff --git a/fxjs/xfa/cjx_signing.h b/fxjs/xfa/cjx_signing.h
index 8b35509..428e92b 100644
--- a/fxjs/xfa/cjx_signing.h
+++ b/fxjs/xfa/cjx_signing.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SIGNING_H_
 #define FXJS_XFA_CJX_SIGNING_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Signing;
@@ -16,9 +17,9 @@
   explicit CJX_Signing(CXFA_Signing* node);
   ~CJX_Signing() override;
 
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SIGNING_H_
diff --git a/fxjs/xfa/cjx_soapaction.h b/fxjs/xfa/cjx_soapaction.h
index efc90e4..3da3825 100644
--- a/fxjs/xfa/cjx_soapaction.h
+++ b/fxjs/xfa/cjx_soapaction.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SOAPACTION_H_
 #define FXJS_XFA_CJX_SOAPACTION_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_SoapAction;
@@ -16,8 +17,8 @@
   explicit CJX_SoapAction(CXFA_SoapAction* node);
   ~CJX_SoapAction() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SOAPACTION_H_
diff --git a/fxjs/xfa/cjx_soapaddress.h b/fxjs/xfa/cjx_soapaddress.h
index 3e6e004..14e7abf 100644
--- a/fxjs/xfa/cjx_soapaddress.h
+++ b/fxjs/xfa/cjx_soapaddress.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SOAPADDRESS_H_
 #define FXJS_XFA_CJX_SOAPADDRESS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_SoapAddress;
@@ -16,8 +17,8 @@
   explicit CJX_SoapAddress(CXFA_SoapAddress* node);
   ~CJX_SoapAddress() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SOAPADDRESS_H_
diff --git a/fxjs/xfa/cjx_solid.h b/fxjs/xfa/cjx_solid.h
index 3b8dd5e..a6ecc7b 100644
--- a/fxjs/xfa/cjx_solid.h
+++ b/fxjs/xfa/cjx_solid.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SOLID_H_
 #define FXJS_XFA_CJX_SOLID_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Solid;
@@ -16,8 +17,8 @@
   explicit CJX_Solid(CXFA_Solid* node);
   ~CJX_Solid() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SOLID_H_
diff --git a/fxjs/xfa/cjx_source.h b/fxjs/xfa/cjx_source.h
index dcbdfde..66e61f0 100644
--- a/fxjs/xfa/cjx_source.h
+++ b/fxjs/xfa/cjx_source.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_SOURCE_H_
 #define FXJS_XFA_CJX_SOURCE_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Source;
@@ -17,27 +17,27 @@
   explicit CJX_Source(CXFA_Source* src);
   ~CJX_Source() override;
 
-  JS_METHOD(addNew, CJX_Source);
-  JS_METHOD(cancel, CJX_Source);
-  JS_METHOD(cancelBatch, CJX_Source);
-  JS_METHOD(close, CJX_Source);
-  JS_METHOD(deleteItem /*delete*/, CJX_Source);
-  JS_METHOD(first, CJX_Source);
-  JS_METHOD(hasDataChanged, CJX_Source);
-  JS_METHOD(isBOF, CJX_Source);
-  JS_METHOD(isEOF, CJX_Source);
-  JS_METHOD(last, CJX_Source);
-  JS_METHOD(next, CJX_Source);
-  JS_METHOD(open, CJX_Source);
-  JS_METHOD(previous, CJX_Source);
-  JS_METHOD(requery, CJX_Source);
-  JS_METHOD(resync, CJX_Source);
-  JS_METHOD(update, CJX_Source);
-  JS_METHOD(updateBatch, CJX_Source);
+  JSE_METHOD(addNew, CJX_Source);
+  JSE_METHOD(cancel, CJX_Source);
+  JSE_METHOD(cancelBatch, CJX_Source);
+  JSE_METHOD(close, CJX_Source);
+  JSE_METHOD(deleteItem /*delete*/, CJX_Source);
+  JSE_METHOD(first, CJX_Source);
+  JSE_METHOD(hasDataChanged, CJX_Source);
+  JSE_METHOD(isBOF, CJX_Source);
+  JSE_METHOD(isEOF, CJX_Source);
+  JSE_METHOD(last, CJX_Source);
+  JSE_METHOD(next, CJX_Source);
+  JSE_METHOD(open, CJX_Source);
+  JSE_METHOD(previous, CJX_Source);
+  JSE_METHOD(requery, CJX_Source);
+  JSE_METHOD(resync, CJX_Source);
+  JSE_METHOD(update, CJX_Source);
+  JSE_METHOD(updateBatch, CJX_Source);
 
-  JS_PROP(db);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(db);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_sourceset.h b/fxjs/xfa/cjx_sourceset.h
index de4ac68..32018a9 100644
--- a/fxjs/xfa/cjx_sourceset.h
+++ b/fxjs/xfa/cjx_sourceset.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SOURCESET_H_
 #define FXJS_XFA_CJX_SOURCESET_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_model.h"
 
 class CXFA_SourceSet;
@@ -16,8 +17,8 @@
   explicit CJX_SourceSet(CXFA_SourceSet* node);
   ~CJX_SourceSet() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SOURCESET_H_
diff --git a/fxjs/xfa/cjx_speak.h b/fxjs/xfa/cjx_speak.h
index 5698105..4e96b02 100644
--- a/fxjs/xfa/cjx_speak.h
+++ b/fxjs/xfa/cjx_speak.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SPEAK_H_
 #define FXJS_XFA_CJX_SPEAK_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Speak;
@@ -16,10 +17,10 @@
   explicit CJX_Speak(CXFA_Speak* node);
   ~CJX_Speak() override;
 
-  JS_PROP(disable);
-  JS_PROP(priority);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(disable);
+  JSE_PROP(priority);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SPEAK_H_
diff --git a/fxjs/xfa/cjx_stipple.h b/fxjs/xfa/cjx_stipple.h
index 68ddd83..db3ba1d 100644
--- a/fxjs/xfa/cjx_stipple.h
+++ b/fxjs/xfa/cjx_stipple.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_STIPPLE_H_
 #define FXJS_XFA_CJX_STIPPLE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Stipple;
@@ -16,9 +17,9 @@
   explicit CJX_Stipple(CXFA_Stipple* node);
   ~CJX_Stipple() override;
 
-  JS_PROP(rate);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(rate);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_STIPPLE_H_
diff --git a/fxjs/xfa/cjx_subform.h b/fxjs/xfa/cjx_subform.h
index e982fa5..2c2d19b 100644
--- a/fxjs/xfa/cjx_subform.h
+++ b/fxjs/xfa/cjx_subform.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_SUBFORM_H_
 #define FXJS_XFA_CJX_SUBFORM_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_Delta;
@@ -17,35 +17,35 @@
   explicit CJX_Subform(CXFA_Node* container);
   ~CJX_Subform() override;
 
-  JS_METHOD(execCalculate, CJX_Subform);
-  JS_METHOD(execEvent, CJX_Subform);
-  JS_METHOD(execInitialize, CJX_Subform);
-  JS_METHOD(execValidate, CJX_Subform);
+  JSE_METHOD(execCalculate, CJX_Subform);
+  JSE_METHOD(execEvent, CJX_Subform);
+  JSE_METHOD(execInitialize, CJX_Subform);
+  JSE_METHOD(execValidate, CJX_Subform);
 
-  JS_PROP(allowMacro);
-  JS_PROP(anchorType);
-  JS_PROP(colSpan);
-  JS_PROP(columnWidths);
-  JS_PROP(h);
-  JS_PROP(hAlign);
-  JS_PROP(instanceIndex);
-  JS_PROP(layout);
-  JS_PROP(locale);
-  JS_PROP(maxH);
-  JS_PROP(maxW);
-  JS_PROP(minH);
-  JS_PROP(minW);
-  JS_PROP(presence);
-  JS_PROP(relevant);
-  JS_PROP(restoreState);
-  JS_PROP(scope);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(validationMessage);
-  JS_PROP(vAlign);
-  JS_PROP(w);
-  JS_PROP(x);
-  JS_PROP(y);
+  JSE_PROP(allowMacro);
+  JSE_PROP(anchorType);
+  JSE_PROP(colSpan);
+  JSE_PROP(columnWidths);
+  JSE_PROP(h);
+  JSE_PROP(hAlign);
+  JSE_PROP(instanceIndex);
+  JSE_PROP(layout);
+  JSE_PROP(locale);
+  JSE_PROP(maxH);
+  JSE_PROP(maxW);
+  JSE_PROP(minH);
+  JSE_PROP(minW);
+  JSE_PROP(presence);
+  JSE_PROP(relevant);
+  JSE_PROP(restoreState);
+  JSE_PROP(scope);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(validationMessage);
+  JSE_PROP(vAlign);
+  JSE_PROP(w);
+  JSE_PROP(x);
+  JSE_PROP(y);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_subformset.h b/fxjs/xfa/cjx_subformset.h
index 589b44d..f455156 100644
--- a/fxjs/xfa/cjx_subformset.h
+++ b/fxjs/xfa/cjx_subformset.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SUBFORMSET_H_
 #define FXJS_XFA_CJX_SUBFORMSET_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_SubformSet;
@@ -16,11 +17,11 @@
   explicit CJX_SubformSet(CXFA_SubformSet* node);
   ~CJX_SubformSet() override;
 
-  JS_PROP(instanceIndex);
-  JS_PROP(relation);
-  JS_PROP(relevant);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(instanceIndex);
+  JSE_PROP(relation);
+  JSE_PROP(relevant);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SUBFORMSET_H_
diff --git a/fxjs/xfa/cjx_subjectdn.h b/fxjs/xfa/cjx_subjectdn.h
index d13218b..22b86b2 100644
--- a/fxjs/xfa/cjx_subjectdn.h
+++ b/fxjs/xfa/cjx_subjectdn.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SUBJECTDN_H_
 #define FXJS_XFA_CJX_SUBJECTDN_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_SubjectDN;
@@ -16,7 +17,7 @@
   explicit CJX_SubjectDN(CXFA_SubjectDN* node);
   ~CJX_SubjectDN() override;
 
-  JS_PROP(delimiter);
+  JSE_PROP(delimiter);
 };
 
 #endif  // FXJS_XFA_CJX_SUBJECTDN_H_
diff --git a/fxjs/xfa/cjx_subjectdns.h b/fxjs/xfa/cjx_subjectdns.h
index 104d826..1e3cd22 100644
--- a/fxjs/xfa/cjx_subjectdns.h
+++ b/fxjs/xfa/cjx_subjectdns.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SUBJECTDNS_H_
 #define FXJS_XFA_CJX_SUBJECTDNS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_SubjectDNs;
@@ -16,7 +17,7 @@
   explicit CJX_SubjectDNs(CXFA_SubjectDNs* node);
   ~CJX_SubjectDNs() override;
 
-  JS_PROP(type);
+  JSE_PROP(type);
 };
 
 #endif  // FXJS_XFA_CJX_SUBJECTDNS_H_
diff --git a/fxjs/xfa/cjx_submit.h b/fxjs/xfa/cjx_submit.h
index aefec32..90aa8d2 100644
--- a/fxjs/xfa/cjx_submit.h
+++ b/fxjs/xfa/cjx_submit.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_SUBMIT_H_
 #define FXJS_XFA_CJX_SUBMIT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Submit;
@@ -16,13 +17,13 @@
   explicit CJX_Submit(CXFA_Submit* node);
   ~CJX_Submit() override;
 
-  JS_PROP(embedPDF);
-  JS_PROP(format);
-  JS_PROP(target);
-  JS_PROP(textEncoding);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(xdpContent);
+  JSE_PROP(embedPDF);
+  JSE_PROP(format);
+  JSE_PROP(target);
+  JSE_PROP(textEncoding);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(xdpContent);
 };
 
 #endif  // FXJS_XFA_CJX_SUBMIT_H_
diff --git a/fxjs/xfa/cjx_template.h b/fxjs/xfa/cjx_template.h
index e67b1b7..d54020d 100644
--- a/fxjs/xfa/cjx_template.h
+++ b/fxjs/xfa/cjx_template.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_TEMPLATE_H_
 #define FXJS_XFA_CJX_TEMPLATE_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_model.h"
 
 class CXFA_Template;
@@ -20,12 +20,12 @@
   /* The docs list a |createNode| method on Template but that method already
    * exists on Model, also the |createNode| docs say it exists on Model not
    * on Template so I'm leaving |createNode| out of the template methods. */
-  JS_METHOD(execCalculate, CJX_Template);
-  JS_METHOD(execInitialize, CJX_Template);
-  JS_METHOD(execValidate, CJX_Template);
-  JS_METHOD(formNodes, CJX_Template);
-  JS_METHOD(recalculate, CJX_Template);
-  JS_METHOD(remerge, CJX_Template);
+  JSE_METHOD(execCalculate, CJX_Template);
+  JSE_METHOD(execInitialize, CJX_Template);
+  JSE_METHOD(execValidate, CJX_Template);
+  JSE_METHOD(formNodes, CJX_Template);
+  JSE_METHOD(recalculate, CJX_Template);
+  JSE_METHOD(remerge, CJX_Template);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_text.h b/fxjs/xfa/cjx_text.h
index 386a7a9..a5c0e81 100644
--- a/fxjs/xfa/cjx_text.h
+++ b/fxjs/xfa/cjx_text.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_TEXT_H_
 #define FXJS_XFA_CJX_TEXT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_content.h"
 
 class CXFA_Text;
@@ -16,11 +17,11 @@
   explicit CJX_Text(CXFA_Text* node);
   ~CJX_Text() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(maxChars);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(maxChars);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_TEXT_H_
diff --git a/fxjs/xfa/cjx_textedit.h b/fxjs/xfa/cjx_textedit.h
index c7f42c9..1c41b9e 100644
--- a/fxjs/xfa/cjx_textedit.h
+++ b/fxjs/xfa/cjx_textedit.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_TEXTEDIT_H_
 #define FXJS_XFA_CJX_TEXTEDIT_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_TextEdit;
@@ -16,12 +17,12 @@
   explicit CJX_TextEdit(CXFA_TextEdit* node);
   ~CJX_TextEdit() override;
 
-  JS_PROP(allowRichText);
-  JS_PROP(hScrollPolicy);
-  JS_PROP(multiLine);
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(vScrollPolicy);
+  JSE_PROP(allowRichText);
+  JSE_PROP(hScrollPolicy);
+  JSE_PROP(multiLine);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(vScrollPolicy);
 };
 
 #endif  // FXJS_XFA_CJX_TEXTEDIT_H_
diff --git a/fxjs/xfa/cjx_textnode.h b/fxjs/xfa/cjx_textnode.h
index f3dbe19..3024a2f 100644
--- a/fxjs/xfa/cjx_textnode.h
+++ b/fxjs/xfa/cjx_textnode.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_TEXTNODE_H_
 #define FXJS_XFA_CJX_TEXTNODE_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Node;
@@ -17,8 +17,8 @@
   explicit CJX_TextNode(CXFA_Node* node);
   ~CJX_TextNode() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_TEXTNODE_H_
diff --git a/fxjs/xfa/cjx_time.h b/fxjs/xfa/cjx_time.h
index 95b05cc..32e75cb 100644
--- a/fxjs/xfa/cjx_time.h
+++ b/fxjs/xfa/cjx_time.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_TIME_H_
 #define FXJS_XFA_CJX_TIME_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_content.h"
 
 class CXFA_Time;
@@ -16,10 +17,10 @@
   explicit CJX_Time(CXFA_Time* node);
   ~CJX_Time() override;
 
-  JS_PROP(defaultValue); /* {default} */
-  JS_PROP(use);
-  JS_PROP(usehref);
-  JS_PROP(value);
+  JSE_PROP(defaultValue); /* {default} */
+  JSE_PROP(use);
+  JSE_PROP(usehref);
+  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_TIME_H_
diff --git a/fxjs/xfa/cjx_timestamp.h b/fxjs/xfa/cjx_timestamp.h
index ad7ab02..c8aab82 100644
--- a/fxjs/xfa/cjx_timestamp.h
+++ b/fxjs/xfa/cjx_timestamp.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_TIMESTAMP_H_
 #define FXJS_XFA_CJX_TIMESTAMP_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_TimeStamp;
@@ -16,10 +17,10 @@
   explicit CJX_TimeStamp(CXFA_TimeStamp* node);
   ~CJX_TimeStamp() override;
 
-  JS_PROP(server);
-  JS_PROP(type);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(server);
+  JSE_PROP(type);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_TIMESTAMP_H_
diff --git a/fxjs/xfa/cjx_tooltip.h b/fxjs/xfa/cjx_tooltip.h
index 178d11b..51c21d8 100644
--- a/fxjs/xfa/cjx_tooltip.h
+++ b/fxjs/xfa/cjx_tooltip.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_TOOLTIP_H_
 #define FXJS_XFA_CJX_TOOLTIP_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_ToolTip;
@@ -16,8 +17,8 @@
   explicit CJX_ToolTip(CXFA_ToolTip* node);
   ~CJX_ToolTip() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_TOOLTIP_H_
diff --git a/fxjs/xfa/cjx_traversal.h b/fxjs/xfa/cjx_traversal.h
index d9072f3..f7e1258 100644
--- a/fxjs/xfa/cjx_traversal.h
+++ b/fxjs/xfa/cjx_traversal.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_TRAVERSAL_H_
 #define FXJS_XFA_CJX_TRAVERSAL_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Traversal;
@@ -16,8 +17,8 @@
   explicit CJX_Traversal(CXFA_Traversal* node);
   ~CJX_Traversal() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_TRAVERSAL_H_
diff --git a/fxjs/xfa/cjx_traverse.h b/fxjs/xfa/cjx_traverse.h
index 2eef88e..d6f43af 100644
--- a/fxjs/xfa/cjx_traverse.h
+++ b/fxjs/xfa/cjx_traverse.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_TRAVERSE_H_
 #define FXJS_XFA_CJX_TRAVERSE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Traverse;
@@ -16,10 +17,10 @@
   explicit CJX_Traverse(CXFA_Traverse* node);
   ~CJX_Traverse() override;
 
-  JS_PROP(operation);
-  JS_PROP(ref);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(operation);
+  JSE_PROP(ref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_TRAVERSE_H_
diff --git a/fxjs/xfa/cjx_tree.h b/fxjs/xfa/cjx_tree.h
index 22b3aca..5634cf4 100644
--- a/fxjs/xfa/cjx_tree.h
+++ b/fxjs/xfa/cjx_tree.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_TREE_H_
 #define FXJS_XFA_CJX_TREE_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_object.h"
 
 class CXFA_Object;
@@ -18,17 +18,17 @@
   explicit CJX_Tree(CXFA_Object* obj);
   ~CJX_Tree() override;
 
-  JS_METHOD(resolveNode, CJX_Tree);
-  JS_METHOD(resolveNodes, CJX_Tree);
+  JSE_METHOD(resolveNode, CJX_Tree);
+  JSE_METHOD(resolveNodes, CJX_Tree);
 
-  JS_PROP(all);
-  JS_PROP(classAll);
-  JS_PROP(classIndex);
-  JS_PROP(index);
-  JS_PROP(name);
-  JS_PROP(nodes);
-  JS_PROP(parent);
-  JS_PROP(somExpression);
+  JSE_PROP(all);
+  JSE_PROP(classAll);
+  JSE_PROP(classIndex);
+  JSE_PROP(index);
+  JSE_PROP(name);
+  JSE_PROP(nodes);
+  JSE_PROP(parent);
+  JSE_PROP(somExpression);
 
  private:
   void ResolveNodeList(CFXJSE_Value* pValue,
diff --git a/fxjs/xfa/cjx_treelist.h b/fxjs/xfa/cjx_treelist.h
index b3f1daf..c6f2919 100644
--- a/fxjs/xfa/cjx_treelist.h
+++ b/fxjs/xfa/cjx_treelist.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_TREELIST_H_
 #define FXJS_XFA_CJX_TREELIST_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_list.h"
 
 class CXFA_TreeList;
@@ -17,7 +17,7 @@
   explicit CJX_TreeList(CXFA_TreeList* list);
   ~CJX_TreeList() override;
 
-  JS_METHOD(namedItem, CJX_TreeList);
+  JSE_METHOD(namedItem, CJX_TreeList);
 
  private:
   CXFA_TreeList* GetXFATreeList();
diff --git a/fxjs/xfa/cjx_ui.h b/fxjs/xfa/cjx_ui.h
index e82b1de..e63fa47 100644
--- a/fxjs/xfa/cjx_ui.h
+++ b/fxjs/xfa/cjx_ui.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_UI_H_
 #define FXJS_XFA_CJX_UI_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Ui;
@@ -16,8 +17,8 @@
   explicit CJX_Ui(CXFA_Ui* node);
   ~CJX_Ui() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_UI_H_
diff --git a/fxjs/xfa/cjx_update.h b/fxjs/xfa/cjx_update.h
index c1acb4b..f603409 100644
--- a/fxjs/xfa/cjx_update.h
+++ b/fxjs/xfa/cjx_update.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_UPDATE_H_
 #define FXJS_XFA_CJX_UPDATE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Update;
@@ -16,8 +17,8 @@
   explicit CJX_Update(CXFA_Update* node);
   ~CJX_Update() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_UPDATE_H_
diff --git a/fxjs/xfa/cjx_uri.h b/fxjs/xfa/cjx_uri.h
index 805bc5c..e7aa55f 100644
--- a/fxjs/xfa/cjx_uri.h
+++ b/fxjs/xfa/cjx_uri.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_URI_H_
 #define FXJS_XFA_CJX_URI_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_Uri;
@@ -16,8 +17,8 @@
   explicit CJX_Uri(CXFA_Uri* node);
   ~CJX_Uri() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_URI_H_
diff --git a/fxjs/xfa/cjx_user.h b/fxjs/xfa/cjx_user.h
index 6111df8..85b0271 100644
--- a/fxjs/xfa/cjx_user.h
+++ b/fxjs/xfa/cjx_user.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_USER_H_
 #define FXJS_XFA_CJX_USER_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_User;
@@ -16,8 +17,8 @@
   explicit CJX_User(CXFA_User* node);
   ~CJX_User() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_USER_H_
diff --git a/fxjs/xfa/cjx_validate.h b/fxjs/xfa/cjx_validate.h
index c54923d..62eb83c 100644
--- a/fxjs/xfa/cjx_validate.h
+++ b/fxjs/xfa/cjx_validate.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_VALIDATE_H_
 #define FXJS_XFA_CJX_VALIDATE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Validate;
@@ -16,11 +17,11 @@
   explicit CJX_Validate(CXFA_Validate* node);
   ~CJX_Validate() override;
 
-  JS_PROP(formatTest);
-  JS_PROP(nullTest);
-  JS_PROP(scriptTest);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(formatTest);
+  JSE_PROP(nullTest);
+  JSE_PROP(scriptTest);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_VALIDATE_H_
diff --git a/fxjs/xfa/cjx_value.h b/fxjs/xfa/cjx_value.h
index f9c2a2c..71984c3 100644
--- a/fxjs/xfa/cjx_value.h
+++ b/fxjs/xfa/cjx_value.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_VALUE_H_
 #define FXJS_XFA_CJX_VALUE_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_Value;
@@ -16,10 +17,10 @@
   explicit CJX_Value(CXFA_Value* node);
   ~CJX_Value() override;
 
-  JS_PROP(override);
-  JS_PROP(relevant);
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(override);
+  JSE_PROP(relevant);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_VALUE_H_
diff --git a/fxjs/xfa/cjx_variables.h b/fxjs/xfa/cjx_variables.h
index 8ed373e..302cd05 100644
--- a/fxjs/xfa/cjx_variables.h
+++ b/fxjs/xfa/cjx_variables.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_VARIABLES_H_
 #define FXJS_XFA_CJX_VARIABLES_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_container.h"
 
 class CXFA_Variables;
@@ -16,8 +17,8 @@
   explicit CJX_Variables(CXFA_Variables* node);
   ~CJX_Variables() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_VARIABLES_H_
diff --git a/fxjs/xfa/cjx_wsdladdress.h b/fxjs/xfa/cjx_wsdladdress.h
index a742d1a..cbe8e72 100644
--- a/fxjs/xfa/cjx_wsdladdress.h
+++ b/fxjs/xfa/cjx_wsdladdress.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_WSDLADDRESS_H_
 #define FXJS_XFA_CJX_WSDLADDRESS_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_textnode.h"
 
 class CXFA_WsdlAddress;
@@ -16,8 +17,8 @@
   explicit CJX_WsdlAddress(CXFA_WsdlAddress* node);
   ~CJX_WsdlAddress() override;
 
-  JS_PROP(use);
-  JS_PROP(usehref);
+  JSE_PROP(use);
+  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_WSDLADDRESS_H_
diff --git a/fxjs/xfa/cjx_wsdlconnection.h b/fxjs/xfa/cjx_wsdlconnection.h
index eb729c2..346b908 100644
--- a/fxjs/xfa/cjx_wsdlconnection.h
+++ b/fxjs/xfa/cjx_wsdlconnection.h
@@ -7,7 +7,7 @@
 #ifndef FXJS_XFA_CJX_WSDLCONNECTION_H_
 #define FXJS_XFA_CJX_WSDLCONNECTION_H_
 
-#include "fxjs/cjx_define.h"
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_WsdlConnection;
@@ -17,10 +17,10 @@
   explicit CJX_WsdlConnection(CXFA_WsdlConnection* connection);
   ~CJX_WsdlConnection() override;
 
-  JS_METHOD(execute, CJX_WsdlConnection);
+  JSE_METHOD(execute, CJX_WsdlConnection);
 
-  JS_PROP(dataDescription);
-  JS_PROP(execute);
+  JSE_PROP(dataDescription);
+  JSE_PROP(execute);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_xfa.h b/fxjs/xfa/cjx_xfa.h
index 0c8ed7e..025e9a9 100644
--- a/fxjs/xfa/cjx_xfa.h
+++ b/fxjs/xfa/cjx_xfa.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_XFA_H_
 #define FXJS_XFA_CJX_XFA_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_model.h"
 
 class CXFA_Xfa;
@@ -16,9 +17,9 @@
   explicit CJX_Xfa(CXFA_Xfa* node);
   ~CJX_Xfa() override;
 
-  JS_PROP(thisValue); /* this */
-  JS_PROP(timeStamp);
-  JS_PROP(uuid);
+  JSE_PROP(thisValue); /* this */
+  JSE_PROP(timeStamp);
+  JSE_PROP(uuid);
 };
 
 #endif  // FXJS_XFA_CJX_XFA_H_
diff --git a/fxjs/xfa/cjx_xmlconnection.h b/fxjs/xfa/cjx_xmlconnection.h
index 03c5c37..cb63e75 100644
--- a/fxjs/xfa/cjx_xmlconnection.h
+++ b/fxjs/xfa/cjx_xmlconnection.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_XMLCONNECTION_H_
 #define FXJS_XFA_CJX_XMLCONNECTION_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_XmlConnection;
@@ -16,7 +17,7 @@
   explicit CJX_XmlConnection(CXFA_XmlConnection* node);
   ~CJX_XmlConnection() override;
 
-  JS_PROP(dataDescription);
+  JSE_PROP(dataDescription);
 };
 
 #endif  // FXJS_XFA_CJX_XMLCONNECTION_H_
diff --git a/fxjs/xfa/cjx_xsdconnection.h b/fxjs/xfa/cjx_xsdconnection.h
index 66c79a1..ec5059a 100644
--- a/fxjs/xfa/cjx_xsdconnection.h
+++ b/fxjs/xfa/cjx_xsdconnection.h
@@ -7,6 +7,7 @@
 #ifndef FXJS_XFA_CJX_XSDCONNECTION_H_
 #define FXJS_XFA_CJX_XSDCONNECTION_H_
 
+#include "fxjs/jse_define.h"
 #include "fxjs/xfa/cjx_node.h"
 
 class CXFA_XsdConnection;
@@ -16,7 +17,7 @@
   explicit CJX_XsdConnection(CXFA_XsdConnection* node);
   ~CJX_XsdConnection() override;
 
-  JS_PROP(dataDescription);
+  JSE_PROP(dataDescription);
 };
 
 #endif  // FXJS_XFA_CJX_XSDCONNECTION_H_
