diff options
author | Tamas Zakor <ztamas@inf.u-szeged.hu> | 2021-02-09 07:32:37 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-11-09 11:46:29 +0100 |
commit | 3287f5736ca9433600f943d0a6ba2a3fa0fca38d (patch) | |
tree | 5213d8938774d110f15fa29474863110eeab08ae /chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc | |
parent | 59f9de25721f1fdab4d8aca2cbe08c5a2df2b7d0 (diff) | |
download | qtwebengine-chromium-3287f5736ca9433600f943d0a6ba2a3fa0fca38d.tar.gz |
Add first_party_url for net::SiteForCookies
This change brings back the behavior when the site for cookies was
stored as an URL before Chromium 81. QtWebEngine implementation relies
on that becuase it uses SiteForCookies to provide first party url in
some cases.
The site for cookies url was replaced by net::SiteForCookies in change
https://chromium-review.googlesource.com/c/chromium/src/+/1925189
Task-number: QTBUG-90231
Change-Id: Ie1e4be21535a646699b031c3a2ebdb0a19617fc7
Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org>
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc b/chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc index 8ccbafb2e9d..035e5dbabf1 100644 --- a/chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc +++ b/chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc @@ -152,14 +152,15 @@ SecurityOrigin::SecurityOrigin(const KURL& url) // an origin with an effective port of 0. (url.HasPort() || !url.IsValid() || !url.IsHierarchical()) ? url.Port() - : DefaultPortForProtocol(url.Protocol())) {} + : DefaultPortForProtocol(url.Protocol())) { + full_url_ = url; +} SecurityOrigin::SecurityOrigin(const String& protocol, const String& host, uint16_t port) : protocol_(protocol), host_(host), domain_(host_), port_(port) { DCHECK(!IsOpaque()); - // NOTE(juvaldma)(Chromium 67.0.3396.47) // // If DefaultPortForProtocol and IsDefaultPortForProtocol were appropriately @@ -208,7 +209,8 @@ SecurityOrigin::SecurityOrigin(const SecurityOrigin* other, agent_cluster_id_(other->agent_cluster_id_), precursor_origin_(other->precursor_origin_ ? other->precursor_origin_->IsolatedCopy() - : nullptr) {} + : nullptr), + full_url_(other->full_url_) {} SecurityOrigin::SecurityOrigin(const SecurityOrigin* other, ConstructSameThreadCopy) @@ -226,7 +228,8 @@ SecurityOrigin::SecurityOrigin(const SecurityOrigin* other, other->is_opaque_origin_potentially_trustworthy_), cross_agent_cluster_access_(other->cross_agent_cluster_access_), agent_cluster_id_(other->agent_cluster_id_), - precursor_origin_(other->precursor_origin_) {} + precursor_origin_(other->precursor_origin_), + full_url_(other->full_url_) {} scoped_refptr<SecurityOrigin> SecurityOrigin::CreateWithReferenceOrigin( const KURL& url, @@ -296,6 +299,7 @@ scoped_refptr<SecurityOrigin> SecurityOrigin::CreateFromUrlOrigin( url::Origin::Nonce(*nonce_if_opaque), tuple_origin.get())); } CHECK(tuple_origin); + tuple_origin->full_url_ = KURL(origin.GetFullURL()); return tuple_origin; } @@ -312,6 +316,7 @@ url::Origin SecurityOrigin::ToUrlOrigin() const { } url::Origin result = url::Origin::CreateFromNormalizedTuple( std::move(scheme), std::move(host), port); + result.SetFullURL(GURL(full_url_)); CHECK(!result.opaque()); return result; } |