A web browser implemented from scratch in Python.
Adapted from browser.engineering.
ch. 1
HTTP/1.1
- File URI scheme
- data scheme
- view-source scheme
ch.2
- Scrolling (mouse wheel & up/down keys)
ch.3
- font size, weight, slant (support for
<big>, <small>, <i>, <b>, <br>
) - font caching
-
ch. 1: Custom testing infrastructure (serving test websites with specific headers / content)
-
ch. 1: HTTP response caching
-
ch. 1: Support transfer-encoding: chunked
-
ch. 2: Emoji support
-
ch. 2: Allow browser resizing
-
ch. 2: Zoom for font size
-
ch. 3: Superscripts (
<sup>
) -
ch. 3: Soft hyphens – breaking a long word across lines
-
ch. 3: Small caps (
<abbr>
) -
ch. 3: Preformatted text (
<pre>
) -
ch. 4: comments
-
ch. 4: paragraphs
-
ch. 4: scripts
-
ch. 4: quoted attributes
-
ch. 4: syntax highlighting