You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -197,7 +197,7 @@ Blitz and litehtml are not full browsers — there's no JavaScript, and renderin
197
197
198
198
-**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.
199
199
-**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.
201
201
-**No JavaScript** — by design; Blitz is a CSS rendering engine, not a browser engine.
202
202
-**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.
203
203
-**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
232
232
-**`: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.
233
233
-**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.
234
234
-**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.
236
235
237
236
## Engine Comparison
238
237
@@ -242,7 +241,7 @@ Blitz and litehtml are not full browsers — there's no JavaScript, and renderin
242
241
|**CSS variables**| Yes | No | Yes | Yes |
243
242
|**Table layout**| Yes | Yes | Yes | Yes |
244
243
|**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 |
246
245
|**Text selection**| Supported in blitz-dom, not yet wired | Yes | Yes (engine-managed, not queryable from API) | Yes (Chromium-managed, not queryable from API) |
247
246
|**`:hover` CSS styles**| Tracked, not rendered (CPU cost) | Tracked, not rendered | Yes | Yes |
0 commit comments