diff options
Diffstat (limited to 'chromium/components/download/internal/common/download_utils.cc')
-rw-r--r-- | chromium/components/download/internal/common/download_utils.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/chromium/components/download/internal/common/download_utils.cc b/chromium/components/download/internal/common/download_utils.cc index 6addf4137a0..0bf7c41792f 100644 --- a/chromium/components/download/internal/common/download_utils.cc +++ b/chromium/components/download/internal/common/download_utils.cc @@ -284,8 +284,10 @@ std::unique_ptr<network::ResourceRequest> CreateResourceRequest( // cross-site URL has been visited before. url::Origin origin = url::Origin::Create(params->url()); request->trusted_params->isolation_info = net::IsolationInfo::Create( - net::IsolationInfo::RequestType::kMainFrame, origin, origin, - net::SiteForCookies::FromOrigin(origin)); + params->update_first_party_url_on_redirect() + ? net::IsolationInfo::RequestType::kMainFrame + : net::IsolationInfo::RequestType::kOther, + origin, origin, net::SiteForCookies::FromOrigin(origin)); request->site_for_cookies = net::SiteForCookies::FromUrl(params->url()); } @@ -293,7 +295,8 @@ std::unique_ptr<network::ResourceRequest> CreateResourceRequest( request->referrer = params->referrer(); request->referrer_policy = params->referrer_policy(); request->is_main_frame = true; - request->update_first_party_url_on_redirect = true; + request->update_first_party_url_on_redirect = + params->update_first_party_url_on_redirect(); // Downloads should be treated as navigations from Fetch spec perspective. // See also: |