TXFAJavaScriptSession

Unidad: HPDFXFAEventScript

Declaración

TXFAJavaScriptSession= class

Comportamiento

Posee un motor QuickJS independiente y un journal acotado de evaluaciones virtuales confirmadas

Preserva variables léxicas de objetos de script, funciones, valores de objetos y closures anidadas entre eventos; el rollback reconstruye el motor reproduciendo las evaluaciones confirmadas

Registra las entradas de Date y Math.random para un replay reproducible; el replay ejecuta solo operaciones virtuales de formulario y no publica mutaciones del documento

El código de soporte de eventos se compila una vez por cada motor propio; cada evaluación suministra un contexto de formulario y datos fresco, un cuerpo de script, límites y vectores de respuesta grabados

El rollback reinstala ese código de soporte y reproduce las evaluaciones dinámicas confirmadas, preservando el estado léxico y de closures independiente sin reparsear la librería de soporte por cada entrada del journal

El código fuente de soporte compartido se carga una sola vez contra el límite de bytes del journal, junto con las evaluaciones dinámicas confirmadas y los resultados devueltos; la reconstrucción y el replay permanecen dentro de los límites existentes de tiempo transcurrido y de motor

Los límites predeterminados del journal son 64 MiB para scripts más resultados devueltos y 8192 evaluaciones, incluidos los bindings de identidad; también se aplican los límites de memoria, stack, operación, interrupción y tiempo transcurrido del motor

TXFAWidgetRuntime posee una sesión automáticamente cuando usa el motor general incluido; el estado de la sesión no se serializa en XDP y un runtime nuevo empieza limpio

La clase es single-threaded y no debe compartirse entre llamadores concurrentes

APIs relacionadas

TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent y Runtime interactivo de widgets XFA dinámicos