TXFAJavaScriptSession

Unité : HPDFXFAEventScript

Déclaration

TXFAJavaScriptSession= class

Comportement

Possède un moteur QuickJS indépendant et un journal borné des évaluations virtuelles validées

Préserve entre les événements les variables lexicales d'objets script, les fonctions, les valeurs d'objets et les closures imbriquées ; le rollback reconstruit le moteur en rejouant les évaluations validées

Enregistre les entrées Date et Math.random pour un replay reproductible ; le replay n'exécute que des opérations de formulaire virtuelles et ne publie pas de mutations du document

Le code de support des événements est compilé une seule fois par moteur possédé ; chaque évaluation fournit un contexte de formulaire et de données frais, un corps de script, des limites et des vecteurs de réponse enregistrés

Le rollback réinstalle ce code de support et rejoue les évaluations dynamiques validées, en préservant l'état lexical et les closures indépendants sans reparser la bibliothèque de support pour chaque entrée du journal

Le source de support partagé est décompté une seule fois de la limite en octets du journal, avec les évaluations dynamiques validées et les résultats renvoyés ; la reconstruction et le replay restent dans les limites existantes de temps écoulé et de moteur

Les bornes par défaut du journal sont de 64 Mio pour les scripts plus les résultats renvoyés et de 8192 évaluations, liaisons d'identité incluses ; les limites de mémoire, de pile, d'opérations, d'interruptions et de temps écoulé du moteur s'appliquent aussi

TXFAWidgetRuntime possède automatiquement une session quand il utilise le moteur général livré ; l'état de session n'est pas sérialisé dans le XDP et un nouveau runtime repart à zéro

La classe est mono-thread et ne doit pas être partagée entre appelants concurrents

API associées

TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent et Runtime interactif de widgets XFA dynamiques