summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc
diff options
context:
space:
mode:
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.cc11
1 files changed, 8 insertions, 3 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 9183e5e39c4..9091b066b84 100644
--- a/chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc
+++ b/chromium/third_party/blink/renderer/platform/weborigin/security_origin.cc
@@ -143,7 +143,8 @@ SecurityOrigin::SecurityOrigin(const KURL& url)
domain_(host_),
port_(IsDefaultPortForProtocol(url.Port(), protocol_) ? kInvalidPort
: url.Port()),
- effective_port_(port_ ? port_ : DefaultPortForProtocol(protocol_)) {
+ effective_port_(port_ ? port_ : DefaultPortForProtocol(protocol_)),
+ full_url_(url.Copy()) {
DCHECK(!ShouldTreatAsOpaqueOrigin(url));
// NOTE(juvaldma)(Chromium 67.0.3396.47)
@@ -193,7 +194,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_.Copy()) {}
SecurityOrigin::SecurityOrigin(const SecurityOrigin* other,
ConstructSameThreadCopy)
@@ -212,7 +214,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_.Copy()) {}
scoped_refptr<SecurityOrigin> SecurityOrigin::CreateWithReferenceOrigin(
const KURL& url,
@@ -281,6 +284,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;
}
@@ -297,6 +301,7 @@ url::Origin SecurityOrigin::ToUrlOrigin() const {
}
url::Origin result = url::Origin::CreateFromNormalizedTuple(
std::move(scheme), std::move(host), port);
+ result.SetFullURL(full_url_);
CHECK(!result.opaque());
return result;
}