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

Reply via email to