From ac52c706c9cafe9b9d69d3db810af09d1bd9bdf4 Mon Sep 17 00:00:00 2001 From: Claudio DeSouza Date: Mon, 3 Feb 2025 22:16:28 +0000 Subject: [PATCH] [cr134] `BlobURLStoreImpl` passing `is_top_level_navigation` This argument is being propagated in several places, and it has affect an override, however the argument is only passed along. Chromium change: https://chromium.googlesource.com/chromium/src/+/4fe86b8660f18e2cd5dea36b3dabbe587c8ce72c commit 4fe86b8660f18e2cd5dea36b3dabbe587c8ce72c Author: Janice Liu Date: Fri Jan 31 12:24:53 2025 -0800 [Blob URL] Partition Blob URL Subframe Navigations `noopener` is enforced for Blob URL navigations, but navigations that aren't top-level should be partitioned to align with Firefox and Safari. Bug: 381211737 --- chromium_src/storage/browser/blob/blob_url_store_impl.cc | 5 +++-- chromium_src/storage/browser/blob/blob_url_store_impl.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/chromium_src/storage/browser/blob/blob_url_store_impl.cc b/chromium_src/storage/browser/blob/blob_url_store_impl.cc index 0568e49ae8a..d3f0ff8ddea 100644 --- a/chromium_src/storage/browser/blob/blob_url_store_impl.cc +++ b/chromium_src/storage/browser/blob/blob_url_store_impl.cc @@ -31,14 +31,15 @@ void BlobURLStoreImpl::ResolveAsURLLoaderFactory( void BlobURLStoreImpl::ResolveForNavigation( const GURL& url, mojo::PendingReceiver token, + bool is_top_level_navigation, ResolveForNavigationCallback callback) { if (!IsBlobResolvable(url)) { std::move(callback).Run(std::nullopt); return; } - BlobURLStoreImpl_ChromiumImpl::ResolveForNavigation(url, std::move(token), - std::move(callback)); + BlobURLStoreImpl_ChromiumImpl::ResolveForNavigation( + url, std::move(token), is_top_level_navigation, std::move(callback)); } bool BlobURLStoreImpl::IsBlobResolvable(const GURL& url) const { diff --git a/chromium_src/storage/browser/blob/blob_url_store_impl.h b/chromium_src/storage/browser/blob/blob_url_store_impl.h index 5ccce2c2512..44e5aa0bd88 100644 --- a/chromium_src/storage/browser/blob/blob_url_store_impl.h +++ b/chromium_src/storage/browser/blob/blob_url_store_impl.h @@ -38,6 +38,7 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl void ResolveForNavigation( const GURL& url, mojo::PendingReceiver token, + bool is_top_level_navigation, ResolveForNavigationCallback callback) override; private: