Further optimizations for data URIs

NEW
Unassigned

Status

()

P2
normal
a year ago
9 months ago

People

(Reporter: valentin, Unassigned)

Tracking

(Depends on: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [necko-next])

(Reporter)

Description

a year ago
(In reply to Eric Rahm [:erahm] (please no mozreview requests) from bug 1369317 comment #28)
> (In reply to Valentin Gosu [:valentin] from bug 1369317 comment #23)
> > This fixes about half of the issues mentioned in comment 11. 
> > 
> > This would be what is left:
> > Base64Decode -
> > https://searchfox.org/mozilla-central/source/netwerk/protocol/data/nsDataChannel.cpp#75
> > 
> > NS_UnescapeURL -
> > https://searchfox.org/mozilla-central/rev/1a0d9545b9805f50a70de703a3c04fc0d22e3839/netwerk/protocol/data/nsDataChannel.cpp#39.
> > This is tricky, but maybe we can find a way to cache it, or not do it at all.
> >
> > StripWhitespace -
> > https://searchfox.org/mozilla-central/rev/1a0d9545b9805f50a70de703a3c04fc0d22e3839/netwerk/protocol/data/nsDataChannel.cpp#45
> > As we do this just before SetSpec, we can probably make SetSpec deal with
> > whitespace as well, in just one pass.
> 
> Just a reminder most of this is addressed in bug 1333899. We could probably
> pull those over here and just leave the string stream change in the other
> bug.
(In reply to Valentin Gosu [:valentin] from comment #0)
> (In reply to Eric Rahm [:erahm] (please no mozreview requests) from bug
> 1369317 comment #28)
> > (In reply to Valentin Gosu [:valentin] from bug 1369317 comment #23)
> > > This fixes about half of the issues mentioned in comment 11. 
> > > 
> > > This would be what is left:
> > > Base64Decode -
> > > https://searchfox.org/mozilla-central/source/netwerk/protocol/data/nsDataChannel.cpp#75

I have some patches in-progress to address this; I think I can create a streaming base64 decoder and pass that back out as the input stream.

Updated

9 months ago
Depends on: 1435899
You need to log in before you can comment on or make changes to this bug.