pub enum JsExecutionMode {
Strict,
BestEffortStatic,
SandboxedRuntime,
}Expand description
Controls only the pre-flight handling of parsed JavaScript-bearing XFA
event hooks. JavaScript execution remains denied by javascript_policy.
Variants§
Strict
Abort before script execution when any JavaScript or unsupported script language is present. This preserves the original policy-gate behavior.
BestEffortStatic
Skip JavaScript and unsupported-language scripts, then continue running FormCalc and the layout pipeline. Skipped scripts are reported in the returned outcome.
SandboxedRuntime
M3-B Phase B opt-in. Route JavaScript scripts through the sandboxed
runtime adapter (crate::js_runtime). Requires the Cargo feature
xfa-js-sandboxed to be compiled in for any script to actually
execute; without the feature the runtime returns
SandboxError::NotCompiledIn and the dispatch path falls back to
the same skip behaviour as Self::BestEffortStatic while incrementing
js_runtime_errors so callers can observe the dead-code state.
Phase B registers no host bindings; see
benchmarks/runs/M3B_HOST_BINDINGS_MINIMUM_SET.md for the Phase C
roadmap.
Trait Implementations§
Source§impl Clone for JsExecutionMode
impl Clone for JsExecutionMode
Source§fn clone(&self) -> JsExecutionMode
fn clone(&self) -> JsExecutionMode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for JsExecutionMode
impl Debug for JsExecutionMode
Source§impl Default for JsExecutionMode
impl Default for JsExecutionMode
Source§fn default() -> JsExecutionMode
fn default() -> JsExecutionMode
Source§impl PartialEq for JsExecutionMode
impl PartialEq for JsExecutionMode
Source§fn eq(&self, other: &JsExecutionMode) -> bool
fn eq(&self, other: &JsExecutionMode) -> bool
self and other values to be equal, and is used by ==.impl Copy for JsExecutionMode
impl Eq for JsExecutionMode
impl StructuralPartialEq for JsExecutionMode
Auto Trait Implementations§
impl Freeze for JsExecutionMode
impl RefUnwindSafe for JsExecutionMode
impl Send for JsExecutionMode
impl Sync for JsExecutionMode
impl Unpin for JsExecutionMode
impl UnsafeUnpin for JsExecutionMode
impl UnwindSafe for JsExecutionMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().