Commit 19af63b7 authored by Yutaka Hirano's avatar Yutaka Hirano Committed by Commit Bot

Remove FetchRequestData::same_origin_data_url_flag_

https://github.com/whatwg/html/pull/1782 removed same-origin data URL
flag from request We should follow that. Data URLs should be treated
as same-origin.

This is a follow up of
https://crrev.com/5825804e1054dff6b812fa9df63c16777ad827a9.

Bug: 1012624
Change-Id: I200d30d9c39a22b7dc395966a7df51426a335b43
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1849472
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Auto-Submit: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: default avatarTakashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704134}
parent 9aabd654
...@@ -561,13 +561,12 @@ void FetchManager::Loader::Start(ExceptionState& exception_state) { ...@@ -561,13 +561,12 @@ void FetchManager::Loader::Start(ExceptionState& exception_state) {
return; return;
} }
// "- |request|'s url's origin is |request|'s origin and the |CORS flag| is // "- |request|'s url's origin is same origin with |request|'s origin,
// unset" // |request|'s tainted origin flag is unset, and the CORS flag is unset"
// "- |request|'s url's scheme is 'data' and |request|'s same-origin data // Note tainted origin flag is always unset here.
// URL flag is set"
// "- |request|'s url's scheme is 'about'"
// Note we don't support to call this method with |CORS flag| // Note we don't support to call this method with |CORS flag|
// "- |request|'s mode is |navigate|". // "- |request|'s current URL's scheme is |data|"
// "- |request|'s mode is |navigate| or |websocket|".
bool is_target_same_origin_as_initiator = bool is_target_same_origin_as_initiator =
SecurityOrigin::Create(fetch_request_data_->Url()) SecurityOrigin::Create(fetch_request_data_->Url())
->IsSameSchemeHostPort(fetch_request_data_->Origin().get()); ->IsSameSchemeHostPort(fetch_request_data_->Origin().get());
...@@ -578,8 +577,7 @@ void FetchManager::Loader::Start(ExceptionState& exception_state) { ...@@ -578,8 +577,7 @@ void FetchManager::Loader::Start(ExceptionState& exception_state) {
fetch_request_data_->IsolatedWorldOrigin().get()); fetch_request_data_->IsolatedWorldOrigin().get());
if (is_target_same_origin_as_initiator || if (is_target_same_origin_as_initiator ||
is_target_same_origin_as_isolated_world || is_target_same_origin_as_isolated_world ||
(fetch_request_data_->Url().ProtocolIsData() && fetch_request_data_->Url().ProtocolIsData() ||
fetch_request_data_->SameOriginDataURLFlag()) ||
network::IsNavigationRequestMode(fetch_request_data_->Mode())) { network::IsNavigationRequestMode(fetch_request_data_->Mode())) {
// "The result of performing a scheme fetch using request." // "The result of performing a scheme fetch using request."
PerformSchemeFetch(exception_state); PerformSchemeFetch(exception_state);
......
...@@ -134,7 +134,6 @@ FetchRequestData* FetchRequestData::CloneExceptBody() { ...@@ -134,7 +134,6 @@ FetchRequestData* FetchRequestData::CloneExceptBody() {
request->header_list_ = header_list_->Clone(); request->header_list_ = header_list_->Clone();
request->origin_ = origin_; request->origin_ = origin_;
request->isolated_world_origin_ = isolated_world_origin_; request->isolated_world_origin_ = isolated_world_origin_;
request->same_origin_data_url_flag_ = same_origin_data_url_flag_;
request->context_ = context_; request->context_ = context_;
request->referrer_string_ = referrer_string_; request->referrer_string_ = referrer_string_;
request->referrer_policy_ = referrer_policy_; request->referrer_policy_ = referrer_policy_;
...@@ -192,7 +191,6 @@ FetchRequestData::FetchRequestData() ...@@ -192,7 +191,6 @@ FetchRequestData::FetchRequestData()
: method_(http_names::kGET), : method_(http_names::kGET),
header_list_(MakeGarbageCollected<FetchHeaderList>()), header_list_(MakeGarbageCollected<FetchHeaderList>()),
context_(mojom::RequestContextType::UNSPECIFIED), context_(mojom::RequestContextType::UNSPECIFIED),
same_origin_data_url_flag_(false),
referrer_string_(Referrer::ClientReferrerString()), referrer_string_(Referrer::ClientReferrerString()),
referrer_policy_(network::mojom::ReferrerPolicy::kDefault), referrer_policy_(network::mojom::ReferrerPolicy::kDefault),
mode_(network::mojom::RequestMode::kNoCors), mode_(network::mojom::RequestMode::kNoCors),
......
...@@ -62,10 +62,6 @@ class CORE_EXPORT FetchRequestData final ...@@ -62,10 +62,6 @@ class CORE_EXPORT FetchRequestData final
scoped_refptr<const SecurityOrigin> isolated_world_origin) { scoped_refptr<const SecurityOrigin> isolated_world_origin) {
isolated_world_origin_ = std::move(isolated_world_origin); isolated_world_origin_ = std::move(isolated_world_origin);
} }
bool SameOriginDataURLFlag() { return same_origin_data_url_flag_; }
void SetSameOriginDataURLFlag(bool flag) {
same_origin_data_url_flag_ = flag;
}
const AtomicString& ReferrerString() const { return referrer_string_; } const AtomicString& ReferrerString() const { return referrer_string_; }
void SetReferrerString(const AtomicString& s) { referrer_string_ = s; } void SetReferrerString(const AtomicString& s) { referrer_string_ = s; }
network::mojom::ReferrerPolicy GetReferrerPolicy() const { network::mojom::ReferrerPolicy GetReferrerPolicy() const {
...@@ -133,7 +129,6 @@ class CORE_EXPORT FetchRequestData final ...@@ -133,7 +129,6 @@ class CORE_EXPORT FetchRequestData final
scoped_refptr<const SecurityOrigin> origin_; scoped_refptr<const SecurityOrigin> origin_;
scoped_refptr<const SecurityOrigin> isolated_world_origin_; scoped_refptr<const SecurityOrigin> isolated_world_origin_;
// FIXME: Support m_forceOriginHeaderFlag; // FIXME: Support m_forceOriginHeaderFlag;
bool same_origin_data_url_flag_;
AtomicString referrer_string_; AtomicString referrer_string_;
network::mojom::ReferrerPolicy referrer_policy_; network::mojom::ReferrerPolicy referrer_policy_;
// FIXME: Support m_authenticationFlag; // FIXME: Support m_authenticationFlag;
......
...@@ -60,7 +60,6 @@ FetchRequestData* CreateCopyOfFetchRequestDataForFetch( ...@@ -60,7 +60,6 @@ FetchRequestData* CreateCopyOfFetchRequestDataForFetch(
if (world.IsIsolatedWorld()) if (world.IsIsolatedWorld())
request->SetIsolatedWorldOrigin(world.IsolatedWorldSecurityOrigin()); request->SetIsolatedWorldOrigin(world.IsolatedWorldSecurityOrigin());
// FIXME: Set ForceOriginHeaderFlag. // FIXME: Set ForceOriginHeaderFlag.
request->SetSameOriginDataURLFlag(true);
request->SetReferrerString(original->ReferrerString()); request->SetReferrerString(original->ReferrerString());
request->SetReferrerPolicy(original->GetReferrerPolicy()); request->SetReferrerPolicy(original->GetReferrerPolicy());
request->SetMode(original->Mode()); request->SetMode(original->Mode());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment