TXFAJavaScriptSession
Unità: HPDFXFAEventScript
Dichiarazione
TXFAJavaScriptSession= class
Comportamento
Gestisce un motore QuickJS indipendente e un journal limitato di valutazioni virtuali confermate
Preserva variabili lessicali di oggetti script, funzioni, valori di oggetti e closure annidate tra gli eventi; il rollback ricostruisce il motore rigiocando le valutazioni confermate
Registra gli input di Date e Math.random per un replay riproducibile; il replay esegue solo operazioni virtuali sui form e non pubblica mutazioni del documento
Il codice di supporto degli eventi viene compilato una volta per ogni motore posseduto; ogni valutazione fornisce un contesto form e dati fresco, il corpo dello script, limiti e vettori di risposta registrati
Il rollback reinstalla quel codice di supporto e rigioca le valutazioni dinamiche confermate, preservando stato lessicale e closure indipendenti senza riparizzare la libreria di supporto per ogni voce del journal
Il sorgente di supporto condiviso viene addebitato una sola volta sul limite di byte del journal, insieme alle valutazioni dinamiche confermate e ai risultati restituiti; ricostruzione e replay restano dentro i limiti esistenti di tempo trascorso e del motore
I limiti predefiniti del journal sono 64 MiB per script più risultati restituiti e 8192 valutazioni, identity binding incluse; si applicano anche i limiti del motore su memoria, stack, operazioni, interrupt e tempo trascorso
TXFAWidgetRuntime possiede automaticamente una sessione quando si usa il motore generale incluso; lo stato della sessione non viene serializzato nell'XDP e un nuovo runtime parte pulito
La classe è single-thread e non deve essere condivisa da chiamanti concorrenti
API correlate
TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent e Runtime interattivo per widget XFA dinamici