Blob URLs and loading them in a mojo world.

6 views
Skip to first unread message

Marijn Kruisselbrink

unread,
Nov 13, 2017, 3:23:29 PM11/13/17
to loadi...@chromium.org, storage-dev, network-s...@chromium.org
While trying to switch over how blob URLs are created/revoked to mojo, I ran into some test failures which made me realize the way loading of blob URLs is currently done is problematic. This document is my attempt of explaining the problem and trying to figure out how to best solve this problem. Since I don't really know anything about the way loading actually works, I could use some help with that part of the document though.


Kinuko Yasuda

unread,
Nov 14, 2017, 3:49:59 AM11/14/17
to Marijn Kruisselbrink, loading-dev, storage-dev, network-s...@chromium.org
Thanks for sending this out.  Handling Blob URL right is tough... I left some comments. It sounds like we _might_ need to resolve Blob URL right away (to a URLLoader or data pipe or something) whenever a request is created for a Blob URL, and might need to pass it around if it needs a navigation or download?

On Tue, Nov 14, 2017 at 5:23 AM, Marijn Kruisselbrink <m...@chromium.org> wrote:
While trying to switch over how blob URLs are created/revoked to mojo, I ran into some test failures which made me realize the way loading of blob URLs is currently done is problematic. This document is my attempt of explaining the problem and trying to figure out how to best solve this problem. Since I don't really know anything about the way loading actually works, I could use some help with that part of the document though.


--
You received this message because you are subscribed to the Google Groups "network-service-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to network-service-dev+unsub...@chromium.org.
To post to this group, send email to network-service-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/network-service-dev/CA%2BOSsVaG-G_P42KFE2Oa6d77V%2BDvDgyknc8-pHWZUu94wsTa3w%40mail.gmail.com.

Marijn Kruisselbrink

unread,
Nov 14, 2017, 3:22:27 PM11/14/17
to Kinuko Yasuda, loading-dev, storage-dev, network-s...@chromium.org, John Abd-El-Malek
Thanks for the comments. Yeah, that definitely would be one possible solution. Even if not exactly that, any solution would at the very least involve some special handling for blob URLs on the blink/renderer side. Is there any overview somewhere describing how loading actually works (currently/in the future)? All the many layers of abstraction (and multiple code paths with/without mojo loading or with/without network service) make it rather hard for me to try to wrap my head around the code (and I'm also not sure when tracing through code if I'm looking at old/deprecated code paths or new/future code paths).

On Tue, Nov 14, 2017 at 12:49 AM, Kinuko Yasuda <kin...@chromium.org> wrote:
Thanks for sending this out.  Handling Blob URL right is tough... I left some comments. It sounds like we _might_ need to resolve Blob URL right away (to a URLLoader or data pipe or something) whenever a request is created for a Blob URL, and might need to pass it around if it needs a navigation or download?
On Tue, Nov 14, 2017 at 5:23 AM, Marijn Kruisselbrink <m...@chromium.org> wrote:
While trying to switch over how blob URLs are created/revoked to mojo, I ran into some test failures which made me realize the way loading of blob URLs is currently done is problematic. This document is my attempt of explaining the problem and trying to figure out how to best solve this problem. Since I don't really know anything about the way loading actually works, I could use some help with that part of the document though.


--
You received this message because you are subscribed to the Google Groups "network-service-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to network-service-dev+unsubscribe...@chromium.org.

Kinuko Yasuda

unread,
Nov 15, 2017, 2:20:22 AM11/15/17
to Marijn Kruisselbrink, loading-dev, storage-dev, network-service-dev, John Abd-El-Malek
Yeah we have multiple docs that are talking about part of them, or old code path has some deep-dive docs, but I'm afraid we don't have one that covers both the new code and old code right now, as far as I know.  Also navigation is another beast that works a bit differently from regular coding path...

Anyways here're some docs which might help a bit (or not):
* Mojo in Loading (early design doc for MojoLoading) by yhirano@: https://docs.google.com/document/d/1YBA-_SOE3sn8G-aXs4ZW-eEOR1VqKk0r70uKvcS1E_Q
* PlzNavigate over Mojo (how the navigation code's going to look over Mojo) by clamy@: https://docs.google.com/document/d/1fQzym0Sqg9OrqtISgZV0XvH2swBMmDnmphM3WQD68JU 
* Network Service Download integration by dtrainor@: https://docs.google.com/document/d/1hc9wV3OpqVzQMbpOCLWGkquFYiwYB8mw5VtUtB-hxD4
* Servicified Web Platform Loading (doc written May 2017, getting stale now) by kinuko@: https://docs.google.com/document/d/18MPrKYDuRCov_NPRj_KAXaSu4rBwY3r6YqyVAroEwkg 
* [Non-mojo, old code path] Resource loading code path diagram (for Fonts), legacy one / non-mojo by toyoshim@: https://docs.google.com/drawings/d/1ymziJMZwiP75GeGnDYw859hcGX2o0iHc-mqcI7g0Z3s/edit

Reply all
Reply to author
Forward
0 new messages