About this project

ZeroWeb is an experimental cross-platform browser project implemented in Rust. The repository maintains two product lines: the embeddable and reusable ZeroWebView library, and the complete ZeroBrowser application. The project is positioned as embed-first, license-boundary-first (mainline dependencies lean towards permissive licenses such as MIT, Apache-2.0, and BSD), and follows a full-stack Rust roadmap. DOM, CSS, layout, rendering, navigation, and security boundaries are built layer by layer within the repository rather than directly utilizing an existing kernel. Architecturally, it employs multi-process splitting: zero-browser retains only the window, browser interface, network proxy, and IPC frame import presentation; page rendering and script execution are handled by zero-renderer; image decoding and composition are delegated to zero-image-decoder and zero-compositor subprocesses, respectively. The default release does not link the WebView, script sandbox, or JS engine within the browser process; headless debugging also completes navigation, scripting, and screenshots via renderer IPC. The workspace consists of 32 members, including 22 library crates, 7 application entry points, and testing and development tools. The page JavaScript layer provides a V8/QuickJS dual-engine feature gate via script-sandbox, covering Web Workers and ES Modules, and automatically bridges the WebAssembly JS API to wasm-sandbox. V8 native DOM bindings are default-on, including native event dispatch and bubbling, customElements/Web Components lifecycles, fetch realization, various observer callbacks, and support for form controls and selectors. In terms of media, it provides webm/Matroska demux, pure Rust decoding for VP9, optional AV1 and H.264 decoding, audio decoding and VideoPlayer playback drivers, a mixing bus, and a minimal Web Audio surface. Storage and offline capabilities cover localStorage, sessionStorage, IndexedDB, and caches/Cache API, and implement the Service Worker lifecycle and fetch respondWith interception, with OPFS realization still in progress. Security includes CSP implementation, HSTS preloading, mixed content blocking and upgrading, permission models, and site isolation; accessibility starts from FocusManager and ARIA; HTML editing, keyboard interaction, and form behavior compatibility are also pushed as independent development lines. On the engineering side, it provides a W3C WebDriver service (34 endpoints, including screenshots and full-link integration tests), rendering compatibility metrics based on WPT/CSSWG reftest (the README records approximately 87.2% alignment with the upstream reftest corpus, using Chromium Oracle pixel consistency as an honest metric), pixel regression gates for product static pages, as well as packaging scripts for Linux/macOS/Windows and Android M0 bootstrap. The project is explicitly marked as being in the experimental stage, primarily intended for learning, research, and engineering exploration, and is not suitable for daily or production browser use; the license is MIT. It is also an AI-first engineering experiment, where code development is primarily completed by AI, while humans are responsible for scheme design, key decisions, and result verification.