firefoxPrintAll: full-page captures of pages that refuse to scroll

Firefox’s built-in screenshot handles pages whose body scrolls. It falls over completely on modern app layouts — chat UIs, dashboards, playgrounds — where the body never scrolls but a panel inside does. captureTab() hands you the visible viewport and that’s it. This extension was built for exactly one such case: an LLM playground whose right-hand response panel scrolls inside a fixed frame.
The mechanism is honest scroll-and-stitch: scroll, capture each position, crop each tile to the target region, composite on a canvas. All geometry is computed in device pixels (css px × devicePixelRatio) and tiles are placed by their actual scroll offset, so seams don’t appear even with fractional device pixel ratios and a clamped final tile.
Features:
- Main document mode — automatic when the page body scrolls
- Inner region mode — when the body doesn’t scroll, a crosshair picker highlights the scrollable container under your cursor; click it to capture just that region
- Full-resolution output: save as lossless PNG or smaller JPEG from the result tab
- Seams avoided via actual-scroll-offset tile placement, not naive equal-height slicing
- Zero host permissions, zero data collection —
activeTab,scripting,storageonly - Verified headless against a 60-model sidebar (255×2112) and a 4500px test page, both clean
Known limits, stated plainly: fixed/sticky elements repeat down stitched captures (inherent to the technique), and anything past ~32767px hits the canvas cap.