Open Bug 1512973 Opened 5 years ago Updated 2 years ago

incrementally decode base64 data urls

Categories

(Core :: Networking, enhancement, P3)

enhancement

Tracking

()

Tracking Status
firefox65 --- affected

People

(Reporter: froydnj, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Bug 1392231 comment 1 notes that the code in nsDataChannel that eagerly decodes a base64 data url:

https://searchfox.org/mozilla-central/rev/dc3585e58b427c3a8a7c01712fe54ebe118a3ce2/netwerk/protocol/data/nsDataChannel.cpp#83-88

could instead return an nsIInputStream that lazily decodes the url instead, potentially reducing peak memory usage.

One wrinkle is what to do about providing the content length.  We could either eagerly decode the length (with some attention paid to error handling), or we could make data channels not always provide their length up front (if that's even an option--I'm ignorant of the networking stack requirements here).
nsIChannel.idl:
> A value of -1 indicates that the content length is unknown.

I assume we also have the option to only do the incremental decoding if the data is longer than a certain threshold.
Priority: -- → P2
Whiteboard: [necko-triaged]

Hey!
Can I take this up?
Thanks!

Priority: P2 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.