#Necko# #www.foo.com# #nsIChannel# #nsIProtocolHandler# #nsIDocument# #nsIContentViewer# #NewChannel()# #HTTP request and HTML data# #URL# #http://www.foo.com/bar.html# #nsWebShell (nsIContentViewerContainer)# #DoLoadURL# #url# #nsIURI# #command# #char *# #"view"# #The life of a http request # #Starts here# #nsIDocumentLoader# #nsIDocumentLoaderFactory# #nsIStreamListener# #(1)# #LoadDocument()# #NS_OpenURI()# #(2)# #returned# #OnStartRequest()# #(3)# #CreateInstance()# #BindToDocument()# #Embed()# #nsParser# #{Listens}# #(4)# #nsIContentSink# #Creates# #Creates# #{dumps ParserNodes}# #nsIContent# ## #nsIContent# ## #nsIContent# ## #nsIContent# ## #nsIContent# ## #(5)# #Content tree# #Creates# #(6)# #Notify about content changes# #nsPresShell# #Content Updates# #nsIFrame# ## #nsIFrame# ## #nsIFrame# ## #nsIFrame# ## #nsIFrame# ## #nsIFrame# ## #Frame Hierarchy# #nsCSSFrameConstructor# #Creates# #(7)# #Screen# #nsIRenderingContext# #Paint()# #Renders to window# #DrawLine() etc..# #(8)#