Open Bug 1648370 Opened 8 months ago Updated 8 months ago

Use IPCBlobInputStream when sending an nsIInputStream multiple times.

Categories

(Core :: DOM: Navigation, enhancement)

enhancement

Tracking

()

Fission Milestone Future

People

(Reporter: farre, Unassigned)

References

Details

In the context of fission it is possible that one would need to send an nsIInputStream from a content child, to the content parent and then later to another content child and finally back to the content parent. If this is a form submit this would be an nsIMIMEInputStream that wraps another nsIInputStream. If the latter stream isn't directly serializable (e.g. it's a string nsIInputStream that is large) we will use a pipe to transmit the data, and because of all the bouncing we'd do this several times!

Using an IPCBlobInputStream we'd only pass around an ID that identifies the stream until it's finally used. This would cut down on copying, which is good.

This would also be a good time to rename IPCBlobInputStream to RemoteLazyInputStream.

See Also: → 1645781
Severity: -- → S3

Andreas said this will get worse with Fission when retargeting multiple times. This would be required to make it efficient but is not a blocker.

Fission Milestone: --- → Future
You need to log in before you can comment on or make changes to this bug.