summaryrefslogtreecommitdiffstats
diff options
authorSzabolcs David <davidsz@inf.u-szeged.hu>2023-11-06 11:35:47 +0100
committerSzabolcs David <davidsz@inf.u-szeged.hu>2023-11-09 09:39:42 +0000
commit6cc1a258491f9501996c229753ea6319b4f1d48c (patch)
tree72120f8a2ef8da54b3e462d9158e234bee4eb286
parent9c95f28ffa92d6c353a01c827dc7f55a16896d54 (diff)
FIXUP: Add first_party_url for net::SiteForCookies116-based
From the following change, Chromium uses the StorageKey type to determine the site_for_cookies member of service worker requests: https://chromium-review.googlesource.com/c/chromium/src/+/4496784 In the special cases of service workers, WebEngine deduces first party URL from site_for_cookies. This is where the jsServiceWorker() auto test started to fail, because StorageKey uses a trimmed top level URL instead of the full URL (as our tests expect). Extend the SiteForCookies type to store a full URL to bring back the old behavior. Change-Id: I8d9e8707e8bba9941e2951bf80b30641c91dc741 Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/516345 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--chromium/net/cookies/site_for_cookies.cc5
-rw-r--r--chromium/net/cookies/site_for_cookies.h2
-rw-r--r--chromium/third_party/blink/common/storage_key/storage_key.cc2
3 files changed, 5 insertions, 4 deletions
diff --git a/chromium/net/cookies/site_for_cookies.cc b/chromium/net/cookies/site_for_cookies.cc
index 22e4b88279e..06562291e31 100644
--- a/chromium/net/cookies/site_for_cookies.cc
+++ b/chromium/net/cookies/site_for_cookies.cc
@@ -15,8 +15,9 @@ namespace net {
SiteForCookies::SiteForCookies() = default;
-SiteForCookies::SiteForCookies(const SchemefulSite& site)
- : site_(site), schemefully_same_(!site.opaque()) {
+SiteForCookies::SiteForCookies(const SchemefulSite& site, const GURL first_party_url)
+ : site_(site), schemefully_same_(!site.opaque())
+ , first_party_url_(first_party_url) {
site_.ConvertWebSocketToHttp();
}
diff --git a/chromium/net/cookies/site_for_cookies.h b/chromium/net/cookies/site_for_cookies.h
index 6a3d02dd140..d10a2c6c665 100644
--- a/chromium/net/cookies/site_for_cookies.h
+++ b/chromium/net/cookies/site_for_cookies.h
@@ -44,7 +44,7 @@ class NET_EXPORT SiteForCookies {
SiteForCookies(const SiteForCookies& other);
SiteForCookies(SiteForCookies&& other);
- explicit SiteForCookies(const SchemefulSite& schemeful_site);
+ explicit SiteForCookies(const SchemefulSite& schemeful_site, const GURL first_party_url = GURL());
~SiteForCookies();
diff --git a/chromium/third_party/blink/common/storage_key/storage_key.cc b/chromium/third_party/blink/common/storage_key/storage_key.cc
index 512880ba4af..d17644f03a2 100644
--- a/chromium/third_party/blink/common/storage_key/storage_key.cc
+++ b/chromium/third_party/blink/common/storage_key/storage_key.cc
@@ -776,7 +776,7 @@ const net::SiteForCookies StorageKey::ToNetSiteForCookies() const {
}
// Otherwise we are in a first party context.
- return net::SiteForCookies(top_level_site_);
+ return net::SiteForCookies(top_level_site_, origin_.GetFullURL());
}
const net::IsolationInfo StorageKey::ToPartialNetIsolationInfo() const {