The document describes how Necko handles data URLs in Firefox. It discusses: 1. The data URL protocol syntax and how Necko parses data URLs to determine the MIME type, encoding, and data. 2. How Necko gets the protocol handler for data URLs and uses the nsDataHandler to create an nsDataChannel for the URL. 3. How the nsDataChannel establishes a listener chain with the nsInputStreamPump and nsHtml5StreamParser/Listener to read the data in chunks and parse the HTML content. 4. The states the nsInputStreamPump goes through - START, TRANSFER, STOP - to read the data from the nsDataChannel and