This section lists the most important modules involved in creating a browser engine. The list will grow over time.

Specific list items appear in their respective sections (DOM, HTML, etc.) in order of their implementation.


Done: There is no need to return to this item. Done is done.
In Progress: Continually in development; can already be used.

If status is not given, the work hasn't started yet.


  1. DOM Interfaces: In Progress
  2. DOM Events


  1. HTML Parser: Done
  2. HTML Interfaces: In Progress
  3. Custom Elements
  4. Queuing a mutation record


  1. Syntax:Done
  2. Grammar: for generating CSS tests by grammars. Done
  3. Namespaces: Done
  4. Selectors: Done
  5. CSSOM: In Progress
  6. Values: In Progress
  7. Sizing: In Progress
  8. Box: In Progress
  9. Display: In Progress
  10. Float: In Progress
  11. Font: In Progress
  12. Text: In Progress
  13. Position: In Progress
  14. Color: In Progress
  15. Flexbox: In Progress
  16. Background: In Progress
  17. Content
  18. Overflow: In Progress
  19. Media Queries
  20. Page
  21. Variables

Fonts, OpenType

  1. Font/OpenType
    1.1. Parsing OpenType font files
    1.2. Calculating font metrics for glyphs in HTML layout: baseline, ascender, descender, line-gap, x-height, cap-height, width, height


  1. Encoding: Done
  2. Prescanning a byte stream to determine its encoding: Done


  1. URL: Done
    1.1. Parsing: Done
    1.2. Punycode: Done


  1. Done
    1.1. Normalization forms: Done
    1.2. Unicode IDNA Compatibility Processing: Done


  1. Building a rendering tree - now we're at that stage.