diff options
Diffstat (limited to 'chromium/third_party')
9 files changed, 18 insertions, 101 deletions
diff --git a/chromium/third_party/blink/public/mojom/fetch/fetch_api_request.mojom b/chromium/third_party/blink/public/mojom/fetch/fetch_api_request.mojom index abeb1ad152b..903ebd4fe48 100644 --- a/chromium/third_party/blink/public/mojom/fetch/fetch_api_request.mojom +++ b/chromium/third_party/blink/public/mojom/fetch/fetch_api_request.mojom @@ -14,7 +14,6 @@ import "services/network/public/mojom/url_loader.mojom"; import "third_party/blink/public/mojom/blob/serialized_blob.mojom"; import "third_party/blink/public/mojom/loader/request_context_frame_type.mojom"; import "third_party/blink/public/mojom/loader/referrer.mojom"; -import "url/mojom/origin.mojom"; import "url/mojom/url.mojom"; @@ -183,23 +182,6 @@ struct FetchAPIRequest { SerializedBlob? blob; FetchAPIRequestBody? body; - // `request_initiator` indicates the origin that initiated the request. See - // also `network::ResourceRequest::request_initiator`, and the doc comment - // for `request_initiator` in services/network/public/mojom/url_request.mojom. - // - // Note that the origin may be missing for browser-initiated navigations - // (e.g. ones initiated from the Omnibox). - url.mojom.Origin? request_initiator; - - // The chain of URLs seen during navigation redirects. This should only - // contain values if the mode is `RedirectMode::kNavigate`. This list - // will contain the initial network request URL, but not URLs from previous - // state in the DOM. For example, if a frame has URL A and sets its location - // to URL B, then the redirect chain will begin with URL B. The chain also - // includes the current request URL, however, it will not reflect any changes - // made by throttles. - array<url.mojom.Url> navigation_redirect_chain; - Referrer? referrer; network.mojom.CredentialsMode credentials_mode = network.mojom.CredentialsMode.kOmit; diff --git a/chromium/third_party/blink/renderer/core/fetch/fetch_manager.cc b/chromium/third_party/blink/renderer/core/fetch/fetch_manager.cc index 5fd962266bd..df680aa38a4 100644 --- a/chromium/third_party/blink/renderer/core/fetch/fetch_manager.cc +++ b/chromium/third_party/blink/renderer/core/fetch/fetch_manager.cc @@ -694,8 +694,6 @@ void FetchManager::Loader::PerformHTTPFetch() { // FIXME: Support body. ResourceRequest request(fetch_request_data_->Url()); request.SetRequestorOrigin(fetch_request_data_->Origin()); - request.SetNavigationRedirectChain( - fetch_request_data_->NavigationRedirectChain()); request.SetIsolatedWorldOrigin(fetch_request_data_->IsolatedWorldOrigin()); request.SetRequestContext(fetch_request_data_->Context()); request.SetRequestDestination(fetch_request_data_->Destination()); @@ -703,7 +701,21 @@ void FetchManager::Loader::PerformHTTPFetch() { request.SetFetchWindowId(fetch_request_data_->WindowId()); request.SetTrustTokenParams(fetch_request_data_->TrustTokenParams()); - request.SetMode(fetch_request_data_->Mode()); + switch (fetch_request_data_->Mode()) { + case RequestMode::kSameOrigin: + case RequestMode::kNoCors: + case RequestMode::kCors: + case RequestMode::kCorsWithForcedPreflight: + request.SetMode(fetch_request_data_->Mode()); + break; + case RequestMode::kNavigate: + // NetworkService (i.e. CorsURLLoaderFactory::IsSane) rejects kNavigate + // requests coming from renderers, so using kSameOrigin here. + // TODO(lukasza): Tweak CorsURLLoaderFactory::IsSane to accept kNavigate + // if request_initiator and the target are same-origin. + request.SetMode(RequestMode::kSameOrigin); + break; + } request.SetCredentialsMode(fetch_request_data_->Credentials()); for (const auto& header : fetch_request_data_->HeaderList()->List()) { @@ -751,8 +763,6 @@ void FetchManager::Loader::PerformHTTPFetch() { UseCounter::Count(execution_context_, mojom::WebFeature::kFetchKeepalive); } - request.SetOriginalDestination(fetch_request_data_->OriginalDestination()); - // "3. Append `Host`, ..." // FIXME: Implement this when the spec is fixed. diff --git a/chromium/third_party/blink/renderer/core/fetch/fetch_request_data.cc b/chromium/third_party/blink/renderer/core/fetch/fetch_request_data.cc index 2ff6d006ece..13b45b398b4 100644 --- a/chromium/third_party/blink/renderer/core/fetch/fetch_request_data.cc +++ b/chromium/third_party/blink/renderer/core/fetch/fetch_request_data.cc @@ -161,10 +161,6 @@ FetchRequestData* FetchRequestData::Create( // we deprecate SetContext. request->SetDestination(fetch_api_request->destination); - if (fetch_api_request->request_initiator) - request->SetOrigin(fetch_api_request->request_initiator); - request->SetNavigationRedirectChain( - fetch_api_request->navigation_redirect_chain); request->SetReferrerString(AtomicString(Referrer::NoReferrer())); if (fetch_api_request->referrer) { if (!fetch_api_request->referrer->url.IsEmpty()) { @@ -185,7 +181,6 @@ FetchRequestData* FetchRequestData::Create( fetch_api_request->priority)); if (fetch_api_request->fetch_window_id) request->SetWindowId(fetch_api_request->fetch_window_id.value()); - return request; } @@ -195,7 +190,6 @@ FetchRequestData* FetchRequestData::CloneExceptBody() { request->method_ = method_; request->header_list_ = header_list_->Clone(); request->origin_ = origin_; - request->navigation_redirect_chain_ = navigation_redirect_chain_; request->isolated_world_origin_ = isolated_world_origin_; request->context_ = context_; request->destination_ = destination_; @@ -210,7 +204,6 @@ FetchRequestData* FetchRequestData::CloneExceptBody() { request->integrity_ = integrity_; request->priority_ = priority_; request->importance_ = importance_; - request->original_destination_ = original_destination_; request->keepalive_ = keepalive_; request->is_history_navigation_ = is_history_navigation_; request->window_id_ = window_id_; diff --git a/chromium/third_party/blink/renderer/core/fetch/fetch_request_data.h b/chromium/third_party/blink/renderer/core/fetch/fetch_request_data.h index 295fd986d7b..682cfdc1686 100644 --- a/chromium/third_party/blink/renderer/core/fetch/fetch_request_data.h +++ b/chromium/third_party/blink/renderer/core/fetch/fetch_request_data.h @@ -64,12 +64,6 @@ class CORE_EXPORT FetchRequestData final void SetOrigin(scoped_refptr<const SecurityOrigin> origin) { origin_ = std::move(origin); } - const WTF::Vector<KURL>& NavigationRedirectChain() const { - return navigation_redirect_chain_; - } - void SetNavigationRedirectChain(const WTF::Vector<KURL>& value) { - navigation_redirect_chain_ = value; - } scoped_refptr<const SecurityOrigin> IsolatedWorldOrigin() const { return isolated_world_origin_; } @@ -117,15 +111,6 @@ class CORE_EXPORT FetchRequestData final void SetIntegrity(const String& integrity) { integrity_ = integrity; } ResourceLoadPriority Priority() const { return priority_; } void SetPriority(ResourceLoadPriority priority) { priority_ = priority; } - - // The original destination of a request passed through by a service worker. - void SetOriginalDestination(network::mojom::RequestDestination value) { - original_destination_ = value; - } - network::mojom::RequestDestination OriginalDestination() const { - return original_destination_; - } - bool Keepalive() const { return keepalive_; } void SetKeepalive(bool b) { keepalive_ = b; } bool IsHistoryNavigation() const { return is_history_navigation_; } @@ -172,7 +157,6 @@ class CORE_EXPORT FetchRequestData final mojom::RequestContextType context_; network::mojom::RequestDestination destination_; scoped_refptr<const SecurityOrigin> origin_; - WTF::Vector<KURL> navigation_redirect_chain_; scoped_refptr<const SecurityOrigin> isolated_world_origin_; // FIXME: Support m_forceOriginHeaderFlag; AtomicString referrer_string_; @@ -195,8 +179,6 @@ class CORE_EXPORT FetchRequestData final String mime_type_; String integrity_; ResourceLoadPriority priority_; - network::mojom::RequestDestination original_destination_ = - network::mojom::RequestDestination::kEmpty; bool keepalive_; bool is_history_navigation_ = false; // A specific factory that should be used for this request instead of whatever diff --git a/chromium/third_party/blink/renderer/core/fetch/request.cc b/chromium/third_party/blink/renderer/core/fetch/request.cc index c53cb946a9d..3f45de671ed 100644 --- a/chromium/third_party/blink/renderer/core/fetch/request.cc +++ b/chromium/third_party/blink/renderer/core/fetch/request.cc @@ -71,9 +71,7 @@ FetchRequestData* CreateCopyOfFetchRequestDataForFetch( request->SetURL(original->Url()); request->SetMethod(original->Method()); request->SetHeaderList(original->HeaderList()->Clone()); - request->SetOrigin(original->Origin() ? original->Origin() - : context->GetSecurityOrigin()); - request->SetNavigationRedirectChain(original->NavigationRedirectChain()); + request->SetOrigin(context->GetSecurityOrigin()); // FIXME: Set client. DOMWrapperWorld& world = script_state->World(); if (world.IsIsolatedWorld()) { @@ -100,18 +98,6 @@ FetchRequestData* CreateCopyOfFetchRequestDataForFetch( } request->SetWindowId(original->WindowId()); request->SetTrustTokenParams(original->TrustTokenParams()); - - // When a new request is created from another the destination is always reset - // to be `kEmpty`. In order to facilitate some later checks when a service - // worker forwards a navigation request we want to keep track of the - // destination of the original request. Therefore record the original - // request's destination if its non-empty, otherwise just carry forward - // whatever "original destination" value was already set. - if (original->Destination() != network::mojom::RequestDestination::kEmpty) - request->SetOriginalDestination(original->Destination()); - else - request->SetOriginalDestination(original->OriginalDestination()); - return request; } @@ -327,10 +313,6 @@ Request* Request::CreateRequestWithRequestOrString( // "If any of |init|'s members are present, then:" if (AreAnyMembersPresent(init)) { - request->SetOrigin(execution_context->GetSecurityOrigin()); - request->SetOriginalDestination(network::mojom::RequestDestination::kEmpty); - request->SetNavigationRedirectChain(Vector<KURL>()); - // "If |request|'s |mode| is "navigate", then set it to "same-origin". if (request->Mode() == network::mojom::RequestMode::kNavigate) request->SetMode(network::mojom::RequestMode::kSameOrigin); @@ -984,7 +966,6 @@ mojom::blink::FetchAPIRequestPtr Request::CreateFetchAPIRequest() const { fetch_api_request->integrity = request_->Integrity(); fetch_api_request->is_history_navigation = request_->IsHistoryNavigation(); fetch_api_request->destination = request_->Destination(); - fetch_api_request->request_initiator = request_->Origin(); // Strip off the fragment part of URL. So far, all callers expect the fragment // to be excluded. diff --git a/chromium/third_party/blink/renderer/modules/cache_storage/inspector_cache_storage_agent.cc b/chromium/third_party/blink/renderer/modules/cache_storage/inspector_cache_storage_agent.cc index e122d3f686e..1ab8e2f4570 100644 --- a/chromium/third_party/blink/renderer/modules/cache_storage/inspector_cache_storage_agent.cc +++ b/chromium/third_party/blink/renderer/modules/cache_storage/inspector_cache_storage_agent.cc @@ -263,8 +263,7 @@ class ResponsesAccumulator : public RefCounted<ResponsesAccumulator> { auto request_clone_without_body = mojom::blink::FetchAPIRequest::New( request->mode, request->is_main_resource_load, request->destination, request->frame_type, request->url, request->method, request->headers, - nullptr /* blob */, ResourceRequestBody(), request->request_initiator, - request->navigation_redirect_chain, request->referrer.Clone(), + nullptr /* blob */, ResourceRequestBody(), request->referrer.Clone(), request->credentials_mode, request->cache_mode, request->redirect_mode, request->integrity, request->priority, request->fetch_window_id, request->keepalive, request->is_reload, diff --git a/chromium/third_party/blink/renderer/platform/loader/fetch/resource_request.cc b/chromium/third_party/blink/renderer/platform/loader/fetch/resource_request.cc index 8ffc7645180..305d2a7f5ec 100644 --- a/chromium/third_party/blink/renderer/platform/loader/fetch/resource_request.cc +++ b/chromium/third_party/blink/renderer/platform/loader/fetch/resource_request.cc @@ -77,8 +77,7 @@ ResourceRequestHead::ResourceRequestHead(const KURL& url) referrer_policy_(network::mojom::ReferrerPolicy::kDefault), is_external_request_(false), cors_preflight_policy_( - network::mojom::CorsPreflightPolicy::kConsiderPreflight), - original_destination_(network::mojom::RequestDestination::kEmpty) {} + network::mojom::CorsPreflightPolicy::kConsiderPreflight) {} ResourceRequestHead::ResourceRequestHead(const ResourceRequestHead&) = default; diff --git a/chromium/third_party/blink/renderer/platform/loader/fetch/resource_request.h b/chromium/third_party/blink/renderer/platform/loader/fetch/resource_request.h index 4946c7cb619..7630c3dafe1 100644 --- a/chromium/third_party/blink/renderer/platform/loader/fetch/resource_request.h +++ b/chromium/third_party/blink/renderer/platform/loader/fetch/resource_request.h @@ -136,15 +136,6 @@ class PLATFORM_EXPORT ResourceRequestHead { requestor_origin_ = std::move(origin); } - // The chain of URLs seen during navigation redirects. This should only - // contain values if the mode is `RedirectMode::kNavigate`. - const WTF::Vector<KURL>& NavigationRedirectChain() const { - return navigation_redirect_chain_; - } - void SetNavigationRedirectChain(const WTF::Vector<KURL>& value) { - navigation_redirect_chain_ = value; - } - // The origin of the isolated world - set if this is a fetch/XHR initiated by // an isolated world. const scoped_refptr<const SecurityOrigin>& IsolatedWorldOrigin() const { @@ -479,14 +470,6 @@ class PLATFORM_EXPORT ResourceRequestHead { return allowHTTP1ForStreamingUpload_; } - // The original destination of a request passed through by a service worker. - network::mojom::RequestDestination GetOriginalDestination() const { - return original_destination_; - } - void SetOriginalDestination(network::mojom::RequestDestination value) { - original_destination_ = value; - } - private: const CacheControlHeader& GetCacheControlHeader() const; @@ -500,7 +483,6 @@ class PLATFORM_EXPORT ResourceRequestHead { scoped_refptr<const SecurityOrigin> top_frame_origin_; scoped_refptr<const SecurityOrigin> requestor_origin_; - WTF::Vector<KURL> navigation_redirect_chain_; scoped_refptr<const SecurityOrigin> isolated_world_origin_; AtomicString http_method_; @@ -561,8 +543,6 @@ class PLATFORM_EXPORT ResourceRequestHead { base::UnguessableToken fetch_window_id_; - network::mojom::RequestDestination original_destination_; - uint64_t inspector_id_ = 0; bool is_from_origin_dirty_style_sheet_ = false; diff --git a/chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.cc b/chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.cc index d42dd6600df..b1050ececf3 100644 --- a/chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.cc +++ b/chromium/third_party/blink/renderer/platform/loader/fetch/url_loader/request_conversion.cc @@ -263,13 +263,6 @@ void PopulateResourceRequest(const ResourceRequestHead& src, } else { dest->request_initiator = src.RequestorOrigin()->ToUrlOrigin(); } - - DCHECK(dest->navigation_redirect_chain.empty()); - dest->navigation_redirect_chain.reserve(src.NavigationRedirectChain().size()); - for (const auto& url : src.NavigationRedirectChain()) { - dest->navigation_redirect_chain.push_back(url); - } - if (src.IsolatedWorldOrigin()) { dest->isolated_world_origin = src.IsolatedWorldOrigin()->ToUrlOrigin(); } @@ -383,8 +376,6 @@ void PopulateResourceRequest(const ResourceRequestHead& src, dest->headers.SetHeaderIfMissing(net::HttpRequestHeaders::kAccept, network::kDefaultAcceptHeaderValue); } - - dest->original_destination = src.GetOriginalDestination(); } } // namespace blink |