Pavel Panchekha & Chris Harrelson
Twitter · Blog · Discussions- Introduction
- Part 1: Loading Pages
- Part 2: Viewing Documents
- Part 3: Running Applications
- Part 4: Modern Browsers
Web browsers are ubiquitous, but how do they work? This book explains, building a basic but complete web browser, from networking to JavaScript, in a couple thousand lines of Python.
The cover for Web Browser Engineering,
from Oxford University Press
Please support us by buying Web Browser Engineering from a reseller like Bookshop.org, B&N, and Amazon. It’s currently $50 in the US and £40 in the UK, with similar prices in many other countries. Translations are coming soon!
Follow this book’s blog, Mastodon, or Twitter for updates. There’s a discussion forum for the book on Github, or you can email us directly.
- Downloading Web Pages
URLs and HTTP requests - Drawing to the Screen
Creating windows and drawing to a canvas - Formatting Text
Word wrapping and line spacing
- Constructing an HTML Tree
Parsing and fixing HTML - Laying Out Pages
Inline and block layout - Applying Author Styles
Parsing and applying CSS - Handling Buttons and Links
Hyperlinks and browser chrome
- Sending Information to Servers
Form submission and web servers - Running Interactive Scripts
Changing the DOM and reacting to events - Keeping Data Private
Cookies and logins, XSS and CSRF
- Adding Visual Effects
Blending, clipping, and compositing - Scheduling Tasks and Threads
The event loop and the rendering pipeline - Animating and Compositing
Smooth animations using the GPU - Making Content Accessible
Keyboard input, zooming, and the accessibility tree - Supporting Embedded Content
Images, iframes, and scripting - Reusing Previous Computation
Invalidation, editing, and correctness
.png)


