How Browsers Work

Ehsan Akhgari /* ehsan@mozilla.com */

Mozilla Corporation

Follow along: mzl.la/hbw-talk

Browser engines

Bird's-eye view

Communication Processing Web Presentation

Communication (network) layer

Processing layer

Parsing HTML

DOM tree

<html><body><div>hello</div>world</body></html>
html head body div "world" "hello"

More on parsing HTML

CSS

div {
  color: red;
}

body > p.text {
  font: serif;
  border: thick solid blue;
}

Layout

Making sense of CSS

Data structures for layout

Layout & DOM trees

What about other resources?

Javascript

How does my JS code run?

JS meets DOM

Dynamic modifications

Presentation layer

Challenges

Recent/future trends

Recent/future trends

Questions?

Slides: mzl.la/hbw-talk