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) {
return;
}
// "- |request|'s url's origin is |request|'s origin and the |CORS flag| is
// unset"
// "- |request|'s url's scheme is 'data' and |request|'s same-origin data
// URL flag is set"
// "- |request|'s url's scheme is 'about'"
// "- |request|'s url's origin is same origin with |request|'s origin,
// |request|'s tainted origin flag is unset, and the CORS flag is unset"
// Note tainted origin flag is always unset here.
// 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 =
SecurityOrigin::Create(fetch_request_data_->Url())
->IsSameSchemeHostPort(fetch_request_data_->Origin().get());
......@@ -578,8 +577,7 @@ void FetchManager::Loader::Start(ExceptionState& exception_state) {
fetch_request_data_->IsolatedWorldOrigin().get());
if (is_target_same_origin_as_initiator ||
is_target_same_origin_as_isolated_world ||
(fetch_request_data_->Url().ProtocolIsData() &&
fetch_request_data_->SameOriginDataURLFlag()) ||
fetch_request_data_->Url().ProtocolIsData() ||
network::IsNavigationRequestMode(fetch_request_data_->Mode())) {
// "The result of performing a scheme fetch using request."
PerformSchemeFetch(exception_state);
......
......@@ -134,7 +134,6 @@ FetchRequestData* FetchRequestData::CloneExceptBody() {
request->header_list_ = header_list_->Clone();
request->origin_ = origin_;
request->isolated_world_origin_ = isolated_world_origin_;
request->same_origin_data_url_flag_ = same_origin_data_url_flag_;
request->context_ = context_;
request->referrer_string_ = referrer_string_;
request->referrer_policy_ = referrer_policy_;
......@@ -192,7 +191,6 @@ FetchRequestData::FetchRequestData()
: method_(http_names::kGET),
header_list_(MakeGarbageCollected<FetchHeaderList>()),
context_(mojom::RequestContextType::UNSPECIFIED),
same_origin_data_url_flag_(false),
referrer_string_(Referrer::ClientReferrerString()),
referrer_policy_(network::mojom::ReferrerPolicy::kDefault),
mode_(network::mojom::RequestMode::kNoCors),
......
......@@ -62,10 +62,6 @@ class CORE_EXPORT FetchRequestData final
scoped_refptr<const SecurityOrigin> 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_; }
void SetReferrerString(const AtomicString& s) { referrer_string_ = s; }
network::mojom::ReferrerPolicy GetReferrerPolicy() const {
......@@ -133,7 +129,6 @@ class CORE_EXPORT FetchRequestData final
scoped_refptr<const SecurityOrigin> origin_;
scoped_refptr<const SecurityOrigin> isolated_world_origin_;
// FIXME: Support m_forceOriginHeaderFlag;
bool same_origin_data_url_flag_;
AtomicString referrer_string_;
network::mojom::ReferrerPolicy referrer_policy_;
// FIXME: Support m_authenticationFlag;
......
......@@ -60,7 +60,6 @@ FetchRequestData* CreateCopyOfFetchRequestDataForFetch(
if (world.IsIsolatedWorld())
request->SetIsolatedWorldOrigin(world.IsolatedWorldSecurityOrigin());
// FIXME: Set ForceOriginHeaderFlag.
request->SetSameOriginDataURLFlag(true);
request->SetReferrerString(original->ReferrerString());
request->SetReferrerPolicy(original->GetReferrerPolicy());
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