[go: nahoru, domu]

blob: dea3f0d9e9c5a90d12780f639bf5bacd74cb16c5 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/core/loader/link_load_parameters.h"
#include "services/network/public/mojom/referrer_policy.mojom-blink.h"
#include "third_party/blink/renderer/platform/loader/link_header.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
namespace blink {
LinkLoadParameters::LinkLoadParameters(
const LinkRelAttribute& rel,
const CrossOriginAttributeValue& cross_origin,
const String& type,
const String& as,
const String& media,
const String& nonce,
const String& integrity,
const String& fetch_priority_hint,
network::mojom::ReferrerPolicy referrer_policy,
const KURL& href,
const String& image_srcset,
const String& image_sizes,
const String& blocking,
LinkLoadParameters::Reason reason)
: rel(rel),
cross_origin(cross_origin),
type(type),
as(as),
media(media),
nonce(nonce),
integrity(integrity),
fetch_priority_hint(fetch_priority_hint),
referrer_policy(referrer_policy),
href(href),
image_srcset(image_srcset),
image_sizes(image_sizes),
blocking(blocking),
reason(reason) {}
LinkLoadParameters::LinkLoadParameters(const LinkHeader& header,
const KURL& base_url)
: rel(LinkRelAttribute(header.Rel())),
cross_origin(GetCrossOriginAttributeValue(header.CrossOrigin())),
type(header.MimeType()),
as(header.As()),
media(header.Media()),
nonce(header.Nonce()),
integrity(header.Integrity()),
fetch_priority_hint(header.FetchPriority()),
referrer_policy(network::mojom::ReferrerPolicy::kDefault),
href(KURL(base_url, header.Url())),
image_srcset(header.ImageSrcset()),
image_sizes(header.ImageSizes()),
blocking(header.Blocking()),
reason(Reason::kDefault) {
if (!header.ReferrerPolicy().empty()) {
SecurityPolicy::ReferrerPolicyFromString(
header.ReferrerPolicy(), kDoNotSupportReferrerPolicyLegacyKeywords,
&referrer_policy);
}
}
} // namespace blink