This is a toy browser I'm building to learn more about the workings of the web platform. I'm mostly following the excellent curriculum at https://browser.engineering.
- URL schemes:
http:,https:(TLS),data:,file:andview-source: - G-ZIP content encoding
- Chunked transfer encoding
- Response Caching (respects basic
Cache-Controlheaders)
- Supports
i,b,small,big,sup,br,p - Supports HTML4 entities (with a few others)
- Respects soft-hyphens (
­)
- Scroll, both with mousewheel and arrow keys
- Prevents scrolling past end of content (harder than you might think)
- Resizing
- Parses HTML to construct DOM nodes
- Supports
blockandinlineelements in the layout tree
- Supports tag name and descendant selectors (no classes)
- Applies inline CSS and linked stylesheets
- Respects file-order tie-breaker rule
- Robust to malformed/unsupported properties
- Supported properties
background-colorfont-size(inherited, supportspxand%)font-style(inherited)font-weight(inherited)color(inherited)
- Supports multiple tabs
- Navigation by address bar
- Back button
- Hyperlinks
- URL fragments
- Supports implicit
html,head, andbodytags

