[26/36] Add OC-120 preview media controls - #58
Conversation
bea1457 to
d014b8f
Compare
9195782 to
bda007c
Compare
|
Verdict: request changes, one injection vector with a one-line fix. The controls themselves (transform helpers, generation-token stale-render cancellation, canvas pixel budget, debounce) are well built.
Tests: strong (transform math, CSP directives, Ctrl+wheel including the not-prevented ordinary wheel, reset/hide, PDF viewport calls, debounce with fake timers, pixel cap, stale-render accounting). Gaps: no mimeType escaping test, SVG branch untested, no assertion non-media still routes to the iframe. Deps: none added in this increment. The pdfjs-dist dep and the vendored media/ blobs enter in the release PR, comments there. |
|
Re-review (whole-stack pass, per REVIEW_GUIDE.md) The Content-Type webview injection is still open, and on re-review it is worse than my first pass concluded, which called it CSS/UI spoofing.
Prior minors (dead Coverage gap: Verdict: changes-needed. Attacker-controlled or MITM'd response body opened in Preview reaches a script-execution surface in the extension webview. Trivial fix plus a breakout test. |
|
The findings are fixed in
Validation:
The PR #56, PR #54, and PR #64 review fixes each simulate cleanly into this branch. PR #58 → PR #59, PR #58 → PR #71, and PR #58 → PR #72 also simulate cleanly. GitHub reports PR #58 and immediate child PR #59 as MERGEABLE/CLEAN. |
|
Response to the second review: all actionable findings are addressed on the current head (a2b9b17).
I validated the complete 37-PR composition with npm run build, npm run compile, all 539 tests, and all 47 demo validations passing. |
Summary
Stack
supervisor/add-protocol-layout-stability-task)feature/oc-120-preview-media-controlsfeature/oc-130-protocol-layout-stability)Validation
npm run compilenpm test -- --run test/previewMediaControls.test.ts— 14 testsnpm test -- --run— 24 files / 452 testsnpm run build