How hylmithecoder/win32-x11-browser works
DesktopWebview is a C++ desktop browser engine. Its main workflow is navigation from the browser UI: Browser fetches a URL or file, parses HTML, computes styles and layout, then paints a page for the native window. The README also documents JavaScript/DOM integration, lazy PDF rendering, media playback, form controls, and accelerated rendering. The graph follows documented capabilities where source excerpts were unavailable; arrows are limited to documented flow and sampled calls.
Main entry points: Browser.cpp Browser and navigation · Paint.cpp Paint and canvas · BaseWindow.cpp Native window · main.cpp Application wiring
Components 19
Browser app
- Application wiring
src/main.cpp - Native window
src/core/BaseWindow.cpp - Browser and navigation
src/core/Browser.cpp - Network and files
src/network/Net.cpp - Resource cache
src/storage/Cache.cpp - Vulkan surface
src/core/BaseWindow.cpp
Page rendering
- HTML DOM parser
src/core/Wrapper.cpp - CSS cascade
src/css/Css.cpp - CSS variables
src/css/HandlerCssVariable.cpp - Layout engine
src/layout/Layout.cpp - Paint and canvas
src/css/Paint.cpp - Image resources
src/layout/Image.cpp - Form controls
src/elements/Input.cpp - OpenCL acceleration
src/core/Optimizer.cpp
Execution
- JavaScript engine
src/js/JsEngine.cpp
Media and documents
- Lazy PDF engine
src/documents/Pdf.cpp - Video decoding
src/multimedia/Video.cpp - Audio playback
src/multimedia/AudioPlayer.cpp
Other components
- User
Connections 24
- User → Application wiring: launches
- Application wiring → Browser and navigation: creates and navigates
- Application wiring → Native window: wires callbacks
- Native window → Browser and navigation: dispatches input
- Browser and navigation → Network and files: fetches resources
- Browser and navigation → HTML DOM parser: parses HTML
- Browser and navigation → CSS cascade: computes styles
- Browser and navigation → Layout engine: computes layout
- Browser and navigation → Paint and canvas: renders page
- CSS variables → CSS cascade: resolves variables
- Layout engine → CSS variables: resolves custom properties
- Browser and navigation → JavaScript engine: executes scripts
- JavaScript engine → HTML DOM parser: DOM bridge
- Layout engine → Form controls: renders controls
- Paint and canvas → Image resources: composites images
- Browser and navigation → Lazy PDF engine: loads PDF pages
- Lazy PDF engine → Paint and canvas: renders page content
- Browser and navigation → Video decoding: loads video
- Video decoding → Paint and canvas: provides frames
- Video decoding → Audio playback: outputs audio
- Browser and navigation → Resource cache: caches resources
- Paint and canvas → Native window: presents canvas
- Native window → Vulkan surface: presents via GPU
- Paint and canvas → OpenCL acceleration: accelerates processing