Necko: Electrolysis design and subprojects: Difference between revisions

No edit summary
Line 1: Line 1:
This is a page dedicated to the design issues involved in making necko work under electrolysis (i.e. moving all network traffic to the chrome process, and using IPDL to communicate with the content process(es)).  
This is a page dedicated to the design issues involved in making necko work under electrolysis (i.e. moving all network traffic to the chrome process, and using IPDL to communicate with the content process(es)).  


= protocols =
= Which protocols need IPC? =


== HTTP ==
Everyone thinks HTTP/HTTPS/FTP need to go over IPC (i.e. the content process must not be allowed to open TCP/IP connections).


== HTTPS  ==
bz and jst give me the impression that any protocol that does file I/O should also be using IPC (so, file://, about://, jar://). But bsmedberg disagrees, and says that we'll 1) chroot the content process, so it can't cause trouble even if it's allowed to do file I/O, and 2) handle file:// requests in the chrome process.  Discuss.


Anything need to be done beyond work needed for HTTP?
Everyone agrees that protocols that don't do I/O don't need IPC, i.e. data://, and js://


== FTP ==
I'm not sure if we need IPC for resource:// or view-source://. Opinions?


== Other protocols ==
= Implementation issues for various protocols =


=== Protocols that do I/O, so need IPC? ===
== HTTP  ==


- File://, about://, jar://
== HTTPS  ==


=== Protocols that don't do I/O, so don't need IPC? ===
Hopefully nothing special beyond the work needed for HTTP needs to be done for HTTPS to work.  Fingers crossed.


- data://, js://
== FTP  ==
 
=== Not sure if need IPC: ===
 
- resource://, view-source://
- plugin-added protocols:  how to handle?


= Carving work into subprojects =
= Carving work into subprojects =
Confirmed users
431

edits