Pavel Panchekha


Share under CC-BY-SA.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation.

Web Browser Engineering

Web browsers are ubiquitous, but how do they work? This book builds a basic but complete web browser, with basic versions of each of the major browser components from networking to JavaScript. Each chapter develops a core browser component and demonstrates the architecture of this essential software.

  1. Preface

Part 1: Drawing Graphics

  1. Downloading Web Pages
    URLs, HTTP, and some basic lexing for HTML
  2. Drawing to the Screen
    Creating windows, drawing to a canvas, and laying out text
  3. Formatting Text
    Fonts, line wrapping, and word spacing

Part 2: Viewing Documents

  1. Constructing a Document Tree
    Creating a tree of nodes and doing layout from it
  2. Laying Out Pages
    Splitting inline from block layout and adding the box model
  3. Applying User Styles
    Downloading, parsing and applying CSS
  4. Handling Buttons and Links
    Hyperlinks, browser chrome, and history

Part 3: Running Applications

  1. Sending Information to Servers
    Input areas, form submission, and web servers
  2. Running Interactive Scripts
    Responding to events and reading and writing the DOM
  3. Saving Partial Layouts
    Hover styles, two-phase layout, and faster rendering
  4. Keeping Data Private
    Cookies, logins, and XSS and CSRF