Support subframe navigation to urn:uuid URLs in Subresource Web Bundles #25784
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Design doc: https://bit.ly/3kLkMRJ#heading=h.aay60dv2vzua
This CL changes BeginNavigation IPC to take an additional parameter,
URNLoaderParams. Currently its only member is a
URLLoaderClientEndpoints, which is used to load a urn:uuid resource from
a Web Bundle.
In the renderer side, FrameLoader::StartNavigation calls
SubresourceWebBundle::MaybeCreateWebBundleBackedNavigationInfo() and it
creates a URLLoaderClientEndpoints if the request URL is a urn:uuid URL
in the bundle.
In the browser process side, if URNLoaderParams is available
NavigationURLLoaderImpl creates a UrnURLLoaderFactory with the
endpoints, and sets it as the handler for urn: scheme.
At the moment, browser process doesn't care which bundle the urn:uuid
resource came from. In followup CLs, we will add information about
WebBundle URL to URNLoaderParams, so that cache isolation can be done
taking the WebBundle's origin into account.
This CL makes CanAccessDataForOrigin allow urn: lock URLs when using
CanAccessDataForOrigin to validate precursor of an opaque origin, as we
do for data: URLs.
Bug: 1082020
Change-Id: Ia209f71bcd6855df29581d87595010acd609e8ee
Reviewed-on: https://chromium-review.googlesource.com/2409741
WPT-Export-Revision: a8cb7c29e60b3a29c61d8761ab56769d6f40ba13