Skip to content

Commit 987bea9

Browse files
committed
chore: update readme, fix CI
1 parent 8f1ecc4 commit 987bea9

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

.github/workflows/rust.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ jobs:
1717
steps:
1818
- uses: actions/checkout@v4
1919
- uses: dtolnay/rust-toolchain@stable
20+
- name: Install system dependencies
21+
run: sudo apt-get update && sudo apt-get install -y libfontconfig1-dev
2022
- name: Check (default/litehtml)
2123
run: cargo check --verbose
2224
- name: Check (litehtml)

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ Blitz and litehtml are not full browsers — there's no JavaScript, and renderin
197197

198198
- **No incremental rendering** — the entire visible viewport is re-rasterized on every frame that needs updating (scroll, resize, resource load). Blitz is pre-alpha and doesn't yet support dirty-rect or partial repaint like Firefox/Chrome.
199199
- **No `:hover` CSS rendering** — hover state is tracked internally (cursor changes work), but we skip the visual re-render for `:hover` styles to avoid the CPU cost. This matches litehtml's behaviour.
200-
- **No keyboard input**blitz-dom supports keyboard events internally (text input, Tab navigation, copy/paste), but iced_webview does not wire iced keyboard events through to the Blitz document yet. The handler is a no-op.
200+
- **Keyboard input**iced keyboard events are wired through to blitz-dom (text input, Tab navigation, arrow keys, copy/paste). Dark mode is detected from `ICED_WEBVIEW_COLOR_SCHEME` env var or GTK theme.
201201
- **No JavaScript** — by design; Blitz is a CSS rendering engine, not a browser engine.
202202
- **Image/CSS fetching is internal** — Blitz uses `blitz_net::Provider` to fetch sub-resources (images, CSS `@import`) automatically. It does not participate in the widget layer's manual image pipeline (`take_pending_images`/`load_image_from_bytes`). The widget layer fetches the initial HTML page for URL navigation, but all sub-resource loading is handled by Blitz internally.
203203
- **Build weight** — Stylo (Firefox's CSS engine) adds significant compile time on first build.
@@ -232,7 +232,6 @@ Blitz and litehtml are not full browsers — there's no JavaScript, and renderin
232232
- **`:hover` CSS rendering** — both engines skip the visual re-render for hover styles. With incremental layout + viewport-only rendering, it may become cheap enough to re-enable for Blitz.
233233
- **Async rendering** — rendering currently blocks the main thread. Moving the `paint_scene` + `render_to_buffer` call to a background thread would keep the UI responsive during re-renders.
234234
- **Servo/CEF text selection API** — expose the engine-managed selected text through `get_selected_text()` so the embedding can query it.
235-
- **Blitz keyboard input** — wire iced keyboard events through to `HtmlDocument::handle_ui_event` as `UiEvent::KeyDown`/`KeyUp`, enabling text input in `<input>`/`<textarea>` elements.
236235

237236
## Engine Comparison
238237

@@ -242,7 +241,7 @@ Blitz and litehtml are not full browsers — there's no JavaScript, and renderin
242241
| **CSS variables** | Yes | No | Yes | Yes |
243242
| **Table layout** | Yes | Yes | Yes | Yes |
244243
| **JavaScript** | No | No | Yes (SpiderMonkey) | Yes (V8) |
245-
| **Keyboard input** | Supported in blitz-dom, not yet wired | No | Yes | Yes |
244+
| **Keyboard input** | Yes (wired to blitz-dom) | No | Yes | Yes |
246245
| **Text selection** | Supported in blitz-dom, not yet wired | Yes | Yes (engine-managed, not queryable from API) | Yes (Chromium-managed, not queryable from API) |
247246
| **`:hover` CSS styles** | Tracked, not rendered (CPU cost) | Tracked, not rendered | Yes | Yes |
248247
| **Cursor changes** | Yes | Yes | Yes | Yes |

0 commit comments

Comments
 (0)