BuildABrowser Browser is an open-source browser and its rendering engine.It runs on Linux, Windows, and (experimental) Android Desktop.The rendering engine is written in Java, and features parsers and layout algorithms written from scratch.It is also embeddable, with pre-made embedding layers for Swing and Android Jetpack Compose.Because the renderer is modular, though, it is also possible to port the renderer to other platforms.GitHub repository: https://github.com/BuildABrowser/BuildABrowserDemo Video: https://www.youtube.com/watch?v=xWF7YPIoks8 (edit: there's now also a video on the channel of submitting the post from BAB)The browser has support for the following:* Layouts: flow/flow-root, flex, grid, table, inline variants of all prior listed - Note: subgrid is not supported. Some alignment properties present in flex are missing from grid. - Note: Table only supports `table-layout: auto`, not fixed * Positioning Schemes: static, relative, absolute, sticky, fixed* Floating and cleared elements* CSS Combinators: Child, Descendant, Next-Sibling, Subsequent-Sibling* CSS Selectors: ID, type, class, attribute* CSS Pseudo-Classes/Elements: :hover, :link, :focus, :focus-within, :focus-visible, :has, :is, :not, :where, :first-child, :last-child, :only-child, :nth-child, :first-of-type, :last-of-type, :only-of-type, ::before, ::after* CSS Functions: calc (and related functions), var* CSS layers (the `@layer` at-rules)* Media Queries: screen type, min/max-width/height media features* Text selection, text fields, GET/POST forms, cycle focus via tab button, and fragment navigation* (Linux) Support for A11Y via a fork of AccessKit (Experimental, enable with `-a11y accesskit`). Designed for Orca - other tools may not work.* (Linux/Windows/fallback) Includes a utility to view a page's DOM tree* (Linux/Windows) Skija (Skia) and Java2D graphics backends, HttpClient network backend* (Android Desktop) android.graphics graphics backend, OkHttp network backendPlease note that BuildABrowser does not support JS at this timeThanks to the browser not supporting paste, I had to retype all this... Hopefully it goes through.Also, BAB spoofs the User-Agent on HN, please check Sec-CH-UA instead.
It runs on Linux, Windows, and (experimental) Android Desktop.
The rendering engine is written in Java, and features parsers and layout algorithms written from scratch.
It is also embeddable, with pre-made embedding layers for Swing and Android Jetpack Compose.
Because the renderer is modular, though, it is also possible to port the renderer to other platforms.
GitHub repository: https://github.com/BuildABrowser/BuildABrowser
Demo Video: https://www.youtube.com/watch?v=xWF7YPIoks8 (edit: there's now also a video on the channel of submitting the post from BAB)
The browser has support for the following:
* Layouts: flow/flow-root, flex, grid, table, inline variants of all prior listed
* Positioning Schemes: static, relative, absolute, sticky, fixed* Floating and cleared elements
* CSS Combinators: Child, Descendant, Next-Sibling, Subsequent-Sibling
* CSS Selectors: ID, type, class, attribute
* CSS Pseudo-Classes/Elements: :hover, :link, :focus, :focus-within, :focus-visible, :has, :is, :not, :where, :first-child, :last-child, :only-child, :nth-child, :first-of-type, :last-of-type, :only-of-type, ::before, ::after
* CSS Functions: calc (and related functions), var
* CSS layers (the `@layer` at-rules)
* Media Queries: screen type, min/max-width/height media features
* Text selection, text fields, GET/POST forms, cycle focus via tab button, and fragment navigation
* (Linux) Support for A11Y via a fork of AccessKit (Experimental, enable with `-a11y accesskit`). Designed for Orca - other tools may not work.
* (Linux/Windows/fallback) Includes a utility to view a page's DOM tree
* (Linux/Windows) Skija (Skia) and Java2D graphics backends, HttpClient network backend
* (Android Desktop) android.graphics graphics backend, OkHttp network backend
Please note that BuildABrowser does not support JS at this time
Thanks to the browser not supporting paste, I had to retype all this... Hopefully it goes through.
Also, BAB spoofs the User-Agent on HN, please check Sec-CH-UA instead.