TXFAJavaScriptSession

Unit: HPDFXFAEventScript

Declaración

TXFAJavaScriptSession= class

Comportamiento

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

Conserva variables léxicas de objetos de script, funciones, valores de objetos y closures anidadas entre eventos; el rollback reconstruye el motor re-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, cuerpo de script, límites y vectores de respuesta grabados

El rollback reinstala ese código de soporte y re-reproduce las evaluaciones dinámicas confirmadas, conservando estado léxico y de closures independiente sin re-parsear 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 quedan dentro de los límites existentes de tiempo transcurrido y de motor

Los límites por defecto del journal son 64 MiB para scripts más resultados devueltos y 8192 evaluaciones, incluidos los identity bindings; también aplican los límites de memoria, stack, operaciones, interrupciones y tiempo transcurrido del motor

TXFAWidgetRuntime posee una sesión automáticamente al usar el motor general incluido; el estado de la sesión no se serializa en el XDP y un runtime nuevo arranca desde cero

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

APIs relacionadas

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