Reusing Previous Computations
Web Browser Engineering31 May 2023
Compositing (see Chapter 13) makes animations smoother, but it doesn’t help with interactions that affect layout, like text editing or DOM modifications.
browser.engineeringadded August 2026
Web Browser Engineering31 May 2023
Compositing (see Chapter 13) makes animations smoother, but it doesn’t help with interactions that affect layout, like text editing or DOM modifications.
Web Browser Engineering7 Jun 2021
In the previous chapter we gave each pre element a gray background. It looks OK, and it is good to have defaults, but sites want a say in how they look.
Web Browser Engineering3 May 2021
This chapter dives into the history of the web itself: where it came from, and how the web and browsers have evolved to date.
Web Browser Engineering5 Apr 2021
So far, layout has been a linear process that handles open tags and close tags independently. But web pages are trees, and look like them: borders and backgrounds visually nest inside one another.
Web Browser Engineering6 Mar 2021
I—this is Chris speaking—have known the webBroadly defined, the web is the interlinked network (“web”) of web pages on the internet.
Web Browser Engineeringby Handling Author Errors4 Feb 2021
So far, our browser sees web pages as a stream of open tags, close tags, and text. But HTML is actually a tree, and though the tree structure hasn’t been important yet, it will be central to later...
Web Browser Engineering11 Dec 2020
In the last chapter, our browser created a graphical window and drew a grid of characters to it. That’s OK for Chinese, but English text features characters of different widths grouped into words...
Web Browser Engineeringby Pavel Panchekha; Chris Harrelson30 Aug 2020
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.
Web Browser Engineering13 Aug 2020
A web browser doesn’t just download a web page; it also has to show that page to the user. In the twenty-first century, that means a graphical application.There are some obscure text-based...
Web Browser Engineering24 Jul 2020
A web browser displays information identified by a URL. And the first step is to use that URL to connect to and download information from a server somewhere on the internet.
Web Browser Engineering15 Oct 2019
So far, we’ve focused on making the browser an effective platform for developing web applications. But ultimately, the browser is a user agent.
Web Browser Engineering10 Sept 2018
The first web applications were like the previous chapter’s guest book, with the server generating new web pages for every user action.
Web Browser Engineering1 Jan 2018
Our browser is still missing the key insight of hypertext: documents linked together by hyperlinks. It lets us watch the waves, but not surf the web.
Web Browser Engineering1 Jan 2018
So far, our browser has seen the web as read-only—but when you post on Facebook, fill out a survey, or search Google, you’re sending information to servers as well as receiving information from...
Web Browser Engineering1 Jan 2018
Our browser has grown up and now runs (small) web applications. With one final step—user identity via cookies—it will be able to run all sorts of personalized online services.
Web Browser Engineering1 Jan 2018
Right now our browser can only draw colored rectangles and text—pretty boring! Real browsers support all kinds of visual effects that change how pixels and colors blend together.
Web Browser Engineering1 Jan 2018
Modern browsers must handle user input, request remote files, run various callbacks, and ultimately render to the screen, all while staying fast and responsive.
Web Browser Engineering1 Jan 2018
Complex web applications use animations when transitioning between states. These animations help users understand the state change and they improve visual polish by replacing sudden jumps with...
Web Browser Engineering1 Jan 2018
While our browser can render complex styles, visual effects, and animations, all of those apply basically just to text.