* Fix Runtime.evaluate awaitPromise settling * Fix DOM event navigation side effects * Fix CDP click-triggered navigation parity * Strengthen CDP inline script click parity test * Handle positions-like submit URLs in CDP parity Co-authored-by: SGavrl <[email protected]>
1.9 KiB
1.9 KiB
Obscura Runtime.evaluate awaitPromise report
Summary
- Branch:
fix/runtime-evaluate-await-promise - Implemented async
Runtime.evaluateCDP path support for theawaitPromiseparameter. obscura-jsnow wraps awaited CDP evaluation in an async function, awaits the expression, runs the Deno event loop, stores the settled value, and returns either by-value metadata or remote-object metadata.- Promise rejection is detected in the JS runtime path and returned as an error from
ObscuraJsRuntime::evaluate_for_cdp. obscura-cdpnow readsawaitPromiseforRuntime.evaluateand awaits the browser/page evaluation path.
Tests added
Added Obscura-side JS runtime tests for:
Promise.resolve(42)withawaitPromise- delayed
setTimeoutpromise withawaitPromise - async function result with
awaitPromise - rejected promise error propagation in the runtime helper
Validation
Attempted to run:
cargo test -p obscura-js evaluate_for_cdp -- --nocapture
but this environment does not have cargo on PATH (cargo: command not found). No Rust tests/builds could be executed locally from this shell.
Remaining gaps
- Fetch-specific awaitPromise coverage was not added because it would require a reliable local HTTP fixture and network/client setup; the core event-loop settling path used by fetch promises is now exercised by awaited async promises and timer promises.
- CDP-level rejection formatting is still minimal because the existing page wrapper converts runtime errors to an undefined remote object rather than returning CDP
exceptionDetails.
PR status
GitHub remote is configured, but pushing the branch failed with HTTP 403 for the current credentials:
remote: Permission to h4ckf0r0day/obscura.git denied to blockedby.
fatal: unable to access 'https://github.com/h4ckf0r0day/obscura.git/': The requested URL returned error: 403
No PR was opened. Commit exists locally.