On May 27, 11:26 am, Boris Zbarsky <[EMAIL PROTECTED]> wrote: > Kenny YU wrote: > > In AppShell, the execution calls LoadURI which then lead into > > DocShell.... and in CreateContentViewer method of docshell, a content > > > viewer (document viewer) is created. > > Yep. Which hands the load to nsURILoader, which starts the necko load going. > When the OnStartRequest comes in from Necko, the URILoader dispatches the load > to the right place. If that place is a docshell, > nsDocShell::CreateContentViewer will be called, as you noticed. > > Note that this method has a nsIStreamListener out param. This listener will > receive the data from necko. > > In the case of HTML documents, that listener is the parser (created in > StartDocumentLoad(), as you also noticed). >
Thanks... now I know that parser itself is a listener who listens to necko's incoming messages. And I suppose that the parser and the content-sink instances are all created inside nsHTMLDocument::StartDocumentLoad, right? But I don't understand who coordinates these created objects and lead the data flowing from parser up to content-sink and then content-tree and then frame-free and so on..? Or acutally I know how a Parser is triggered, but I don't quite understand how Content-sink, CSS-frame-constructors are notified accordingly... is it possible to give me a rough big picture about this? Thanks :-) > -Boris _______________________________________________ dev-tech-layout mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-layout

