95
edits
|  (created the page and moved contents from old page.) |  (Added the second sequence diagram and made both of them as images.) | ||
| Line 1: | Line 1: | ||
| Here is the sequence diagram that I created by tracing the code: | Here is the sequence diagram that I created by tracing the code: | ||
| The control is now divided into two parts; | |||
| * Stuff that happens in DocShell | |||
| * Stuff that happens in Netwerk (or Netlib) | |||
| [[Image:HTTPChannel_to_Socket.jpg]] | Click on the thumbnails to look at the UML diagrams. | ||
| [[Image:Brahmana_URI_Loading_DocShell_Code.jpg|left|thumb|150px]] | |||
| [[Image:HTTPChannel_to_Socket.jpg|left|thumb|150px]] | |||
| * Control flow in the DocShell code starts from nsWebBrowser.LoadURI() which typically happens from a consumer (which can JS). This is presented as the first diagram. | |||
| * Control flow in the Netwerk code starts from the point where the URILoader transfers the call to the nsHttpChannel via the call nsHttpChannel.AsyncOpen(). This is the second diagram.  | |||
| All through out I have considered a HTTP document request. At some points I have not marked a return from a function. Assume a return in those cases. Though creation of objects are clearly marked, the destruction of the same is not shown. One of the reason being most objects get on to the Heap and are either reference counted or destroyed by the object that creates them. This info might be more clear with the class diagram that is present in another document. | |||
| I have few questions regarding all this: | I have few questions regarding all this: | ||
edits