NetSurf's code is broadly split into two; core code, and front end code. All ports make use of the core code and each port has its own front end code.

Directory Structure

The source is split at top level as follows:

Core

Content handling

  • content -- Generic content handling: Fetching, caching, managing, etc
  • css -- CSS content specific handling
  • image -- Image content specific handling (conversion)
  • javascript -- JavaScript content specific handling
  • render -- HTML and Text content specific handling (processing, layout, render)

Other core components

  • desktop -- Non-platform specific front-end
  • utils -- Misc reusable components

Front ends