summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc
diff options
context:
space:
mode:
authorTamas Zakor <ztamas@inf.u-szeged.hu>2021-02-09 07:32:37 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-11-09 11:46:29 +0100
commit3287f5736ca9433600f943d0a6ba2a3fa0fca38d (patch)
tree5213d8938774d110f15fa29474863110eeab08ae /chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc
parent59f9de25721f1fdab4d8aca2cbe08c5a2df2b7d0 (diff)
downloadqtwebengine-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.cc13
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;
}