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