This doc serves as a hub for resources/technologies a new-to-necko developer should get familiar with.
- IPC (Inter-Process Communication) and IPDL (Inter-Thread and Inter-Process Message Passing)
- IDL (Interface Description Language)
- Implementing an interface (C++/JS)
- XPCONNECT (scriptable/builtin)
- QueryInterface (QI) - do_QueryInterface/do_QueryObject
- do_GetService, do_CreateInstance
- WebIDL
- :searchfox:`nsISupports <xpcom/base/nsISupports.idl>`
- :searchfox:`nsIRequest <netwerk/base/nsIRequest.idl>` -> :searchfox:`nsIChannel <netwerk/base/nsIChannel.idl>` -> :searchfox:`nsIHttpChannel <netwerk/protocol/http/nsIHttpChannel.idl>`
- :searchfox:`nsIRequestObserver <netwerk/base/nsIRequestObserver.idl>` (onStart/onStopRequest)
- :searchfox:`nsIStreamListener <netwerk/base/nsIStreamListener.idl>` (onDataAvailable)
- :searchfox:`nsIInputStream <xpcom/io/nsIInputStream.idl>`/ :searchfox:`nsIOutputStream <xpcom/io/nsIOutputStream.idl>`
- :searchfox:`all.js <modules/libpref/init/all.js>`
- :searchfox:`firefox.js <browser/app/profile/firefox.js>`
- :searchfox:`StaticPrefList.yaml <modules/libpref/init/StaticPrefList.yaml>`