-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bundled subresource origins. #583
Comments
(For a bit more context: splitting the origin based on the distributor and the declared origin of a given resource reminds me a lot of https://w3c.github.io/webappsec-suborigins/. If we're going to create such a thing, I'd like for us not to do it accidentally, but to build it out in a way that's workable for more than packages. /cc @arturjanc) |
I think your new understanding matches what I'm hoping to do, and you're right that this is a new way to get suborigins. Your original thought that maybe these should only hold resources on the origin that delivered the package match @annevk's comments and some questions in the TAG review. https://docs.google.com/document/d/1BYQEi8xkXDAg9lxm3PaoMzEutuQAZi1r8Y0pLaFJQoo/edit#heading=h.wwozqa5gouqp and #498 mention some use cases for using a non-opaque origin: in general if the package contains anything more interesting than a static HTML file, it ought to have some non-ephemeral storage. |
Let me clarify my understanding. If we use non-special, non-generic URLs without Currently Chrome (with chrome://flags/#web-bundles enabled) loads local file web bundles using file: scheme. [1] We can use some storage APIs under file: scheme now. But this is not an ideal behavior because the storages are shared by all pages under file: scheme (crbug.com/794098). And both [2][3] limitations exist in the file: scheme. I would be happy if we can also solve these limitations with the new URL scheme. |
@horo-t An "authority" isn't the same thing as an "origin". For example, We'll patch the definition of origins to say that for a |
Ah, now I understood. Thank you for the explanation. |
I have a few concerns with this scheme, especially for unsigned bundles (I haven't thought through this as much as y'all obviously have, so apologies if I retread ground that you've already been over and over). In no particular order:
I think it's possible to find reasonable answers to the above, and I would like to support the kinds of use cases documented in the links above. I worry, though, that folks really do want something more powerful than the harmless "storing a list of quizzes/games which have already been done so that it doesn’t reset every time you open the publication" use cases that seem reasonable to want to support even for unsigned bundles. Someone, somewhere, has a great idea for an amazing, totally-off-the-grid bitcoin wallet or something, and this is going to look like a great fit. It doesn't seem to me that we can make the kinds of guarantees around storage isolation in these packages that we can make with signed packages, and it may be dangerous to pretend that we can. |
https://github.com/WICG/webpackage/blob/master/explainers/bundle-urls-and-origins.md hopefully answers the questions above. Specifically:
|
Following on a conversation in https://chromium-review.googlesource.com/c/chromium/src/+/2226248, I'd like to understand where y'all are coming down on the origins of subresources from unsigned bundles. From conversations with @kinu and team, I'd understood that unsigned packages directly delivered from
https://example.com/
would contain resources that all acted as though they were delivered fromhttps://example.com/
, and packages whose provenance was indeterminate would be treated as having opaque origins.The scheme proposed in https://github.com/WICG/webpackage/blob/master/explainers/navigation-to-unsigned-bundles.md#urls-for-bundle-components is quite a bit more complicated, both in terms of parsing, and in meaning. My understanding is that it aims to give a persistent origin to resources in the bundle that's distinct from the entity that delivered the bundle. Can you help me understand the benefits of that model so we can weigh them against the complexity it introduces?
The text was updated successfully, but these errors were encountered: