Service Worker: Receiving blob body is delayed until side data is read even they are read in parallel |
|
Issue descriptionSee attached traces and screenshots. When --enable-features=ServiceWorkerParallelSideDataReading is specified ServiceWorkerSubresourceLoader starts reading blob body and side data in parallel, but the main thread waits for side data first then receives blob body. I think we can also make receiving them in parallel. I have WIP CL in which I just moved calling url_loader_client_->OnStartLoadingResponseBody() in ServiceWorkerSubresourceLoader::StartBlobReading(). https://chromium-review.googlesource.com/c/chromium/src/+/1304277 falken@, kinuko@, wanderview@: Do you think this makes sense?
,
Oct 29
Thanks for the inputs. They are very helpful. I haven't checked all URLLoaderClient subclasses so I think your concern is valid. It seems that using mojo::DataPipe for side data is worth considering. Looking at traces I noticed that side data for large JS can be ~5MB and sending it seems to block blob body read.
,
Oct 30
As far as I remember the ordering matters, so that for example the client can use the cached compiled data before starting to compile. (Will look further) |
|
►
Sign in to add a comment |
|
Comment 1 by wanderview@chromium.org
, Oct 29