Issue metadata
Sign in to add a comment
|
Make ServiceWorkerFetchResponseCallback work with ServiceWorkerResponse.blob |
||||||||||||||||||||||||
Issue descriptionMaking the fetch code work with BlobHandle (held as |blob| in ServiceWorkerResponse in fetch handling case) is critical to make Blob lifetime management work saner esp. when we can't easily rely on implicit IPC ordering assumptions with Browser process (e.g. in Servicification context). Currently we pass ServiceWorkerResponse via traditional IPC if (and only if) the response has a valid blob uuid (and blob ptr is non-null if kMojoBlobs is enabled), but this code currently doesn't work if we try to pass the response via ServiceWorkerFetchResponseCallback. Currently it hits serialization / deserialization error in NativeStructSerializer: https://cs.chromium.org/chromium/src/mojo/public/cpp/bindings/lib/native_struct_serialization.h It looks ParamTraits::GetSize and ::Write for BlobHandle result in different size (attachment may not be supported in native struct in mojo?): https://cs.chromium.org/chromium/src/content/common/content_param_traits.cc?sq=package:chromium&dr&q=BlobHandle&l=115 ServiceWorkerResponse.blob and storage::BlobHandle are introduced by this change by mek@: https://chromium-review.googlesource.com/c/567549
,
Aug 17 2017
Thanks Yuzhu for the context, it makes sense. I agree that we should add mojo typemapping rather than putting energy on making the native struct support in Mojo better :)
,
Sep 29 2017
I think some of my change have fixed this, so let me close!
,
Nov 7 2017
Apologies, applied the wrong component in bulk. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by yzshen@chromium.org
, Aug 15 2017