[OnionSoup] Replace blink::ReferrerPolicy with network::mojom::ReferrerPolicy
This CL tries to unify the definition of referrer policy enum, removing
blink::ReferrerPolicy by replacing it with
network::mojom::ReferrerPolicy everywhere inside Blink.
BUG=860403
Change-Id: Ia14a116facf2f8a1901a9c8ea6e4fdc960aa6ae5
Reviewed-on: https://chromium-review.googlesource.com/c/1347779
Commit-Queue: Leon Han <leon.han@intel.com>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611587}
diff --git a/third_party/blink/renderer/DEPS b/third_party/blink/renderer/DEPS
index 35830ed..2515e2d 100644
--- a/third_party/blink/renderer/DEPS
+++ b/third_party/blink/renderer/DEPS
@@ -35,6 +35,7 @@
"+base/time/time.h",
"+base/timer/elapsed_timer.h",
"+build",
+ "+services/network/public/mojom",
"+services/service_manager/public/cpp/connector.h",
"+services/service_manager/public/cpp/interface_provider.h",
"+testing/gmock/include/gmock",
diff --git a/third_party/blink/renderer/bindings/DEPS b/third_party/blink/renderer/bindings/DEPS
index 8d67591..d06b67f 100644
--- a/third_party/blink/renderer/bindings/DEPS
+++ b/third_party/blink/renderer/bindings/DEPS
@@ -2,7 +2,6 @@
"+base/memory/scoped_refptr.h",
"+base/process/process_metrics.h",
"+gin/public",
- "+services/network/public/mojom/fetch_api.mojom-blink.h",
"+third_party/blink/renderer/bindings",
"+third_party/blink/renderer/core",
"+third_party/blink/renderer/modules",
diff --git a/third_party/blink/renderer/bindings/core/v8/referrer_script_info.cc b/third_party/blink/renderer/bindings/core/v8/referrer_script_info.cc
index 4768bf10..ecc6988e 100644
--- a/third_party/blink/renderer/bindings/core/v8/referrer_script_info.cc
+++ b/third_party/blink/renderer/bindings/core/v8/referrer_script_info.cc
@@ -54,8 +54,9 @@
v8::Local<v8::Primitive> referrer_policy_value =
host_defined_options->Get(isolate, kReferrerPolicy);
- ReferrerPolicy referrer_policy = static_cast<ReferrerPolicy>(
- referrer_policy_value->IntegerValue(context).ToChecked());
+ network::mojom::ReferrerPolicy referrer_policy =
+ static_cast<network::mojom::ReferrerPolicy>(
+ referrer_policy_value->IntegerValue(context).ToChecked());
return ReferrerScriptInfo(base_url, credentials_mode, nonce, parser_state,
referrer_policy);
diff --git a/third_party/blink/renderer/bindings/core/v8/referrer_script_info.h b/third_party/blink/renderer/bindings/core/v8/referrer_script_info.h
index a97f21d..93e544b 100644
--- a/third_party/blink/renderer/bindings/core/v8/referrer_script_info.h
+++ b/third_party/blink/renderer/bindings/core/v8/referrer_script_info.h
@@ -6,9 +6,9 @@
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_REFERRER_SCRIPT_INFO_H_
#include "services/network/public/mojom/fetch_api.mojom-blink.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/wtf/text/text_position.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "v8/include/v8.h"
@@ -25,7 +25,7 @@
network::mojom::FetchCredentialsMode credentials_mode,
const String& nonce,
ParserDisposition parser_state,
- ReferrerPolicy referrer_policy)
+ network::mojom::ReferrerPolicy referrer_policy)
: base_url_(base_url),
credentials_mode_(credentials_mode),
nonce_(nonce),
@@ -49,7 +49,9 @@
}
const String& Nonce() const { return nonce_; }
ParserDisposition ParserState() const { return parser_state_; }
- ReferrerPolicy GetReferrerPolicy() const { return referrer_policy_; }
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const {
+ return referrer_policy_;
+ }
bool IsDefaultValue() const {
return base_url_.IsNull() &&
@@ -84,7 +86,8 @@
// Spec: "referencing script's referrer policy"
// The default value is "the empty string" per:
// https://html.spec.whatwg.org/multipage/webappapis.html#default-classic-script-fetch-options
- const ReferrerPolicy referrer_policy_ = kReferrerPolicyDefault;
+ const network::mojom::ReferrerPolicy referrer_policy_ =
+ network::mojom::ReferrerPolicy::kDefault;
};
} // namespace blink
diff --git a/third_party/blink/renderer/bindings/core/v8/referrer_script_info_test.cc b/third_party/blink/renderer/bindings/core/v8/referrer_script_info_test.cc
index 16efb50..76279d4 100644
--- a/third_party/blink/renderer/bindings/core/v8/referrer_script_info_test.cc
+++ b/third_party/blink/renderer/bindings/core/v8/referrer_script_info_test.cc
@@ -12,11 +12,11 @@
TEST(ReferrerScriptInfo, IsDefaultValue) {
EXPECT_TRUE(ReferrerScriptInfo().IsDefaultValue());
- EXPECT_FALSE(
- ReferrerScriptInfo(KURL("http://example.com"),
- network::mojom::FetchCredentialsMode::kInclude, "",
- kNotParserInserted, kReferrerPolicyDefault)
- .IsDefaultValue());
+ EXPECT_FALSE(ReferrerScriptInfo(
+ KURL("http://example.com"),
+ network::mojom::FetchCredentialsMode::kInclude, "",
+ kNotParserInserted, network::mojom::ReferrerPolicy::kDefault)
+ .IsDefaultValue());
}
TEST(ReferrerScriptInfo, ToFromV8) {
@@ -28,7 +28,8 @@
.IsEmpty());
ReferrerScriptInfo info(url, network::mojom::FetchCredentialsMode::kInclude,
- "foobar", kNotParserInserted, kReferrerPolicyOrigin);
+ "foobar", kNotParserInserted,
+ network::mojom::ReferrerPolicy::kOrigin);
v8::Local<v8::PrimitiveArray> v8_info =
info.ToV8HostDefinedOptions(scope.GetIsolate());
@@ -39,7 +40,8 @@
decoded.CredentialsMode());
EXPECT_EQ("foobar", decoded.Nonce());
EXPECT_EQ(kNotParserInserted, decoded.ParserState());
- EXPECT_EQ(kReferrerPolicyOrigin, decoded.GetReferrerPolicy());
+ EXPECT_EQ(network::mojom::ReferrerPolicy::kOrigin,
+ decoded.GetReferrerPolicy());
}
} // namespace blink
diff --git a/third_party/blink/renderer/core/DEPS b/third_party/blink/renderer/core/DEPS
index 21541a9baa..a6c6801 100644
--- a/third_party/blink/renderer/core/DEPS
+++ b/third_party/blink/renderer/core/DEPS
@@ -38,7 +38,6 @@
"+services/network/public/cpp/cors/cors_error_status.h",
"+services/network/public/cpp/features.h",
"+services/network/public/cpp/shared_url_loader_factory.h",
- "+services/network/public/mojom",
"+services/resource_coordinator/public/cpp/resource_coordinator_features.h",
"+services/service_manager/public",
"+services/ws/public/mojom/ime/ime.mojom-shared.h",
diff --git a/third_party/blink/renderer/core/css/parser/css_parser_context.cc b/third_party/blink/renderer/core/css/parser/css_parser_context.cc
index c6e1dc48..fa214682 100644
--- a/third_party/blink/renderer/core/css/parser/css_parser_context.cc
+++ b/third_party/blink/renderer/core/css/parser/css_parser_context.cc
@@ -73,7 +73,7 @@
const CSSParserContext* other,
const KURL& base_url,
bool is_opaque_response_from_service_worker,
- ReferrerPolicy referrer_policy,
+ network::mojom::ReferrerPolicy referrer_policy,
const WTF::TextEncoding& charset,
const Document* use_counter_document) {
return MakeGarbageCollected<CSSParserContext>(
@@ -112,7 +112,7 @@
const Document& document,
const KURL& base_url_override,
bool is_opaque_response_from_service_worker,
- ReferrerPolicy referrer_policy_override,
+ network::mojom::ReferrerPolicy referrer_policy_override,
const WTF::TextEncoding& charset,
SelectorProfile profile) {
CSSParserMode mode =
diff --git a/third_party/blink/renderer/core/css/parser/css_parser_context.h b/third_party/blink/renderer/core/css/parser/css_parser_context.h
index 31df30f..c14c66fd 100644
--- a/third_party/blink/renderer/core/css/parser/css_parser_context.h
+++ b/third_party/blink/renderer/core/css/parser/css_parser_context.h
@@ -42,12 +42,13 @@
static CSSParserContext* Create(const CSSParserContext* other,
const Document* use_counter_document);
- static CSSParserContext* Create(const CSSParserContext* other,
- const KURL& base_url_override,
- bool is_opaque_response_from_service_worker,
- ReferrerPolicy referrer_policy_override,
- const WTF::TextEncoding& charset_override,
- const Document* use_counter_document);
+ static CSSParserContext* Create(
+ const CSSParserContext* other,
+ const KURL& base_url_override,
+ bool is_opaque_response_from_service_worker,
+ network::mojom::ReferrerPolicy referrer_policy_override,
+ const WTF::TextEncoding& charset_override,
+ const Document* use_counter_document);
static CSSParserContext* Create(
CSSParserMode,
@@ -59,7 +60,7 @@
const Document&,
const KURL& base_url_override,
bool is_opaque_response_from_service_worker,
- ReferrerPolicy referrer_policy_override,
+ network::mojom::ReferrerPolicy referrer_policy_override,
const WTF::TextEncoding& charset = WTF::TextEncoding(),
SelectorProfile = kLiveProfile);
// This is used for workers, where we don't have a document.
diff --git a/third_party/blink/renderer/core/css/selector_query_test.cc b/third_party/blink/renderer/core/css/selector_query_test.cc
index db7b911..b677facb 100644
--- a/third_party/blink/renderer/core/css/selector_query_test.cc
+++ b/third_party/blink/renderer/core/css/selector_query_test.cc
@@ -71,7 +71,7 @@
CSSParserContext::Create(
*document, NullURL(),
false /* is_opaque_response_from_service_worker */,
- kReferrerPolicyDefault, WTF::TextEncoding(),
+ network::mojom::ReferrerPolicy::kDefault, WTF::TextEncoding(),
CSSParserContext::kSnapshotProfile),
nullptr, "span::before");
std::unique_ptr<SelectorQuery> query =
@@ -83,7 +83,7 @@
CSSParserContext::Create(
*document, NullURL(),
false /* is_opaque_response_from_service_worker */,
- kReferrerPolicyDefault, WTF::TextEncoding(),
+ network::mojom::ReferrerPolicy::kDefault, WTF::TextEncoding(),
CSSParserContext::kSnapshotProfile),
nullptr, "span");
query = SelectorQuery::Adopt(std::move(selector_list));
@@ -104,7 +104,7 @@
CSSParserContext::Create(
*document, NullURL(),
false /* is_opaque_response_from_service_worker */,
- kReferrerPolicyDefault, WTF::TextEncoding(),
+ network::mojom::ReferrerPolicy::kDefault, WTF::TextEncoding(),
CSSParserContext::kSnapshotProfile),
nullptr, "p:last-of-type");
std::unique_ptr<SelectorQuery> query =
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index 98510c7..bd346f6 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4318,13 +4318,14 @@
return referrer_document->url_.StrippedForUseAsReferrer();
}
-ReferrerPolicy Document::GetReferrerPolicy() const {
- ReferrerPolicy policy = ExecutionContext::GetReferrerPolicy();
+network::mojom::ReferrerPolicy Document::GetReferrerPolicy() const {
+ network::mojom::ReferrerPolicy policy = ExecutionContext::GetReferrerPolicy();
// For srcdoc documents without their own policy, walk up the frame
// tree to find the document that is either not a srcdoc or doesn't
// have its own policy. This algorithm is defined in
// https://html.spec.whatwg.org/multipage/window-object.html#set-up-a-window-environment-settings-object.
- if (!frame_ || policy != kReferrerPolicyDefault || !IsSrcdocDocument()) {
+ if (!frame_ || policy != network::mojom::ReferrerPolicy::kDefault ||
+ !IsSrcdocDocument()) {
return policy;
}
LocalFrame* frame = ToLocalFrame(frame_->Tree().Parent());
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
index 24a8ec9..af01e08 100644
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
@@ -307,7 +307,7 @@
ViewportData& GetViewportData() const { return *viewport_data_; }
String OutgoingReferrer() const override;
- ReferrerPolicy GetReferrerPolicy() const override;
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const override;
void SetDoctype(DocumentType*);
DocumentType* doctype() const { return doc_type_.Get(); }
diff --git a/third_party/blink/renderer/core/dom/document_test.cc b/third_party/blink/renderer/core/dom/document_test.cc
index b1264c4..c090869 100644
--- a/third_party/blink/renderer/core/dom/document_test.cc
+++ b/third_party/blink/renderer/core/dom/document_test.cc
@@ -33,6 +33,7 @@
#include <memory>
#include "build/build_config.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/platform/web_application_cache_host.h"
@@ -56,7 +57,6 @@
#include "third_party/blink/renderer/core/testing/page_test_base.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/testing/runtime_enabled_features_test_helpers.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/scheme_registry.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
@@ -485,45 +485,55 @@
}
TEST_F(DocumentTest, referrerPolicyParsing) {
- EXPECT_EQ(kReferrerPolicyDefault, GetDocument().GetReferrerPolicy());
+ EXPECT_EQ(network::mojom::ReferrerPolicy::kDefault,
+ GetDocument().GetReferrerPolicy());
struct TestCase {
const char* policy;
- ReferrerPolicy expected;
+ network::mojom::ReferrerPolicy expected;
bool is_legacy;
} tests[] = {
- {"", kReferrerPolicyDefault, false},
+ {"", network::mojom::ReferrerPolicy::kDefault, false},
// Test that invalid policy values are ignored.
- {"not-a-real-policy", kReferrerPolicyDefault, false},
- {"not-a-real-policy,also-not-a-real-policy", kReferrerPolicyDefault,
+ {"not-a-real-policy", network::mojom::ReferrerPolicy::kDefault, false},
+ {"not-a-real-policy,also-not-a-real-policy",
+ network::mojom::ReferrerPolicy::kDefault, false},
+ {"not-a-real-policy,unsafe-url", network::mojom::ReferrerPolicy::kAlways,
false},
- {"not-a-real-policy,unsafe-url", kReferrerPolicyAlways, false},
- {"unsafe-url,not-a-real-policy", kReferrerPolicyAlways, false},
+ {"unsafe-url,not-a-real-policy", network::mojom::ReferrerPolicy::kAlways,
+ false},
// Test parsing each of the policy values.
- {"always", kReferrerPolicyAlways, true},
- {"default", kReferrerPolicyNoReferrerWhenDowngrade, true},
- {"never", kReferrerPolicyNever, true},
- {"no-referrer", kReferrerPolicyNever, false},
- {"default", kReferrerPolicyNoReferrerWhenDowngrade, true},
- {"no-referrer-when-downgrade", kReferrerPolicyNoReferrerWhenDowngrade,
- false},
- {"origin", kReferrerPolicyOrigin, false},
- {"origin-when-crossorigin", kReferrerPolicyOriginWhenCrossOrigin, true},
- {"origin-when-cross-origin", kReferrerPolicyOriginWhenCrossOrigin, false},
- {"same-origin", kReferrerPolicySameOrigin, false},
- {"strict-origin", kReferrerPolicyStrictOrigin, false},
+ {"always", network::mojom::ReferrerPolicy::kAlways, true},
+ {"default", network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade,
+ true},
+ {"never", network::mojom::ReferrerPolicy::kNever, true},
+ {"no-referrer", network::mojom::ReferrerPolicy::kNever, false},
+ {"default", network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade,
+ true},
+ {"no-referrer-when-downgrade",
+ network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade, false},
+ {"origin", network::mojom::ReferrerPolicy::kOrigin, false},
+ {"origin-when-crossorigin",
+ network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, true},
+ {"origin-when-cross-origin",
+ network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, false},
+ {"same-origin", network::mojom::ReferrerPolicy::kSameOrigin, false},
+ {"strict-origin", network::mojom::ReferrerPolicy::kStrictOrigin, false},
{"strict-origin-when-cross-origin",
- kReferrerPolicyStrictOriginWhenCrossOrigin, false},
- {"unsafe-url", kReferrerPolicyAlways},
+ network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ false},
+ {"unsafe-url", network::mojom::ReferrerPolicy::kAlways},
};
for (auto test : tests) {
- GetDocument().SetReferrerPolicy(kReferrerPolicyDefault);
+ GetDocument().SetReferrerPolicy(network::mojom::ReferrerPolicy::kDefault);
if (test.is_legacy) {
// Legacy keyword support must be explicitly enabled for the policy to
// parse successfully.
GetDocument().ParseAndSetReferrerPolicy(test.policy);
- EXPECT_EQ(kReferrerPolicyDefault, GetDocument().GetReferrerPolicy());
+ EXPECT_EQ(network::mojom::ReferrerPolicy::kDefault,
+ GetDocument().GetReferrerPolicy());
GetDocument().ParseAndSetReferrerPolicy(test.policy, true);
} else {
GetDocument().ParseAndSetReferrerPolicy(test.policy);
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
index c4d83a2..27b36e576 100644
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
@@ -51,7 +51,7 @@
is_context_paused_(false),
is_context_destroyed_(false),
window_interaction_tokens_(0),
- referrer_policy_(kReferrerPolicyDefault),
+ referrer_policy_(network::mojom::ReferrerPolicy::kDefault),
invalidator_(std::make_unique<InterfaceInvalidator>()) {}
ExecutionContext::~ExecutionContext() = default;
@@ -212,7 +212,7 @@
void ExecutionContext::ParseAndSetReferrerPolicy(const String& policies,
bool support_legacy_keywords) {
- ReferrerPolicy referrer_policy;
+ network::mojom::ReferrerPolicy referrer_policy;
if (!SecurityPolicy::ReferrerPolicyFromHeaderValue(
policies,
@@ -237,11 +237,12 @@
SetReferrerPolicy(referrer_policy);
}
-void ExecutionContext::SetReferrerPolicy(ReferrerPolicy referrer_policy) {
+void ExecutionContext::SetReferrerPolicy(
+ network::mojom::ReferrerPolicy referrer_policy) {
// When a referrer policy has already been set, the latest value takes
// precedence.
UseCounter::Count(this, WebFeature::kSetReferrerPolicy);
- if (referrer_policy_ != kReferrerPolicyDefault)
+ if (referrer_policy_ != network::mojom::ReferrerPolicy::kDefault)
UseCounter::Count(this, WebFeature::kResetReferrerPolicy);
referrer_policy_ = referrer_policy;
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
index 3dc9cbf..25d0d377 100644
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -33,6 +33,7 @@
#include "base/location.h"
#include "base/macros.h"
#include "base/unguessable_token.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/context_lifecycle_notifier.h"
@@ -40,7 +41,6 @@
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/loader/fetch/https_state.h"
#include "third_party/blink/renderer/platform/supplementable.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "v8/include/v8.h"
namespace base {
@@ -238,8 +238,10 @@
// parsed as valid policies.
void ParseAndSetReferrerPolicy(const String& policies,
bool support_legacy_keywords = false);
- void SetReferrerPolicy(ReferrerPolicy);
- virtual ReferrerPolicy GetReferrerPolicy() const { return referrer_policy_; }
+ void SetReferrerPolicy(network::mojom::ReferrerPolicy);
+ virtual network::mojom::ReferrerPolicy GetReferrerPolicy() const {
+ return referrer_policy_;
+ }
virtual CoreProbeSink* GetProbeSink() { return nullptr; }
@@ -276,7 +278,7 @@
// increment and decrement the counter.
int window_interaction_tokens_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
std::unique_ptr<InterfaceInvalidator> invalidator_;
diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_party/blink/renderer/core/exported/web_document.cc
index c19761a..1c09baa 100644
--- a/third_party/blink/renderer/core/exported/web_document.cc
+++ b/third_party/blink/renderer/core/exported/web_document.cc
@@ -233,8 +233,7 @@
}
network::mojom::ReferrerPolicy WebDocument::GetReferrerPolicy() const {
- return static_cast<network::mojom::ReferrerPolicy>(
- ConstUnwrap<Document>()->GetReferrerPolicy());
+ return ConstUnwrap<Document>()->GetReferrerPolicy();
}
WebString WebDocument::OutgoingReferrer() {
diff --git a/third_party/blink/renderer/core/exported/web_history_item.cc b/third_party/blink/renderer/core/exported/web_history_item.cc
index 4610a9e..a67d23e 100644
--- a/third_party/blink/renderer/core/exported/web_history_item.cc
+++ b/third_party/blink/renderer/core/exported/web_history_item.cc
@@ -71,15 +71,13 @@
}
network::mojom::ReferrerPolicy WebHistoryItem::GetReferrerPolicy() const {
- return static_cast<network::mojom::ReferrerPolicy>(
- private_->GetReferrer().referrer_policy);
+ return private_->GetReferrer().referrer_policy;
}
void WebHistoryItem::SetReferrer(
const WebString& referrer,
network::mojom::ReferrerPolicy referrer_policy) {
- private_->SetReferrer(
- Referrer(referrer, static_cast<ReferrerPolicy>(referrer_policy)));
+ private_->SetReferrer(Referrer(referrer, referrer_policy));
}
const WebString& WebHistoryItem::Target() const {
diff --git a/third_party/blink/renderer/core/exported/web_security_policy.cc b/third_party/blink/renderer/core/exported/web_security_policy.cc
index 732fb8ec..88d753e 100644
--- a/third_party/blink/renderer/core/exported/web_security_policy.cc
+++ b/third_party/blink/renderer/core/exported/web_security_policy.cc
@@ -112,8 +112,7 @@
network::mojom::ReferrerPolicy referrer_policy,
const WebURL& url,
const WebString& referrer) {
- return SecurityPolicy::GenerateReferrer(
- static_cast<ReferrerPolicy>(referrer_policy), url, referrer)
+ return SecurityPolicy::GenerateReferrer(referrer_policy, url, referrer)
.referrer;
}
diff --git a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
index 201d885..9de43de6 100644
--- a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
@@ -307,7 +307,8 @@
ContentSecurityPolicy* content_security_policy =
main_script_loader_->GetContentSecurityPolicy();
- ReferrerPolicy referrer_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
if (!main_script_loader_->GetReferrerPolicy().IsNull()) {
SecurityPolicy::ReferrerPolicyFromHeaderValue(
main_script_loader_->GetReferrerPolicy(),
diff --git a/third_party/blink/renderer/core/fetch/DEPS b/third_party/blink/renderer/core/fetch/DEPS
index 30dcb36..3c497b0 100644
--- a/third_party/blink/renderer/core/fetch/DEPS
+++ b/third_party/blink/renderer/core/fetch/DEPS
@@ -4,5 +4,4 @@
"+mojo/public/cpp/bindings/binding_set.h",
"+mojo/public/cpp/system/data_pipe.h",
"+mojo/public/cpp/system/simple_watcher.h",
- "+services/network/public/mojom",
]
diff --git a/third_party/blink/renderer/core/fetch/fetch_request_data.cc b/third_party/blink/renderer/core/fetch/fetch_request_data.cc
index 83ff752..28ef8e1 100644
--- a/third_party/blink/renderer/core/fetch/fetch_request_data.cc
+++ b/third_party/blink/renderer/core/fetch/fetch_request_data.cc
@@ -49,8 +49,7 @@
}
request->SetContext(web_request.GetRequestContext());
request->SetReferrerString(web_request.ReferrerUrl().GetString());
- request->SetReferrerPolicy(
- static_cast<ReferrerPolicy>(web_request.GetReferrerPolicy()));
+ request->SetReferrerPolicy(web_request.GetReferrerPolicy());
request->SetMode(web_request.Mode());
request->SetCredentials(web_request.CredentialsMode());
request->SetCacheMode(web_request.CacheMode());
@@ -90,8 +89,7 @@
if (fetch_api_request.referrer) {
if (!fetch_api_request.referrer->url.IsEmpty())
request->SetReferrerString(AtomicString(fetch_api_request.referrer->url));
- request->SetReferrerPolicy(
- static_cast<ReferrerPolicy>(fetch_api_request.referrer->policy));
+ request->SetReferrerPolicy(fetch_api_request.referrer->policy);
}
request->SetMode(fetch_api_request.mode);
request->SetCredentials(fetch_api_request.credentials_mode);
@@ -170,7 +168,7 @@
context_(mojom::RequestContextType::UNSPECIFIED),
same_origin_data_url_flag_(false),
referrer_string_(Referrer::ClientReferrerString()),
- referrer_policy_(kReferrerPolicyDefault),
+ referrer_policy_(network::mojom::ReferrerPolicy::kDefault),
mode_(network::mojom::FetchRequestMode::kNoCors),
credentials_(network::mojom::FetchCredentialsMode::kOmit),
cache_mode_(mojom::FetchCacheMode::kDefault),
diff --git a/third_party/blink/renderer/core/fetch/fetch_request_data.h b/third_party/blink/renderer/core/fetch/fetch_request_data.h
index 485bed1..1db691f 100644
--- a/third_party/blink/renderer/core/fetch/fetch_request_data.h
+++ b/third_party/blink/renderer/core/fetch/fetch_request_data.h
@@ -9,6 +9,7 @@
#include "base/memory/scoped_refptr.h"
#include "base/unguessable_token.h"
#include "services/network/public/mojom/fetch_api.mojom-blink.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "services/network/public/mojom/url_loader_factory.mojom-blink.h"
#include "third_party/blink/public/platform/modules/fetch/fetch_api_request.mojom-blink.h"
#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_request.h"
@@ -18,7 +19,6 @@
#include "third_party/blink/renderer/platform/loader/fetch/resource_load_priority.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
#include "third_party/blink/renderer/platform/weborigin/referrer.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
@@ -63,8 +63,12 @@
}
const AtomicString& ReferrerString() const { return referrer_string_; }
void SetReferrerString(const AtomicString& s) { referrer_string_ = s; }
- ReferrerPolicy GetReferrerPolicy() const { return referrer_policy_; }
- void SetReferrerPolicy(ReferrerPolicy p) { referrer_policy_ = p; }
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const {
+ return referrer_policy_;
+ }
+ void SetReferrerPolicy(network::mojom::ReferrerPolicy p) {
+ referrer_policy_ = p;
+ }
void SetMode(network::mojom::FetchRequestMode mode) { mode_ = mode; }
network::mojom::FetchRequestMode Mode() const { return mode_; }
void SetCredentials(network::mojom::FetchCredentialsMode credentials) {
@@ -128,7 +132,7 @@
// FIXME: Support m_forceOriginHeaderFlag;
bool same_origin_data_url_flag_;
AtomicString referrer_string_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
// FIXME: Support m_authenticationFlag;
// FIXME: Support m_synchronousFlag;
network::mojom::FetchRequestMode mode_;
diff --git a/third_party/blink/renderer/core/fetch/request.cc b/third_party/blink/renderer/core/fetch/request.cc
index 392828d..fba853a 100644
--- a/third_party/blink/renderer/core/fetch/request.cc
+++ b/third_party/blink/renderer/core/fetch/request.cc
@@ -290,7 +290,7 @@
request->SetReferrerString(AtomicString(Referrer::ClientReferrerString()));
// "Set |request|’s referrer policy to the empty string."
- request->SetReferrerPolicy(kReferrerPolicyDefault);
+ request->SetReferrerPolicy(network::mojom::ReferrerPolicy::kDefault);
}
// "If init’s referrer member is present, then:"
@@ -342,13 +342,13 @@
if (init->hasReferrerPolicy()) {
// In case referrerPolicy = "", the SecurityPolicy method below will not
// actually set referrer_policy, so we'll default to
- // kReferrerPolicyDefault.
- ReferrerPolicy referrer_policy;
+ // network::mojom::ReferrerPolicy::kDefault.
+ network::mojom::ReferrerPolicy referrer_policy;
if (!SecurityPolicy::ReferrerPolicyFromString(
init->referrerPolicy(), kDoNotSupportReferrerPolicyLegacyKeywords,
&referrer_policy)) {
DCHECK(init->referrerPolicy().IsEmpty());
- referrer_policy = kReferrerPolicyDefault;
+ referrer_policy = network::mojom::ReferrerPolicy::kDefault;
}
request->SetReferrerPolicy(referrer_policy);
@@ -749,23 +749,24 @@
String Request::getReferrerPolicy() const {
switch (request_->GetReferrerPolicy()) {
- case kReferrerPolicyAlways:
+ case network::mojom::ReferrerPolicy::kAlways:
return "unsafe-url";
- case kReferrerPolicyDefault:
+ case network::mojom::ReferrerPolicy::kDefault:
return "";
- case kReferrerPolicyNoReferrerWhenDowngrade:
+ case network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade:
return "no-referrer-when-downgrade";
- case kReferrerPolicyNever:
+ case network::mojom::ReferrerPolicy::kNever:
return "no-referrer";
- case kReferrerPolicyOrigin:
+ case network::mojom::ReferrerPolicy::kOrigin:
return "origin";
- case kReferrerPolicyOriginWhenCrossOrigin:
+ case network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin:
return "origin-when-cross-origin";
- case kReferrerPolicySameOrigin:
+ case network::mojom::ReferrerPolicy::kSameOrigin:
return "same-origin";
- case kReferrerPolicyStrictOrigin:
+ case network::mojom::ReferrerPolicy::kStrictOrigin:
return "strict-origin";
- case kReferrerPolicyStrictOriginWhenCrossOrigin:
+ case network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin:
return "strict-origin-when-cross-origin";
}
NOTREACHED();
@@ -929,8 +930,7 @@
if (!request_->ReferrerString().IsEmpty()) {
fetch_api_request->referrer =
mojom::blink::Referrer::New(KURL(NullURL(), request_->ReferrerString()),
- static_cast<network::mojom::ReferrerPolicy>(
- request_->GetReferrerPolicy()));
+ request_->GetReferrerPolicy());
DCHECK(fetch_api_request->referrer->url.IsValid());
}
// FIXME: How can we set isReload properly? What is the correct place to load
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
index 6d1649f..c55a66f 100644
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
@@ -387,7 +387,7 @@
ResourceRequest request(completed_url);
- ReferrerPolicy policy;
+ network::mojom::ReferrerPolicy policy;
if (hasAttribute(kReferrerpolicyAttr) &&
SecurityPolicy::ReferrerPolicyFromString(
FastGetAttribute(kReferrerpolicyAttr),
diff --git a/third_party/blink/renderer/core/html/html_frame_owner_element.cc b/third_party/blink/renderer/core/html/html_frame_owner_element.cc
index 7e6fb1e..aa0aaf7 100644
--- a/third_party/blink/renderer/core/html/html_frame_owner_element.cc
+++ b/third_party/blink/renderer/core/html/html_frame_owner_element.cc
@@ -387,7 +387,7 @@
return false;
ResourceRequest request(url.IsNull() ? BlankURL() : url);
- ReferrerPolicy policy = ReferrerPolicyAttribute();
+ network::mojom::ReferrerPolicy policy = ReferrerPolicyAttribute();
request.SetReferrerPolicy(policy);
WebFrameLoadType child_load_type = WebFrameLoadType::kReplaceCurrentItem;
diff --git a/third_party/blink/renderer/core/html/html_frame_owner_element.h b/third_party/blink/renderer/core/html/html_frame_owner_element.h
index 243836d..e4f22d0c 100644
--- a/third_party/blink/renderer/core/html/html_frame_owner_element.h
+++ b/third_party/blink/renderer/core/html/html_frame_owner_element.h
@@ -169,8 +169,8 @@
bool IsFrameOwnerElement() const final { return true; }
- virtual ReferrerPolicy ReferrerPolicyAttribute() {
- return kReferrerPolicyDefault;
+ virtual network::mojom::ReferrerPolicy ReferrerPolicyAttribute() {
+ return network::mojom::ReferrerPolicy::kDefault;
}
Member<Frame> content_frame_;
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc
index cc14614..2301338 100644
--- a/third_party/blink/renderer/core/html/html_iframe_element.cc
+++ b/third_party/blink/renderer/core/html/html_iframe_element.cc
@@ -46,7 +46,7 @@
: HTMLFrameElementBase(kIFrameTag, document),
collapsed_by_client_(false),
sandbox_(HTMLIFrameElementSandbox::Create(this)),
- referrer_policy_(kReferrerPolicyDefault) {}
+ referrer_policy_(network::mojom::ReferrerPolicy::kDefault) {}
DEFINE_NODE_FACTORY(HTMLIFrameElement)
@@ -151,7 +151,7 @@
}
UseCounter::Count(GetDocument(), WebFeature::kSandboxViaIFrame);
} else if (name == kReferrerpolicyAttr) {
- referrer_policy_ = kReferrerPolicyDefault;
+ referrer_policy_ = network::mojom::ReferrerPolicy::kDefault;
if (!value.IsNull()) {
SecurityPolicy::ReferrerPolicyFromString(
value, kSupportReferrerPolicyLegacyKeywords, &referrer_policy_);
@@ -314,7 +314,7 @@
return true;
}
-ReferrerPolicy HTMLIFrameElement::ReferrerPolicyAttribute() {
+network::mojom::ReferrerPolicy HTMLIFrameElement::ReferrerPolicyAttribute() {
return referrer_policy_;
}
diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_party/blink/renderer/core/html/html_iframe_element.h
index 632239f..ece6e8a 100644
--- a/third_party/blink/renderer/core/html/html_iframe_element.h
+++ b/third_party/blink/renderer/core/html/html_iframe_element.h
@@ -78,7 +78,7 @@
bool IsInteractiveContent() const override;
- ReferrerPolicy ReferrerPolicyAttribute() override;
+ network::mojom::ReferrerPolicy ReferrerPolicyAttribute() override;
// FrameOwner overrides:
bool AllowFullscreen() const override { return allow_fullscreen_; }
@@ -94,7 +94,7 @@
Member<HTMLIFrameElementSandbox> sandbox_;
Member<Policy> policy_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
};
} // namespace blink
diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_party/blink/renderer/core/html/html_image_element.cc
index b2ab5e3..eb8a7357 100644
--- a/third_party/blink/renderer/core/html/html_image_element.cc
+++ b/third_party/blink/renderer/core/html/html_image_element.cc
@@ -104,7 +104,7 @@
is_fallback_image_(false),
should_invert_color_(false),
sizes_set_width_(false),
- referrer_policy_(kReferrerPolicyDefault) {
+ referrer_policy_(network::mojom::ReferrerPolicy::kDefault) {
SetHasCustomStyleCallbacks();
if (media_element_parser_helpers::IsMediaElement(this) &&
!document.IsFeatureEnabled(mojom::FeaturePolicyFeature::kUnsizedMedia)) {
@@ -287,7 +287,7 @@
} else if (name == kUsemapAttr) {
SetIsLink(!params.new_value.IsNull());
} else if (name == kReferrerpolicyAttr) {
- referrer_policy_ = kReferrerPolicyDefault;
+ referrer_policy_ = network::mojom::ReferrerPolicy::kDefault;
if (!params.new_value.IsNull()) {
SecurityPolicy::ReferrerPolicyFromString(
params.new_value, kSupportReferrerPolicyLegacyKeywords,
diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h
index c814792..63817bf 100644
--- a/third_party/blink/renderer/core/html/html_image_element.h
+++ b/third_party/blink/renderer/core/html/html_image_element.h
@@ -240,7 +240,7 @@
bool sizes_set_width_;
bool is_default_overridden_intrinsic_size_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
IntSize overridden_intrinsic_size_;
diff --git a/third_party/blink/renderer/core/html/html_link_element.cc b/third_party/blink/renderer/core/html/html_link_element.cc
index 8ecd684..8b8de076 100644
--- a/third_party/blink/renderer/core/html/html_link_element.cc
+++ b/third_party/blink/renderer/core/html/html_link_element.cc
@@ -53,7 +53,7 @@
const CreateElementFlags flags)
: HTMLElement(kLinkTag, document),
link_loader_(LinkLoader::Create(this)),
- referrer_policy_(kReferrerPolicyDefault),
+ referrer_policy_(network::mojom::ReferrerPolicy::kDefault),
sizes_(DOMTokenList::Create(*this, html_names::kSizesAttr)),
rel_list_(RelList::Create(this)),
created_by_parser_(flags.IsCreatedByParser()) {}
diff --git a/third_party/blink/renderer/core/html/html_link_element.h b/third_party/blink/renderer/core/html/html_link_element.h
index 8bedac4..89f69258 100644
--- a/third_party/blink/renderer/core/html/html_link_element.h
+++ b/third_party/blink/renderer/core/html/html_link_element.h
@@ -67,7 +67,9 @@
String AsValue() const { return as_; }
String IntegrityValue() const { return integrity_; }
String ImportanceValue() const { return importance_; }
- ReferrerPolicy GetReferrerPolicy() const { return referrer_policy_; }
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const {
+ return referrer_policy_;
+ }
const LinkRelAttribute& RelAttribute() const { return rel_attribute_; }
DOMTokenList& relList() const {
return static_cast<DOMTokenList&>(*rel_list_);
@@ -165,7 +167,7 @@
String media_;
String integrity_;
String importance_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
Member<DOMTokenList> sizes_;
Vector<IntSize> icon_sizes_;
TraceWrapperMember<RelList> rel_list_;
diff --git a/third_party/blink/renderer/core/html/imports/link_import.cc b/third_party/blink/renderer/core/html/imports/link_import.cc
index 5920d39..47e5978 100644
--- a/third_party/blink/renderer/core/html/imports/link_import.cc
+++ b/third_party/blink/renderer/core/html/imports/link_import.cc
@@ -30,6 +30,7 @@
#include "third_party/blink/renderer/core/html/imports/link_import.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/html/html_link_element.h"
#include "third_party/blink/renderer/core/html/imports/html_import_child.h"
@@ -41,7 +42,6 @@
#include "third_party/blink/renderer/platform/loader/fetch/resource_loader_options.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_request.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
@@ -79,7 +79,7 @@
}
ResourceRequest resource_request(GetDocument().CompleteURL(url));
- ReferrerPolicy referrer_policy = owner_->GetReferrerPolicy();
+ network::mojom::ReferrerPolicy referrer_policy = owner_->GetReferrerPolicy();
resource_request.SetReferrerPolicy(referrer_policy);
ResourceLoaderOptions options;
diff --git a/third_party/blink/renderer/core/html/link_style.cc b/third_party/blink/renderer/core/html/link_style.cc
index ebc6677..bccc8cbd 100644
--- a/third_party/blink/renderer/core/html/link_style.cc
+++ b/third_party/blink/renderer/core/html/link_style.cc
@@ -4,6 +4,7 @@
#include "third_party/blink/renderer/core/html/link_style.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/core/css/style_sheet_contents.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/frame/csp/content_security_policy.h"
@@ -21,7 +22,6 @@
#include "third_party/blink/renderer/platform/network/mime/content_type.h"
#include "third_party/blink/renderer/platform/network/mime/mime_type_registry.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
diff --git a/third_party/blink/renderer/core/html/parser/css_preload_scanner.cc b/third_party/blink/renderer/core/html/parser/css_preload_scanner.cc
index 091b196..1dd6703 100644
--- a/third_party/blink/renderer/core/html/parser/css_preload_scanner.cc
+++ b/third_party/blink/renderer/core/html/parser/css_preload_scanner.cc
@@ -86,7 +86,8 @@
predicted_base_element_url);
}
-void CSSPreloadScanner::SetReferrerPolicy(const ReferrerPolicy policy) {
+void CSSPreloadScanner::SetReferrerPolicy(
+ network::mojom::ReferrerPolicy policy) {
referrer_policy_ = policy;
}
diff --git a/third_party/blink/renderer/core/html/parser/css_preload_scanner.h b/third_party/blink/renderer/core/html/parser/css_preload_scanner.h
index 43fb7394..8fdab879 100644
--- a/third_party/blink/renderer/core/html/parser/css_preload_scanner.h
+++ b/third_party/blink/renderer/core/html/parser/css_preload_scanner.h
@@ -54,7 +54,7 @@
PreloadRequestStream&,
const KURL&);
- void SetReferrerPolicy(const ReferrerPolicy);
+ void SetReferrerPolicy(network::mojom::ReferrerPolicy);
private:
enum State {
@@ -84,7 +84,8 @@
StringBuilder rule_;
StringBuilder rule_value_;
- ReferrerPolicy referrer_policy_ = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy referrer_policy_ =
+ network::mojom::ReferrerPolicy::kDefault;
// Below members only non-null during scan()
PreloadRequestStream* requests_ = nullptr;
diff --git a/third_party/blink/renderer/core/html/parser/html_preload_scanner.cc b/third_party/blink/renderer/core/html/parser/html_preload_scanner.cc
index 4b74920..6e29a2c 100644
--- a/third_party/blink/renderer/core/html/parser/html_preload_scanner.cc
+++ b/third_party/blink/renderer/core/html/parser/html_preload_scanner.cc
@@ -151,7 +151,7 @@
importance_mode_set_(false),
media_values_(media_values),
referrer_policy_set_(false),
- referrer_policy_(kReferrerPolicyDefault),
+ referrer_policy_(network::mojom::ReferrerPolicy::kDefault),
integrity_attr_set_(false),
integrity_features_(features),
lazyload_attr_set_to_off_(false),
@@ -267,8 +267,8 @@
// The element's 'referrerpolicy' attribute (if present) takes precedence
// over the document's referrer policy.
- ReferrerPolicy referrer_policy =
- (referrer_policy_ != kReferrerPolicyDefault)
+ network::mojom::ReferrerPolicy referrer_policy =
+ (referrer_policy_ != network::mojom::ReferrerPolicy::kDefault)
? referrer_policy_
: document_parameters.referrer_policy;
auto request = PreloadRequest::CreateIfNeeded(
@@ -665,7 +665,7 @@
String nonce_;
Member<MediaValuesCached> media_values_;
bool referrer_policy_set_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
bool integrity_attr_set_;
IntegrityMetadataSet integrity_metadata_;
SubresourceIntegrity::IntegrityFeatures integrity_features_;
@@ -762,7 +762,8 @@
static void HandleMetaReferrer(const String& attribute_value,
CachedDocumentParameters* document_parameters,
CSSPreloadScanner* css_scanner) {
- ReferrerPolicy meta_referrer_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy meta_referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
if (!attribute_value.IsEmpty() && !attribute_value.IsNull() &&
SecurityPolicy::ReferrerPolicyFromString(
attribute_value, kSupportReferrerPolicyLegacyKeywords,
diff --git a/third_party/blink/renderer/core/html/parser/html_preload_scanner.h b/third_party/blink/renderer/core/html/parser/html_preload_scanner.h
index 56bbeab..881c54b 100644
--- a/third_party/blink/renderer/core/html/parser/html_preload_scanner.h
+++ b/third_party/blink/renderer/core/html/parser/html_preload_scanner.h
@@ -72,7 +72,7 @@
Length default_viewport_min_width;
bool viewport_meta_zero_values_quirk;
bool viewport_meta_enabled;
- ReferrerPolicy referrer_policy;
+ network::mojom::ReferrerPolicy referrer_policy;
SubresourceIntegrity::IntegrityFeatures integrity_features;
bool lazyload_policy_enforced;
diff --git a/third_party/blink/renderer/core/html/parser/html_preload_scanner_test.cc b/third_party/blink/renderer/core/html/parser/html_preload_scanner_test.cc
index 8776c33..a794316 100644
--- a/third_party/blink/renderer/core/html/parser/html_preload_scanner_test.cc
+++ b/third_party/blink/renderer/core/html/parser/html_preload_scanner_test.cc
@@ -48,7 +48,7 @@
const char* output_base_url;
ResourceType type;
int resource_width;
- ReferrerPolicy referrer_policy;
+ network::mojom::ReferrerPolicy referrer_policy;
// Expected referrer header of the preload request, or nullptr if the header
// shouldn't be checked (and no network request should be created).
const char* expected_referrer;
@@ -118,23 +118,25 @@
}
}
- void PreloadRequestVerification(ResourceType type,
- const char* url,
- const char* base_url,
- int width,
- ReferrerPolicy referrer_policy) {
+ void PreloadRequestVerification(
+ ResourceType type,
+ const char* url,
+ const char* base_url,
+ int width,
+ network::mojom::ReferrerPolicy referrer_policy) {
PreloadRequestVerification(type, url, base_url, width,
ClientHintsPreferences());
EXPECT_EQ(referrer_policy, preload_request_->GetReferrerPolicy());
}
- void PreloadRequestVerification(ResourceType type,
- const char* url,
- const char* base_url,
- int width,
- ReferrerPolicy referrer_policy,
- Document* document,
- const char* expected_referrer) {
+ void PreloadRequestVerification(
+ ResourceType type,
+ const char* url,
+ const char* base_url,
+ int width,
+ network::mojom::ReferrerPolicy referrer_policy,
+ Document* document,
+ const char* expected_referrer) {
PreloadRequestVerification(type, url, base_url, width, referrer_policy);
Resource* resource = preload_request_->Start(document);
ASSERT_TRUE(resource);
@@ -225,11 +227,11 @@
return data;
}
- void RunSetUp(
- ViewportState viewport_state,
- PreloadState preload_state = kPreloadEnabled,
- ReferrerPolicy document_referrer_policy = kReferrerPolicyDefault,
- bool use_secure_document_url = false) {
+ void RunSetUp(ViewportState viewport_state,
+ PreloadState preload_state = kPreloadEnabled,
+ network::mojom::ReferrerPolicy document_referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault,
+ bool use_secure_document_url = false) {
HTMLParserOptions options(&GetDocument());
KURL document_url = KURL("http://whatever.test/");
if (use_secure_document_url)
@@ -645,7 +647,8 @@
};
for (const auto& test_case : test_cases) {
- RunSetUp(kViewportDisabled, kPreloadEnabled, kReferrerPolicyDefault,
+ RunSetUp(kViewportDisabled, kPreloadEnabled,
+ network::mojom::ReferrerPolicy::kDefault,
true /* use_secure_document_url */);
Test(test_case);
}
@@ -679,12 +682,14 @@
all};
// For an insecure document, client hint should not be attached.
- RunSetUp(kViewportDisabled, kPreloadEnabled, kReferrerPolicyDefault,
+ RunSetUp(kViewportDisabled, kPreloadEnabled,
+ network::mojom::ReferrerPolicy::kDefault,
false /* use_secure_document_url */);
Test(expect_no_client_hint);
// For a secure document, client hint should be attached.
- RunSetUp(kViewportDisabled, kPreloadEnabled, kReferrerPolicyDefault,
+ RunSetUp(kViewportDisabled, kPreloadEnabled,
+ network::mojom::ReferrerPolicy::kDefault,
true /* use_secure_document_url */);
Test(expect_client_hint);
}
@@ -806,73 +811,76 @@
TEST_F(HTMLPreloadScannerTest, testReferrerPolicy) {
ReferrerPolicyTestCase test_cases[] = {
{"http://example.test", "<img src='bla.gif'/>", "bla.gif",
- "http://example.test/", ResourceType::kImage, 0, kReferrerPolicyDefault},
+ "http://example.test/", ResourceType::kImage, 0,
+ network::mojom::ReferrerPolicy::kDefault},
{"http://example.test", "<img referrerpolicy='origin' src='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kOrigin, nullptr},
{"http://example.test",
"<meta name='referrer' content='not-a-valid-policy'><img "
"src='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyDefault, nullptr},
+ network::mojom::ReferrerPolicy::kDefault, nullptr},
{"http://example.test",
"<img referrerpolicy='origin' referrerpolicy='origin-when-cross-origin' "
"src='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kOrigin, nullptr},
{"http://example.test",
"<img referrerpolicy='not-a-valid-policy' src='bla.gif'/>", "bla.gif",
- "http://example.test/", ResourceType::kImage, 0, kReferrerPolicyDefault,
- nullptr},
+ "http://example.test/", ResourceType::kImage, 0,
+ network::mojom::ReferrerPolicy::kDefault, nullptr},
{"http://example.test",
"<link rel=preload as=image referrerpolicy='origin-when-cross-origin' "
"href='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyOriginWhenCrossOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, nullptr},
{"http://example.test",
"<link rel=preload as=image referrerpolicy='same-origin' "
"href='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicySameOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kSameOrigin, nullptr},
{"http://example.test",
"<link rel=preload as=image referrerpolicy='strict-origin' "
"href='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyStrictOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kStrictOrigin, nullptr},
{"http://example.test",
"<link rel=preload as=image "
"referrerpolicy='strict-origin-when-cross-origin' "
"href='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyStrictOriginWhenCrossOrigin, nullptr},
+ network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ nullptr},
{"http://example.test",
"<link rel='stylesheet' href='sheet.css' type='text/css'>", "sheet.css",
"http://example.test/", ResourceType::kCSSStyleSheet, 0,
- kReferrerPolicyDefault, nullptr},
+ network::mojom::ReferrerPolicy::kDefault, nullptr},
{"http://example.test",
"<link rel=preload as=image referrerpolicy='origin' "
"referrerpolicy='origin-when-cross-origin' href='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kOrigin, nullptr},
{"http://example.test",
"<meta name='referrer' content='no-referrer'><img "
"referrerpolicy='origin' src='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kOrigin, nullptr},
// The scanner's state is not reset between test cases, so all subsequent
// test cases have a document referrer policy of no-referrer.
{"http://example.test",
"<link rel=preload as=image referrerpolicy='not-a-valid-policy' "
"href='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyNever, nullptr},
+ network::mojom::ReferrerPolicy::kNever, nullptr},
{"http://example.test",
"<img referrerpolicy='not-a-valid-policy' src='bla.gif'/>", "bla.gif",
- "http://example.test/", ResourceType::kImage, 0, kReferrerPolicyNever,
- nullptr},
+ "http://example.test/", ResourceType::kImage, 0,
+ network::mojom::ReferrerPolicy::kNever, nullptr},
{"http://example.test", "<img src='bla.gif'/>", "bla.gif",
- "http://example.test/", ResourceType::kImage, 0, kReferrerPolicyNever,
- nullptr}};
+ "http://example.test/", ResourceType::kImage, 0,
+ network::mojom::ReferrerPolicy::kNever, nullptr}};
for (const auto& test_case : test_cases)
Test(test_case);
@@ -958,27 +966,28 @@
// Tests that a document-level referrer policy (e.g. one set by HTTP header) is
// applied for preload requests.
TEST_F(HTMLPreloadScannerTest, testReferrerPolicyOnDocument) {
- RunSetUp(kViewportEnabled, kPreloadEnabled, kReferrerPolicyOrigin);
+ RunSetUp(kViewportEnabled, kPreloadEnabled,
+ network::mojom::ReferrerPolicy::kOrigin);
ReferrerPolicyTestCase test_cases[] = {
{"http://example.test", "<img src='blah.gif'/>", "blah.gif",
- "http://example.test/", ResourceType::kImage, 0, kReferrerPolicyOrigin,
- nullptr},
+ "http://example.test/", ResourceType::kImage, 0,
+ network::mojom::ReferrerPolicy::kOrigin, nullptr},
{"http://example.test", "<style>@import url('blah.css');</style>",
"blah.css", "http://example.test/", ResourceType::kCSSStyleSheet, 0,
- kReferrerPolicyOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kOrigin, nullptr},
// Tests that a meta-delivered referrer policy with an unrecognized policy
// value does not override the document's referrer policy.
{"http://example.test",
"<meta name='referrer' content='not-a-valid-policy'><img "
"src='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyOrigin, nullptr},
+ network::mojom::ReferrerPolicy::kOrigin, nullptr},
// Tests that a meta-delivered referrer policy with a valid policy value
// does override the document's referrer policy.
{"http://example.test",
"<meta name='referrer' content='unsafe-url'><img src='bla.gif'/>",
"bla.gif", "http://example.test/", ResourceType::kImage, 0,
- kReferrerPolicyAlways, nullptr},
+ network::mojom::ReferrerPolicy::kAlways, nullptr},
};
for (const auto& test_case : test_cases)
@@ -1113,7 +1122,8 @@
}
TEST_F(HTMLPreloadScannerTest, ReferrerHeader) {
- RunSetUp(kViewportEnabled, kPreloadEnabled, kReferrerPolicyAlways);
+ RunSetUp(kViewportEnabled, kPreloadEnabled,
+ network::mojom::ReferrerPolicy::kAlways);
KURL preload_url("http://example.test/sheet.css");
Platform::Current()->GetURLLoaderMockFactory()->RegisterURL(
@@ -1126,7 +1136,7 @@
"http://example.test/",
ResourceType::kCSSStyleSheet,
0,
- kReferrerPolicyAlways,
+ network::mojom::ReferrerPolicy::kAlways,
"http://whatever.test/"};
Test(test_case);
}
diff --git a/third_party/blink/renderer/core/html/parser/html_resource_preloader_test.cc b/third_party/blink/renderer/core/html/parser/html_resource_preloader_test.cc
index 85a88d2..66cffeb 100644
--- a/third_party/blink/renderer/core/html/parser/html_resource_preloader_test.cc
+++ b/third_party/blink/renderer/core/html/parser/html_resource_preloader_test.cc
@@ -51,7 +51,7 @@
PreloaderNetworkHintsMock network_hints;
auto preload_request = PreloadRequest::CreateIfNeeded(
String(), TextPosition(), test_case.url, KURL(test_case.base_url),
- ResourceType::kImage, ReferrerPolicy(),
+ ResourceType::kImage, network::mojom::ReferrerPolicy(),
PreloadRequest::kDocumentIsReferrer, ResourceFetcher::kImageNotImageSet,
FetchParameters::ResourceWidth(), ClientHintsPreferences(),
PreloadRequest::kRequestTypePreconnect);
diff --git a/third_party/blink/renderer/core/html/parser/preload_request.h b/third_party/blink/renderer/core/html/parser/preload_request.h
index 69759164..7e0acb6f 100644
--- a/third_party/blink/renderer/core/html/parser/preload_request.h
+++ b/third_party/blink/renderer/core/html/parser/preload_request.h
@@ -47,7 +47,7 @@
const String& resource_url,
const KURL& base_url,
ResourceType resource_type,
- const ReferrerPolicy referrer_policy,
+ const network::mojom::ReferrerPolicy referrer_policy,
ReferrerSource referrer_source,
ResourceFetcher::IsImageSet is_image_set,
const FetchParameters::ResourceWidth& resource_width =
@@ -100,7 +100,9 @@
const ClientHintsPreferences& Preferences() const {
return client_hints_preferences_;
}
- ReferrerPolicy GetReferrerPolicy() const { return referrer_policy_; }
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const {
+ return referrer_policy_;
+ }
void SetScriptType(mojom::ScriptType script_type) {
script_type_ = script_type;
@@ -137,7 +139,7 @@
const FetchParameters::ResourceWidth& resource_width,
const ClientHintsPreferences& client_hints_preferences,
RequestType request_type,
- const ReferrerPolicy referrer_policy,
+ const network::mojom::ReferrerPolicy referrer_policy,
ReferrerSource referrer_source,
ResourceFetcher::IsImageSet is_image_set)
: initiator_name_(initiator_name),
@@ -174,7 +176,7 @@
FetchParameters::ResourceWidth resource_width_;
ClientHintsPreferences client_hints_preferences_;
RequestType request_type_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
ReferrerSource referrer_source_;
IntegrityMetadataSet integrity_metadata_;
bool from_insertion_scanner_;
diff --git a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
index 1e67a3c..e83f57d 100644
--- a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
@@ -36,6 +36,7 @@
#include "base/macros.h"
#include "base/memory/scoped_refptr.h"
#include "build/build_config.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "services/network/public/mojom/request_context_frame_type.mojom-shared.h"
#include "services/network/public/mojom/websocket.mojom-blink.h"
#include "third_party/blink/public/platform/task_type.h"
@@ -77,7 +78,6 @@
#include "third_party/blink/renderer/platform/network/network_state_notifier.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
#include "third_party/blink/renderer/platform/wtf/text/base64.h"
#include "third_party/blink/renderer/platform/wtf/time.h"
@@ -375,11 +375,11 @@
return kWebConnectionTypeUnknown;
}
-String GetReferrerPolicy(ReferrerPolicy policy) {
+String GetReferrerPolicy(network::mojom::ReferrerPolicy policy) {
switch (policy) {
- case kReferrerPolicyAlways:
+ case network::mojom::ReferrerPolicy::kAlways:
return protocol::Network::Request::ReferrerPolicyEnum::UnsafeUrl;
- case kReferrerPolicyDefault:
+ case network::mojom::ReferrerPolicy::kDefault:
if (RuntimeEnabledFeatures::ReducedReferrerGranularityEnabled()) {
return protocol::Network::Request::ReferrerPolicyEnum::
StrictOriginWhenCrossOrigin;
@@ -387,21 +387,22 @@
return protocol::Network::Request::ReferrerPolicyEnum::
NoReferrerWhenDowngrade;
}
- case kReferrerPolicyNoReferrerWhenDowngrade:
+ case network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade:
return protocol::Network::Request::ReferrerPolicyEnum::
NoReferrerWhenDowngrade;
- case kReferrerPolicyNever:
+ case network::mojom::ReferrerPolicy::kNever:
return protocol::Network::Request::ReferrerPolicyEnum::NoReferrer;
- case kReferrerPolicyOrigin:
+ case network::mojom::ReferrerPolicy::kOrigin:
return protocol::Network::Request::ReferrerPolicyEnum::Origin;
- case kReferrerPolicyOriginWhenCrossOrigin:
+ case network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin:
return protocol::Network::Request::ReferrerPolicyEnum::
OriginWhenCrossOrigin;
- case kReferrerPolicySameOrigin:
+ case network::mojom::ReferrerPolicy::kSameOrigin:
return protocol::Network::Request::ReferrerPolicyEnum::SameOrigin;
- case kReferrerPolicyStrictOrigin:
+ case network::mojom::ReferrerPolicy::kStrictOrigin:
return protocol::Network::Request::ReferrerPolicyEnum::StrictOrigin;
- case kReferrerPolicyStrictOriginWhenCrossOrigin:
+ case network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin:
return protocol::Network::Request::ReferrerPolicyEnum::
StrictOriginWhenCrossOrigin;
}
@@ -836,10 +837,12 @@
// use ResourceRequest::referrer_. See https://crbug.com/850813. This
// seems to require storing the referrer info that is currently stored
// inside state_'s kExtraRequestHeaders, somewhere else.
- if (header_name.LowerASCII() == http_names::kReferer.LowerASCII())
- request.SetHTTPReferrer(Referrer(value, kReferrerPolicyAlways));
- else
+ if (header_name.LowerASCII() == http_names::kReferer.LowerASCII()) {
+ request.SetHTTPReferrer(
+ Referrer(value, network::mojom::ReferrerPolicy::kAlways));
+ } else {
request.SetHTTPHeaderField(header_name, AtomicString(value));
+ }
}
}
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/third_party/blink/renderer/core/loader/base_fetch_context.cc
index 7421771..ceac85e 100644
--- a/third_party/blink/renderer/core/loader/base_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.cc
@@ -118,12 +118,13 @@
// no matter what now.
if (!request.DidSetHTTPReferrer()) {
String referrer_to_use = request.ReferrerString();
- ReferrerPolicy referrer_policy_to_use = request.GetReferrerPolicy();
+ network::mojom::ReferrerPolicy referrer_policy_to_use =
+ request.GetReferrerPolicy();
if (referrer_to_use == Referrer::ClientReferrerString())
referrer_to_use = GetFetchClientSettingsObject()->GetOutgoingReferrer();
- if (referrer_policy_to_use == kReferrerPolicyDefault) {
+ if (referrer_policy_to_use == network::mojom::ReferrerPolicy::kDefault) {
referrer_policy_to_use =
GetFetchClientSettingsObject()->GetReferrerPolicy();
}
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
index ca1bb63..59b0488 100644
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
@@ -6,6 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_BASE_FETCH_CONTEXT_H_
#include "base/optional.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/net/ip_address_space.mojom-blink.h"
#include "third_party/blink/public/platform/web_url_request.h"
#include "third_party/blink/renderer/core/core_export.h"
@@ -15,7 +16,6 @@
#include "third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_context.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_request.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
namespace blink {
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
index a3386bd..ff0ea49 100644
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -1462,8 +1462,8 @@
IsMainFrame(), IsSVGImageChromeClient());
fetch_client_settings_object_ =
MakeGarbageCollected<FetchClientSettingsObjectSnapshot>(
- NullURL(), nullptr, kReferrerPolicyDefault, String(),
- HttpsState::kNone);
+ NullURL(), nullptr, network::mojom::ReferrerPolicy::kDefault,
+ String(), HttpsState::kNone);
}
// This is needed to break a reference cycle in which off-heap
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context_test.cc b/third_party/blink/renderer/core/loader/frame_fetch_context_test.cc
index 6de0eff..3703b8e444 100644
--- a/third_party/blink/renderer/core/loader/frame_fetch_context_test.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context_test.cc
@@ -1189,7 +1189,7 @@
GetNetworkStateNotifier().SetSaveDataEnabledOverride(true);
document->SetSecurityOrigin(SecurityOrigin::Create(KURL(origin)));
document->SetURL(document_url);
- document->SetReferrerPolicy(kReferrerPolicyOrigin);
+ document->SetReferrerPolicy(network::mojom::ReferrerPolicy::kOrigin);
document->SetAddressSpace(mojom::IPAddressSpace::kPublic);
dummy_page_holder = nullptr;
diff --git a/third_party/blink/renderer/core/loader/frame_loader.cc b/third_party/blink/renderer/core/loader/frame_loader.cc
index 04428e9b..3618581 100644
--- a/third_party/blink/renderer/core/loader/frame_loader.cc
+++ b/third_party/blink/renderer/core/loader/frame_loader.cc
@@ -628,15 +628,16 @@
return;
// Always use the initiating document to generate the referrer. We need to
- // generateReferrer(), because we haven't enforced ReferrerPolicy or
- // https->http referrer suppression yet.
+ // generateReferrer(), because we haven't enforced
+ // network::mojom::ReferrerPolicy or https->http referrer suppression yet.
String referrer_to_use = request.ReferrerString();
- ReferrerPolicy referrer_policy_to_use = request.GetReferrerPolicy();
+ network::mojom::ReferrerPolicy referrer_policy_to_use =
+ request.GetReferrerPolicy();
if (referrer_to_use == Referrer::ClientReferrerString())
referrer_to_use = origin_document->OutgoingReferrer();
- if (referrer_policy_to_use == kReferrerPolicyDefault)
+ if (referrer_policy_to_use == network::mojom::ReferrerPolicy::kDefault)
referrer_policy_to_use = origin_document->GetReferrerPolicy();
Referrer referrer = SecurityPolicy::GenerateReferrer(
diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_party/blink/renderer/core/loader/image_loader.cc
index c9176bf..01aa120 100644
--- a/third_party/blink/renderer/core/loader/image_loader.cc
+++ b/third_party/blink/renderer/core/loader/image_loader.cc
@@ -120,10 +120,11 @@
class ImageLoader::Task {
public:
- static std::unique_ptr<Task> Create(ImageLoader* loader,
- const KURL& request_url,
- UpdateFromElementBehavior update_behavior,
- ReferrerPolicy referrer_policy) {
+ static std::unique_ptr<Task> Create(
+ ImageLoader* loader,
+ const KURL& request_url,
+ UpdateFromElementBehavior update_behavior,
+ network::mojom::ReferrerPolicy referrer_policy) {
return std::make_unique<Task>(loader, request_url, update_behavior,
referrer_policy);
}
@@ -131,7 +132,7 @@
Task(ImageLoader* loader,
const KURL& request_url,
UpdateFromElementBehavior update_behavior,
- ReferrerPolicy referrer_policy)
+ network::mojom::ReferrerPolicy referrer_policy)
: loader_(loader),
should_bypass_main_world_csp_(ShouldBypassMainWorldCSP(loader)),
update_behavior_(update_behavior),
@@ -183,7 +184,7 @@
BypassMainWorldBehavior should_bypass_main_world_csp_;
UpdateFromElementBehavior update_behavior_;
WeakPersistent<ScriptState> script_state_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
KURL request_url_;
base::WeakPtrFactory<Task> weak_factory_;
};
@@ -412,7 +413,7 @@
inline void ImageLoader::EnqueueImageLoadingMicroTask(
const KURL& request_url,
UpdateFromElementBehavior update_behavior,
- ReferrerPolicy referrer_policy) {
+ network::mojom::ReferrerPolicy referrer_policy) {
std::unique_ptr<Task> task =
Task::Create(this, request_url, update_behavior, referrer_policy);
pending_task_ = task->GetWeakPtr();
@@ -439,11 +440,12 @@
delay_until_image_notify_finished_ = nullptr;
}
-void ImageLoader::DoUpdateFromElement(BypassMainWorldBehavior bypass_behavior,
- UpdateFromElementBehavior update_behavior,
- const KURL& url,
- ReferrerPolicy referrer_policy,
- UpdateType update_type) {
+void ImageLoader::DoUpdateFromElement(
+ BypassMainWorldBehavior bypass_behavior,
+ UpdateFromElementBehavior update_behavior,
+ const KURL& url,
+ network::mojom::ReferrerPolicy referrer_policy,
+ UpdateType update_type) {
// FIXME: According to
// http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content.html#the-img-element:the-img-element-55
// When "update image" is called due to environment changes and the load
@@ -578,8 +580,9 @@
image_resource->ResetAnimation();
}
-void ImageLoader::UpdateFromElement(UpdateFromElementBehavior update_behavior,
- ReferrerPolicy referrer_policy) {
+void ImageLoader::UpdateFromElement(
+ UpdateFromElementBehavior update_behavior,
+ network::mojom::ReferrerPolicy referrer_policy) {
AtomicString image_source_url = element_->ImageSourceURL();
suppress_error_events_ = (update_behavior == kUpdateSizeChanged);
last_base_element_url_ =
@@ -897,7 +900,8 @@
return request->promise();
}
-void ImageLoader::LoadDeferredImage(ReferrerPolicy referrer_policy) {
+void ImageLoader::LoadDeferredImage(
+ network::mojom::ReferrerPolicy referrer_policy) {
if (lazy_image_load_state_ != LazyImageLoadState::kDeferred)
return;
DCHECK(!image_complete_);
diff --git a/third_party/blink/renderer/core/loader/image_loader.h b/third_party/blink/renderer/core/loader/image_loader.h
index 21b5943..1cde362 100644
--- a/third_party/blink/renderer/core/loader/image_loader.h
+++ b/third_party/blink/renderer/core/loader/image_loader.h
@@ -78,7 +78,8 @@
};
void UpdateFromElement(UpdateFromElementBehavior = kUpdateNormal,
- ReferrerPolicy = kReferrerPolicyDefault);
+ network::mojom::ReferrerPolicy =
+ network::mojom::ReferrerPolicy::kDefault);
void ElementDidMoveToNewDocument();
@@ -125,7 +126,7 @@
ScriptPromise Decode(ScriptState*, ExceptionState&);
- void LoadDeferredImage(ReferrerPolicy);
+ void LoadDeferredImage(network::mojom::ReferrerPolicy);
protected:
void ImageChanged(ImageResourceContent*, CanDeferInvalidation) override;
@@ -152,11 +153,12 @@
};
// Called from the task or from updateFromElement to initiate the load.
- void DoUpdateFromElement(BypassMainWorldBehavior,
- UpdateFromElementBehavior,
- const KURL&,
- ReferrerPolicy = kReferrerPolicyDefault,
- UpdateType = UpdateType::kAsync);
+ void DoUpdateFromElement(
+ BypassMainWorldBehavior,
+ UpdateFromElementBehavior,
+ const KURL&,
+ network::mojom::ReferrerPolicy = network::mojom::ReferrerPolicy::kDefault,
+ UpdateType = UpdateType::kAsync);
virtual void DispatchLoadEvent() = 0;
virtual void NoImageResourceToLoad() {}
@@ -181,7 +183,7 @@
void CrossSiteOrCSPViolationOccurred(AtomicString);
void EnqueueImageLoadingMicroTask(const KURL&,
UpdateFromElementBehavior,
- ReferrerPolicy);
+ network::mojom::ReferrerPolicy);
KURL ImageSourceToKURL(AtomicString) const;
diff --git a/third_party/blink/renderer/core/loader/link_loader.cc b/third_party/blink/renderer/core/loader/link_loader.cc
index 202776f5..6aee31d 100644
--- a/third_party/blink/renderer/core/loader/link_loader.cc
+++ b/third_party/blink/renderer/core/loader/link_loader.cc
@@ -99,7 +99,7 @@
media(header.Media()),
nonce(header.Nonce()),
integrity(header.Integrity()),
- referrer_policy(kReferrerPolicyDefault),
+ referrer_policy(network::mojom::ReferrerPolicy::kDefault),
href(KURL(base_url, header.Url())),
image_srcset(header.ImageSrcset()),
image_sizes(header.ImageSizes()) {}
diff --git a/third_party/blink/renderer/core/loader/link_loader.h b/third_party/blink/renderer/core/loader/link_loader.h
index 18d5732..75674849 100644
--- a/third_party/blink/renderer/core/loader/link_loader.h
+++ b/third_party/blink/renderer/core/loader/link_loader.h
@@ -63,7 +63,7 @@
const String& nonce,
const String& integrity,
const String& importance,
- const ReferrerPolicy& referrer_policy,
+ network::mojom::ReferrerPolicy referrer_policy,
const KURL& href,
const String& image_srcset,
const String& image_sizes)
@@ -89,7 +89,7 @@
String nonce;
String integrity;
String importance;
- ReferrerPolicy referrer_policy;
+ network::mojom::ReferrerPolicy referrer_policy;
KURL href;
String image_srcset;
String image_sizes;
diff --git a/third_party/blink/renderer/core/loader/link_loader_test.cc b/third_party/blink/renderer/core/loader/link_loader_test.cc
index 7073425..6d777dd 100644
--- a/third_party/blink/renderer/core/loader/link_loader_test.cc
+++ b/third_party/blink/renderer/core/loader/link_loader_test.cc
@@ -97,7 +97,7 @@
mojom::RequestContextType context;
bool link_loader_should_load_value;
KURL load_url;
- ReferrerPolicy referrer_policy;
+ network::mojom::ReferrerPolicy referrer_policy;
};
LinkLoaderPreloadTestBase() {
@@ -132,7 +132,8 @@
EXPECT_EQ(expected.priority, resource->GetResourceRequest().Priority());
EXPECT_EQ(expected.context,
resource->GetResourceRequest().GetRequestContext());
- if (expected.referrer_policy != kReferrerPolicyDefault) {
+ if (expected.referrer_policy !=
+ network::mojom::ReferrerPolicy::kDefault) {
EXPECT_EQ(expected.referrer_policy,
resource->GetResourceRequest().GetReferrerPolicy());
}
@@ -188,12 +189,12 @@
LinkLoadParameters params(
LinkRelAttribute("preload"), kCrossOriginAttributeNotSet, String(),
test_case.as, String(), String(), String(), String(),
- kReferrerPolicyDefault, KURL(NullURL(), test_case.href), String(),
- String());
+ network::mojom::ReferrerPolicy::kDefault, KURL(NullURL(), test_case.href),
+ String(), String());
Expectations expectations = {
test_case.priority, test_case.context, test_case.expecting_load,
test_case.expecting_load ? params.href : NullURL(),
- kReferrerPolicyDefault};
+ network::mojom::ReferrerPolicy::kDefault};
TestPreload(params, expectations);
}
@@ -263,12 +264,12 @@
LinkLoadParameters params(
LinkRelAttribute("preload"), kCrossOriginAttributeNotSet, test_case.type,
test_case.as, String(), String(), String(), String(),
- kReferrerPolicyDefault, KURL(NullURL(), test_case.href), String(),
- String());
+ network::mojom::ReferrerPolicy::kDefault, KURL(NullURL(), test_case.href),
+ String(), String());
Expectations expectations = {
test_case.priority, test_case.context, test_case.expecting_load,
test_case.expecting_load ? params.href : NullURL(),
- kReferrerPolicyDefault};
+ network::mojom::ReferrerPolicy::kDefault};
TestPreload(params, expectations);
}
@@ -297,13 +298,13 @@
LinkLoadParameters params(
LinkRelAttribute("preload"), kCrossOriginAttributeNotSet, "image/gif",
"image", test_case.media, String(), String(), String(),
- kReferrerPolicyDefault, KURL(NullURL(), "http://example.test/cat.gif"),
- String(), String());
+ network::mojom::ReferrerPolicy::kDefault,
+ KURL(NullURL(), "http://example.test/cat.gif"), String(), String());
Expectations expectations = {
test_case.priority, mojom::RequestContextType::IMAGE,
test_case.link_loader_should_load_value,
test_case.expecting_load ? params.href : NullURL(),
- kReferrerPolicyDefault};
+ network::mojom::ReferrerPolicy::kDefault};
TestPreload(params, expectations);
}
@@ -311,20 +312,21 @@
LinkLoaderPreloadMediaTest,
testing::ValuesIn(kPreloadMediaTestParams));
-constexpr ReferrerPolicy kPreloadReferrerPolicyTestParams[] = {
- kReferrerPolicyOrigin,
- kReferrerPolicyOriginWhenCrossOrigin,
- kReferrerPolicySameOrigin,
- kReferrerPolicyStrictOrigin,
- kReferrerPolicyStrictOriginWhenCrossOrigin,
- kReferrerPolicyNever};
+constexpr network::mojom::ReferrerPolicy kPreloadReferrerPolicyTestParams[] = {
+ network::mojom::ReferrerPolicy::kOrigin,
+ network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin,
+ network::mojom::ReferrerPolicy::kSameOrigin,
+ network::mojom::ReferrerPolicy::kStrictOrigin,
+ network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ network::mojom::ReferrerPolicy::kNever};
class LinkLoaderPreloadReferrerPolicyTest
: public LinkLoaderPreloadTestBase,
- public testing::WithParamInterface<ReferrerPolicy> {};
+ public testing::WithParamInterface<network::mojom::ReferrerPolicy> {};
TEST_P(LinkLoaderPreloadReferrerPolicyTest, Preload) {
- const ReferrerPolicy referrer_policy = GetParam();
+ const network::mojom::ReferrerPolicy referrer_policy = GetParam();
LinkLoadParameters params(
LinkRelAttribute("preload"), kCrossOriginAttributeNotSet, "image/gif",
"image", String(), String(), String(), String(), referrer_policy,
@@ -365,13 +367,13 @@
LinkLoadParameters params(
LinkRelAttribute("preload"), kCrossOriginAttributeNotSet, String(),
"script", String(), test_case.nonce, String(), String(),
- kReferrerPolicyDefault, KURL(NullURL(), "http://example.test/cat.js"),
- String(), String());
+ network::mojom::ReferrerPolicy::kDefault,
+ KURL(NullURL(), "http://example.test/cat.js"), String(), String());
Expectations expectations = {
ResourceLoadPriority::kHigh, mojom::RequestContextType::SCRIPT,
test_case.expecting_load,
test_case.expecting_load ? params.href : NullURL(),
- kReferrerPolicyDefault};
+ network::mojom::ReferrerPolicy::kDefault};
TestPreload(params, expectations);
}
@@ -417,12 +419,13 @@
test_case.scale_factor);
LinkLoadParameters params(
LinkRelAttribute("preload"), kCrossOriginAttributeNotSet, "image/gif",
- "image", String(), String(), String(), String(), kReferrerPolicyDefault,
- KURL(NullURL(), test_case.href), test_case.image_srcset,
- test_case.image_sizes);
- Expectations expectations = {
- ResourceLoadPriority::kLow, mojom::RequestContextType::IMAGE, true,
- KURL(NullURL(), test_case.expected_url), kReferrerPolicyDefault};
+ "image", String(), String(), String(), String(),
+ network::mojom::ReferrerPolicy::kDefault, KURL(NullURL(), test_case.href),
+ test_case.image_srcset, test_case.image_sizes);
+ Expectations expectations = {ResourceLoadPriority::kLow,
+ mojom::RequestContextType::IMAGE, true,
+ KURL(NullURL(), test_case.expected_url),
+ network::mojom::ReferrerPolicy::kDefault};
TestPreload(params, expectations);
}
@@ -435,26 +438,27 @@
const char* nonce;
const char* integrity;
CrossOriginAttributeValue cross_origin;
- ReferrerPolicy referrer_policy;
+ network::mojom::ReferrerPolicy referrer_policy;
bool expecting_load;
network::mojom::FetchCredentialsMode expected_credentials_mode;
};
constexpr ModulePreloadTestParams kModulePreloadTestParams[] = {
- {"", nullptr, nullptr, kCrossOriginAttributeNotSet, kReferrerPolicyDefault,
- false, network::mojom::FetchCredentialsMode::kSameOrigin},
- {"http://example.test/cat.js", nullptr, nullptr,
- kCrossOriginAttributeNotSet, kReferrerPolicyDefault, true,
+ {"", nullptr, nullptr, kCrossOriginAttributeNotSet,
+ network::mojom::ReferrerPolicy::kDefault, false,
network::mojom::FetchCredentialsMode::kSameOrigin},
{"http://example.test/cat.js", nullptr, nullptr,
- kCrossOriginAttributeAnonymous, kReferrerPolicyDefault, true,
- network::mojom::FetchCredentialsMode::kSameOrigin},
+ kCrossOriginAttributeNotSet, network::mojom::ReferrerPolicy::kDefault,
+ true, network::mojom::FetchCredentialsMode::kSameOrigin},
+ {"http://example.test/cat.js", nullptr, nullptr,
+ kCrossOriginAttributeAnonymous, network::mojom::ReferrerPolicy::kDefault,
+ true, network::mojom::FetchCredentialsMode::kSameOrigin},
{"http://example.test/cat.js", "nonce", nullptr,
- kCrossOriginAttributeNotSet, kReferrerPolicyNever, true,
+ kCrossOriginAttributeNotSet, network::mojom::ReferrerPolicy::kNever, true,
network::mojom::FetchCredentialsMode::kSameOrigin},
{"http://example.test/cat.js", nullptr, "sha384-abc",
- kCrossOriginAttributeNotSet, kReferrerPolicyDefault, true,
- network::mojom::FetchCredentialsMode::kSameOrigin}};
+ kCrossOriginAttributeNotSet, network::mojom::ReferrerPolicy::kDefault,
+ true, network::mojom::FetchCredentialsMode::kSameOrigin}};
class LinkLoaderModulePreloadTest
: public testing::TestWithParam<ModulePreloadTestParams> {};
@@ -524,19 +528,21 @@
// TODO(yoav): Add support for type and media crbug.com/662687
const char* type;
const char* media;
- const ReferrerPolicy referrer_policy;
+ const network::mojom::ReferrerPolicy referrer_policy;
const bool link_loader_should_load_value;
const bool expecting_load;
- const ReferrerPolicy expected_referrer_policy;
+ const network::mojom::ReferrerPolicy expected_referrer_policy;
} cases[] = {
// Referrer Policy
- {"http://example.test/cat.jpg", "image/jpg", "", kReferrerPolicyOrigin,
- true, true, kReferrerPolicyOrigin},
{"http://example.test/cat.jpg", "image/jpg", "",
- kReferrerPolicyOriginWhenCrossOrigin, true, true,
- kReferrerPolicyOriginWhenCrossOrigin},
- {"http://example.test/cat.jpg", "image/jpg", "", kReferrerPolicyNever,
- true, true, kReferrerPolicyNever},
+ network::mojom::ReferrerPolicy::kOrigin, true, true,
+ network::mojom::ReferrerPolicy::kOrigin},
+ {"http://example.test/cat.jpg", "image/jpg", "",
+ network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, true, true,
+ network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin},
+ {"http://example.test/cat.jpg", "image/jpg", "",
+ network::mojom::ReferrerPolicy::kNever, true, true,
+ network::mojom::ReferrerPolicy::kNever},
};
// Test the cases with a single header
@@ -564,7 +570,8 @@
EXPECT_FALSE(resource);
}
if (resource) {
- if (test_case.expected_referrer_policy != kReferrerPolicyDefault) {
+ if (test_case.expected_referrer_policy !=
+ network::mojom::ReferrerPolicy::kDefault) {
EXPECT_EQ(test_case.expected_referrer_policy,
resource->GetResourceRequest().GetReferrerPolicy());
}
@@ -600,8 +607,8 @@
LinkLoadParameters params(
LinkRelAttribute("dns-prefetch"), kCrossOriginAttributeNotSet, String(),
String(), String(), String(), String(), String(),
- kReferrerPolicyDefault, href_url, String() /* image_srcset */,
- String() /* image_sizes */);
+ network::mojom::ReferrerPolicy::kDefault, href_url,
+ String() /* image_srcset */, String() /* image_sizes */);
loader->LoadLink(params, dummy_page_holder->GetDocument(), network_hints);
EXPECT_FALSE(network_hints.DidPreconnect());
EXPECT_EQ(test_case.should_load, network_hints.DidDnsPrefetch());
@@ -636,8 +643,8 @@
LinkLoadParameters params(
LinkRelAttribute("preconnect"), test_case.cross_origin, String(),
String(), String(), String(), String(), String(),
- kReferrerPolicyDefault, href_url, String() /* image_srcset */,
- String() /* image_sizes */);
+ network::mojom::ReferrerPolicy::kDefault, href_url,
+ String() /* image_srcset */, String() /* image_sizes */);
loader->LoadLink(params, dummy_page_holder->GetDocument(), network_hints);
EXPECT_EQ(test_case.should_load, network_hints.DidPreconnect());
EXPECT_EQ(test_case.is_https, network_hints.IsHTTPS());
@@ -659,8 +666,8 @@
LinkLoadParameters params(
LinkRelAttribute("preload prefetch"), kCrossOriginAttributeNotSet,
"application/javascript", "script", "", "", "", String(),
- kReferrerPolicyDefault, href_url, String() /* image_srcset */,
- String() /* image_sizes */);
+ network::mojom::ReferrerPolicy::kDefault, href_url,
+ String() /* image_srcset */, String() /* image_sizes */);
loader->LoadLink(params, dummy_page_holder->GetDocument(),
NetworkHintsMock());
ASSERT_EQ(1, fetcher->CountPreloads());
diff --git a/third_party/blink/renderer/core/loader/modulescript/module_script_loader.cc b/third_party/blink/renderer/core/loader/modulescript/module_script_loader.cc
index a675980..ef74f6b 100644
--- a/third_party/blink/renderer/core/loader/modulescript/module_script_loader.cc
+++ b/third_party/blink/renderer/core/loader/modulescript/module_script_loader.cc
@@ -154,8 +154,9 @@
// [SMSR] "... its referrer policy to options's referrer policy." [spec text]
// Note: For now this is done below with SetHTTPReferrer()
- ReferrerPolicy referrer_policy = module_request.Options().GetReferrerPolicy();
- if (referrer_policy == kReferrerPolicyDefault)
+ network::mojom::ReferrerPolicy referrer_policy =
+ module_request.Options().GetReferrerPolicy();
+ if (referrer_policy == network::mojom::ReferrerPolicy::kDefault)
referrer_policy = fetch_client_settings_object->GetReferrerPolicy();
// Step 5. "... mode is "cors", ..."
diff --git a/third_party/blink/renderer/core/loader/modulescript/worker_module_script_fetcher.cc b/third_party/blink/renderer/core/loader/modulescript/worker_module_script_fetcher.cc
index 807d9b3..3e702d8 100644
--- a/third_party/blink/renderer/core/loader/modulescript/worker_module_script_fetcher.cc
+++ b/third_party/blink/renderer/core/loader/modulescript/worker_module_script_fetcher.cc
@@ -4,11 +4,11 @@
#include "third_party/blink/renderer/core/loader/modulescript/worker_module_script_fetcher.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
#include "third_party/blink/renderer/platform/network/http_names.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
namespace blink {
@@ -85,7 +85,8 @@
const String referrer_policy_header =
resource->GetResponse().HttpHeaderField(http_names::kReferrerPolicy);
if (!referrer_policy_header.IsNull()) {
- ReferrerPolicy referrer_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
SecurityPolicy::ReferrerPolicyFromHeaderValue(
referrer_policy_header, kDoNotSupportReferrerPolicyLegacyKeywords,
&referrer_policy);
diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party/blink/renderer/core/loader/ping_loader.cc
index 2eb41312..fa66a5b 100644
--- a/third_party/blink/renderer/core/loader/ping_loader.cc
+++ b/third_party/blink/renderer/core/loader/ping_loader.cc
@@ -234,7 +234,7 @@
// TODO(domfarolino): Add WPTs ensuring that pings do not have a referrer
// header.
request.SetReferrerString(Referrer::NoReferrer());
- request.SetReferrerPolicy(kReferrerPolicyNever);
+ request.SetReferrerPolicy(network::mojom::ReferrerPolicy::kNever);
request.SetRequestContext(mojom::RequestContextType::PING);
FetchParameters params(request);
params.MutableOptions().initiator_info.name =
diff --git a/third_party/blink/renderer/core/loader/private/prerender_handle.cc b/third_party/blink/renderer/core/loader/private/prerender_handle.cc
index ce87f91a..7fe7f67 100644
--- a/third_party/blink/renderer/core/loader/private/prerender_handle.cc
+++ b/third_party/blink/renderer/core/loader/private/prerender_handle.cc
@@ -30,12 +30,12 @@
#include "third_party/blink/renderer/core/loader/private/prerender_handle.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/loader/frame_loader.h"
#include "third_party/blink/renderer/core/loader/prerenderer_client.h"
#include "third_party/blink/renderer/platform/prerender.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
namespace blink {
diff --git a/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource.cc b/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource.cc
index 6ab3d4a..95ce038 100644
--- a/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource.cc
+++ b/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource.cc
@@ -93,8 +93,10 @@
TextResource::Trace(visitor);
}
-ReferrerPolicy CSSStyleSheetResource::GetReferrerPolicy() const {
- ReferrerPolicy referrer_policy = kReferrerPolicyDefault;
+network::mojom::ReferrerPolicy CSSStyleSheetResource::GetReferrerPolicy()
+ const {
+ network::mojom::ReferrerPolicy referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
String referrer_policy_header =
GetResponse().HttpHeaderField(http_names::kReferrerPolicy);
if (!referrer_policy_header.IsNull()) {
diff --git a/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource.h b/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource.h
index e16ace2..c149586 100644
--- a/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource.h
+++ b/third_party/blink/renderer/core/loader/resource/css_style_sheet_resource.h
@@ -60,7 +60,7 @@
MIMETypeCheck = MIMETypeCheck::kStrict) const;
StyleSheetContents* CreateParsedStyleSheetFromCache(const CSSParserContext*);
void SaveParsedStyleSheet(StyleSheetContents*);
- ReferrerPolicy GetReferrerPolicy() const;
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const;
private:
class CSSStyleSheetResourceFactory : public ResourceFactory {
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
index b74a1b12..62b59a9 100644
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
@@ -432,8 +432,7 @@
WebContextMenuData::kCheckableMenuItemChecked;
}
- data.referrer_policy = static_cast<network::mojom::ReferrerPolicy>(
- selected_frame->GetDocument()->GetReferrerPolicy());
+ data.referrer_policy = selected_frame->GetDocument()->GetReferrerPolicy();
if (menu_provider_) {
// Filter out custom menu elements and add them into the data.
diff --git a/third_party/blink/renderer/core/page/create_window.cc b/third_party/blink/renderer/core/page/create_window.cc
index 299b300..cfc96f5 100644
--- a/third_party/blink/renderer/core/page/create_window.cc
+++ b/third_party/blink/renderer/core/page/create_window.cc
@@ -487,7 +487,8 @@
if (!new_frame)
return;
if (request.GetShouldSendReferrer() == kMaybeSendReferrer) {
- // TODO(japhet): Does ReferrerPolicy need to be proagated for RemoteFrames?
+ // TODO(japhet): Does network::mojom::ReferrerPolicy need to be proagated
+ // for RemoteFrames?
if (new_frame->IsLocalFrame())
ToLocalFrame(new_frame)->GetDocument()->SetReferrerPolicy(
opener_frame.GetDocument()->GetReferrerPolicy());
diff --git a/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.cc b/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.cc
index a5912202..15af66c 100644
--- a/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.cc
+++ b/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.cc
@@ -24,7 +24,8 @@
return execution_context_->GetSecurityOrigin();
}
-ReferrerPolicy FetchClientSettingsObjectImpl::GetReferrerPolicy() const {
+network::mojom::ReferrerPolicy
+FetchClientSettingsObjectImpl::GetReferrerPolicy() const {
DCHECK(execution_context_->IsContextThread());
return execution_context_->GetReferrerPolicy();
}
diff --git a/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.h b/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.h
index d430456..8ea794e2 100644
--- a/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.h
+++ b/third_party/blink/renderer/core/script/fetch_client_settings_object_impl.h
@@ -5,13 +5,13 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_FETCH_CLIENT_SETTINGS_OBJECT_IMPL_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_FETCH_CLIENT_SETTINGS_OBJECT_IMPL_H_
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/platform/cross_thread_copier.h"
#include "third_party/blink/renderer/platform/heap/member.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object.h"
#include "third_party/blink/renderer/platform/loader/fetch/https_state.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
namespace blink {
@@ -33,7 +33,7 @@
const KURL& BaseURL() const override;
const SecurityOrigin* GetSecurityOrigin() const override;
- ReferrerPolicy GetReferrerPolicy() const override;
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const override;
const String GetOutgoingReferrer() const override;
HttpsState GetHttpsState() const override;
diff --git a/third_party/blink/renderer/core/script/modulator.h b/third_party/blink/renderer/core/script/modulator.h
index c22fa4a..5bfa557f 100644
--- a/third_party/blink/renderer/core/script/modulator.h
+++ b/third_party/blink/renderer/core/script/modulator.h
@@ -6,6 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_MODULATOR_H_
#include "base/single_thread_task_runner.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/public/platform/web_url_request.h"
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
#include "third_party/blink/renderer/bindings/core/v8/script_module.h"
@@ -17,7 +18,6 @@
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/wtf/text/text_position.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
diff --git a/third_party/blink/renderer/core/script/script_loader.cc b/third_party/blink/renderer/core/script/script_loader.cc
index f0ca30f..c058625 100644
--- a/third_party/blink/renderer/core/script/script_loader.cc
+++ b/third_party/blink/renderer/core/script/script_loader.cc
@@ -374,7 +374,8 @@
// <spec step="20">Let referrer policy be the current state of the element's
// referrerpolicy content attribute.</spec>
String referrerpolicy_attr = element_->ReferrerPolicyAttributeValue();
- ReferrerPolicy referrer_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
if (!referrerpolicy_attr.IsEmpty()) {
SecurityPolicy::ReferrerPolicyFromString(
referrerpolicy_attr, kDoNotSupportReferrerPolicyLegacyKeywords,
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third_party/blink/renderer/core/workers/dedicated_worker.cc
index 9538285..9a26e64 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker.cc
@@ -174,8 +174,8 @@
auto* outside_settings_object =
GetExecutionContext()->CreateFetchClientSettingsObjectSnapshot();
context_proxy_->StartWorkerGlobalScope(
- CreateGlobalScopeCreationParams(script_request_url_,
- kReferrerPolicyDefault),
+ CreateGlobalScopeCreationParams(
+ script_request_url_, network::mojom::ReferrerPolicy::kDefault),
options_, script_request_url_, outside_settings_object, stack_id,
String() /* source_code */);
return;
@@ -282,7 +282,8 @@
} else if (classic_script_loader_->Failed()) {
DispatchEvent(*Event::CreateCancelable(event_type_names::kError));
} else {
- ReferrerPolicy referrer_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
if (!classic_script_loader_->GetReferrerPolicy().IsNull()) {
SecurityPolicy::ReferrerPolicyFromHeaderValue(
classic_script_loader_->GetReferrerPolicy(),
@@ -308,7 +309,7 @@
std::unique_ptr<GlobalScopeCreationParams>
DedicatedWorker::CreateGlobalScopeCreationParams(
const KURL& script_url,
- ReferrerPolicy referrer_policy) {
+ network::mojom::ReferrerPolicy referrer_policy) {
base::UnguessableToken parent_devtools_token;
std::unique_ptr<WorkerSettings> settings;
if (auto* document = DynamicTo<Document>(GetExecutionContext())) {
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.h b/third_party/blink/renderer/core/workers/dedicated_worker.h
index e8f4f7f..294f9bf 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker.h
+++ b/third_party/blink/renderer/core/workers/dedicated_worker.h
@@ -89,7 +89,7 @@
std::unique_ptr<GlobalScopeCreationParams> CreateGlobalScopeCreationParams(
const KURL& script_url,
- ReferrerPolicy);
+ network::mojom::ReferrerPolicy);
WorkerClients* CreateWorkerClients();
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h b/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h
index 7bf022b..4c162794 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h
+++ b/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h
@@ -9,6 +9,7 @@
#include "base/macros.h"
#include "base/memory/scoped_refptr.h"
#include "base/optional.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/messaging/transferable_message.mojom-blink.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/messaging/message_port.h"
@@ -16,7 +17,6 @@
#include "third_party/blink/renderer/core/workers/threaded_messaging_proxy_base.h"
#include "third_party/blink/renderer/core/workers/worker_backing_thread_startup_data.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
namespace blink {
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_test.cc b/third_party/blink/renderer/core/workers/dedicated_worker_test.cc
index 1c11ac7..ab02737e 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker_test.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker_test.cc
@@ -136,7 +136,7 @@
std::make_unique<GlobalScopeCreationParams>(
script_url, mojom::ScriptType::kClassic, "fake user agent",
nullptr /* web_worker_fetch_context */, headers,
- kReferrerPolicyDefault, security_origin_.get(),
+ network::mojom::ReferrerPolicy::kDefault, security_origin_.get(),
false /* starter_secure_context */,
CalculateHttpsState(security_origin_.get()),
nullptr /* worker_clients */, mojom::IPAddressSpace::kLocal,
diff --git a/third_party/blink/renderer/core/workers/experimental/thread_pool.cc b/third_party/blink/renderer/core/workers/experimental/thread_pool.cc
index d7a5f64..bf4e433 100644
--- a/third_party/blink/renderer/core/workers/experimental/thread_pool.cc
+++ b/third_party/blink/renderer/core/workers/experimental/thread_pool.cc
@@ -113,10 +113,10 @@
proxy->StartWorker(std::make_unique<GlobalScopeCreationParams>(
context->Url(), mojom::ScriptType::kClassic, context->UserAgent(),
nullptr /* web_worker_fetch_context */,
- context->GetContentSecurityPolicy()->Headers(), kReferrerPolicyDefault,
- context->GetSecurityOrigin(), context->IsSecureContext(),
- context->GetHttpsState(), WorkerClients::Create(),
- context->GetSecurityContext().AddressSpace(),
+ context->GetContentSecurityPolicy()->Headers(),
+ network::mojom::ReferrerPolicy::kDefault, context->GetSecurityOrigin(),
+ context->IsSecureContext(), context->GetHttpsState(),
+ WorkerClients::Create(), context->GetSecurityContext().AddressSpace(),
OriginTrialContext::GetTokens(context).get(), devtools_worker_token,
std::move(settings), kV8CacheOptionsDefault,
nullptr /* worklet_module_responses_map */,
diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_params.cc b/third_party/blink/renderer/core/workers/global_scope_creation_params.cc
index 47a9900..51b2c32b 100644
--- a/third_party/blink/renderer/core/workers/global_scope_creation_params.cc
+++ b/third_party/blink/renderer/core/workers/global_scope_creation_params.cc
@@ -15,7 +15,7 @@
const String& user_agent,
scoped_refptr<WebWorkerFetchContext> web_worker_fetch_context,
const Vector<CSPHeaderAndType>& content_security_policy_parsed_headers,
- ReferrerPolicy referrer_policy,
+ network::mojom::ReferrerPolicy referrer_policy,
const SecurityOrigin* starter_origin,
bool starter_secure_context,
HttpsState starter_https_state,
diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_params.h b/third_party/blink/renderer/core/workers/global_scope_creation_params.h
index 94d6560..113e5d0 100644
--- a/third_party/blink/renderer/core/workers/global_scope_creation_params.h
+++ b/third_party/blink/renderer/core/workers/global_scope_creation_params.h
@@ -9,6 +9,7 @@
#include "base/macros.h"
#include "base/optional.h"
#include "base/unguessable_token.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "services/service_manager/public/mojom/interface_provider.mojom-blink.h"
#include "third_party/blink/public/common/feature_policy/feature_policy.h"
#include "third_party/blink/public/mojom/net/ip_address_space.mojom-blink.h"
@@ -26,7 +27,6 @@
#include "third_party/blink/renderer/platform/network/content_security_policy_parsers.h"
#include "third_party/blink/renderer/platform/network/content_security_policy_response_headers.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"
namespace blink {
@@ -45,7 +45,7 @@
const String& user_agent,
scoped_refptr<WebWorkerFetchContext>,
const Vector<CSPHeaderAndType>& content_security_policy_parsed_headers,
- ReferrerPolicy referrer_policy,
+ network::mojom::ReferrerPolicy referrer_policy,
const SecurityOrigin*,
bool starter_secure_context,
HttpsState starter_https_state,
@@ -90,7 +90,7 @@
base::Optional<ContentSecurityPolicyResponseHeaders>
content_security_policy_raw_headers;
- ReferrerPolicy referrer_policy;
+ network::mojom::ReferrerPolicy referrer_policy;
std::unique_ptr<Vector<String>> origin_trial_tokens;
// The SecurityOrigin of the Document creating a Worker/Worklet.
diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.cc b/third_party/blink/renderer/core/workers/worker_global_scope.cc
index 644c6ceb..ac09ce56 100644
--- a/third_party/blink/renderer/core/workers/worker_global_scope.cc
+++ b/third_party/blink/renderer/core/workers/worker_global_scope.cc
@@ -414,7 +414,8 @@
// Step 12.5. "Set worker global scope's referrer policy to the result of
// parsing the `Referrer-Policy` header of response."
- ReferrerPolicy referrer_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
if (!classic_script_loader->GetReferrerPolicy().IsNull()) {
SecurityPolicy::ReferrerPolicyFromHeaderValue(
classic_script_loader->GetReferrerPolicy(),
diff --git a/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc b/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc
index 7a179131..0abad63 100644
--- a/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc
+++ b/third_party/blink/renderer/core/workers/worker_or_worklet_global_scope.cc
@@ -232,7 +232,7 @@
// string."
ScriptFetchOptions options(nonce, IntegrityMetadataSet(), integrity_attribute,
parser_state, credentials_mode,
- kReferrerPolicyDefault);
+ network::mojom::ReferrerPolicy::kDefault);
Modulator* modulator = Modulator::From(ScriptController()->GetScriptState());
// Step 3. "Perform the internal module script graph fetching procedure ..."
diff --git a/third_party/blink/renderer/core/workers/worker_thread_test.cc b/third_party/blink/renderer/core/workers/worker_thread_test.cc
index ddd1ae8c..05edaaf 100644
--- a/third_party/blink/renderer/core/workers/worker_thread_test.cc
+++ b/third_party/blink/renderer/core/workers/worker_thread_test.cc
@@ -391,7 +391,7 @@
std::make_unique<GlobalScopeCreationParams>(
KURL("http://fake.url/"), mojom::ScriptType::kClassic,
"fake user agent", nullptr /* web_worker_fetch_context */, headers,
- kReferrerPolicyDefault, security_origin_.get(),
+ network::mojom::ReferrerPolicy::kDefault, security_origin_.get(),
false /* starter_secure_context */,
CalculateHttpsState(security_origin_.get()), WorkerClients::Create(),
mojom::IPAddressSpace::kLocal, nullptr /* originTrialToken */,
diff --git a/third_party/blink/renderer/core/workers/worker_thread_test_helper.h b/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
index 3fca021e..590fb87 100644
--- a/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
+++ b/third_party/blink/renderer/core/workers/worker_thread_test_helper.h
@@ -92,8 +92,9 @@
{"contentSecurityPolicy", kContentSecurityPolicyHeaderTypeReport}};
auto creation_params = std::make_unique<GlobalScopeCreationParams>(
script_url, mojom::ScriptType::kClassic, "fake user agent",
- nullptr /* web_worker_fetch_context */, headers, kReferrerPolicyDefault,
- security_origin, false /* starter_secure_context */,
+ nullptr /* web_worker_fetch_context */, headers,
+ network::mojom::ReferrerPolicy::kDefault, security_origin,
+ false /* starter_secure_context */,
CalculateHttpsState(security_origin), worker_clients,
mojom::IPAddressSpace::kLocal, nullptr,
base::UnguessableToken::Create(),
diff --git a/third_party/blink/renderer/modules/cache_storage/DEPS b/third_party/blink/renderer/modules/cache_storage/DEPS
index ba54022..c4508ff 100644
--- a/third_party/blink/renderer/modules/cache_storage/DEPS
+++ b/third_party/blink/renderer/modules/cache_storage/DEPS
@@ -1,6 +1,5 @@
include_rules = [
"+mojo/public/cpp/bindings",
- "+services/network/public/mojom",
"-third_party/blink/renderer/modules",
"+third_party/blink/renderer/modules/cache_storage",
"+third_party/blink/renderer/modules/event_modules.h",
diff --git a/third_party/blink/renderer/modules/cookie_store/DEPS b/third_party/blink/renderer/modules/cookie_store/DEPS
index 9ab1bbf8..74bc32f0 100644
--- a/third_party/blink/renderer/modules/cookie_store/DEPS
+++ b/third_party/blink/renderer/modules/cookie_store/DEPS
@@ -1,4 +1,3 @@
include_rules = [
"+mojo/public/cpp/bindings/binding.h",
- "+services/network/public/mojom/restricted_cookie_manager.mojom-blink.h",
]
diff --git a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
index 37b83ed..5bcb80c 100644
--- a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
+++ b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
@@ -32,6 +32,7 @@
#include <memory>
#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/service_worker/service_worker_installed_scripts_manager.mojom-blink.h"
#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_network_provider.h"
#include "third_party/blink/public/platform/modules/service_worker/web_service_worker_provider.h"
@@ -67,7 +68,6 @@
#include "third_party/blink/renderer/platform/network/network_utils.h"
#include "third_party/blink/renderer/platform/shared_buffer.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
@@ -396,7 +396,8 @@
if (main_script_loader_) {
ContentSecurityPolicy* content_security_policy =
main_script_loader_->GetContentSecurityPolicy();
- ReferrerPolicy referrer_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
if (!main_script_loader_->GetReferrerPolicy().IsNull()) {
SecurityPolicy::ReferrerPolicyFromHeaderValue(
main_script_loader_->GetReferrerPolicy(),
@@ -424,10 +425,11 @@
global_scope_creation_params = std::make_unique<GlobalScopeCreationParams>(
worker_start_data_.script_url, worker_start_data_.script_type,
worker_start_data_.user_agent, std::move(web_worker_fetch_context),
- Vector<CSPHeaderAndType>(), kReferrerPolicyDefault, starter_origin,
- starter_secure_context, starter_https_state, worker_clients,
- worker_start_data_.address_space, nullptr /* OriginTrialTokens */,
- devtools_worker_token_, std::move(worker_settings),
+ Vector<CSPHeaderAndType>(), network::mojom::ReferrerPolicy::kDefault,
+ starter_origin, starter_secure_context, starter_https_state,
+ worker_clients, worker_start_data_.address_space,
+ nullptr /* OriginTrialTokens */, devtools_worker_token_,
+ std::move(worker_settings),
static_cast<V8CacheOptions>(worker_start_data_.v8_cache_options),
nullptr /* worklet_module_respones_map */,
std::move(interface_provider_info_));
diff --git a/third_party/blink/renderer/modules/service_worker/DEPS b/third_party/blink/renderer/modules/service_worker/DEPS
index a6301af..831dcbc 100644
--- a/third_party/blink/renderer/modules/service_worker/DEPS
+++ b/third_party/blink/renderer/modules/service_worker/DEPS
@@ -3,7 +3,6 @@
"+base/threading/thread_checker.h",
"+mojo/public/cpp/bindings/strong_binding.h",
"+mojo/public/cpp/system/data_pipe.h",
- "+services/network/public/mojom",
"-third_party/blink/renderer/modules",
"+third_party/blink/renderer/modules/event_modules.h",
"+third_party/blink/renderer/modules/event_target_modules.h",
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
index ea726c6..b8e6237 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc
@@ -103,7 +103,8 @@
// CSP headers, referrer policy, and origin trial tokens will be provided by
// the InstalledScriptsManager in EvaluateClassicScript().
DCHECK(creation_params->content_security_policy_parsed_headers.IsEmpty());
- DCHECK_EQ(kReferrerPolicyDefault, creation_params->referrer_policy);
+ DCHECK_EQ(network::mojom::ReferrerPolicy::kDefault,
+ creation_params->referrer_policy);
DCHECK(creation_params->origin_trial_tokens->IsEmpty());
}
return MakeGarbageCollected<ServiceWorkerGlobalScope>(
diff --git a/third_party/blink/renderer/modules/websockets/DEPS b/third_party/blink/renderer/modules/websockets/DEPS
index 601a4f2..885d108 100644
--- a/third_party/blink/renderer/modules/websockets/DEPS
+++ b/third_party/blink/renderer/modules/websockets/DEPS
@@ -1,6 +1,5 @@
include_rules = [
"+mojo/public/cpp/bindings",
- "+services/network/public/mojom/websocket.mojom-blink.h",
"-third_party/blink/renderer/modules",
"+third_party/blink/renderer/modules/event_modules.h",
"+third_party/blink/renderer/modules/event_target_modules.h",
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index d584c90..f781963 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1379,7 +1379,6 @@
"weborigin/origin_access_entry.cc",
"weborigin/origin_access_entry.h",
"weborigin/referrer.h",
- "weborigin/referrer_policy.h",
"weborigin/scheme_registry.cc",
"weborigin/scheme_registry.h",
"weborigin/security_origin.cc",
diff --git a/third_party/blink/renderer/platform/DEPS b/third_party/blink/renderer/platform/DEPS
index 21a067f..86b40804 100644
--- a/third_party/blink/renderer/platform/DEPS
+++ b/third_party/blink/renderer/platform/DEPS
@@ -56,7 +56,6 @@
"+mozilla",
"+services/metrics/public/cpp/ukm_entry_builder.h",
"+services/metrics/public/cpp/ukm_recorder.h",
- "+services/network/public/mojom/data_pipe_getter.mojom-blink.h",
"+services/viz/public/interfaces/compositing/compositor_frame_sink.mojom-blink.h",
"+skia/ext",
#TODO(nverne): remove this
diff --git a/third_party/blink/renderer/platform/exported/web_prerender.cc b/third_party/blink/renderer/platform/exported/web_prerender.cc
index c0b0036ea..fbe19674 100644
--- a/third_party/blink/renderer/platform/exported/web_prerender.cc
+++ b/third_party/blink/renderer/platform/exported/web_prerender.cc
@@ -91,8 +91,7 @@
}
network::mojom::ReferrerPolicy WebPrerender::GetReferrerPolicy() const {
- return static_cast<network::mojom::ReferrerPolicy>(
- private_->GetReferrerPolicy());
+ return private_->GetReferrerPolicy();
}
void WebPrerender::SetExtraData(WebPrerender::ExtraData* extra_data) {
diff --git a/third_party/blink/renderer/platform/exported/web_service_worker_request.cc b/third_party/blink/renderer/platform/exported/web_service_worker_request.cc
index 8b0b2fc..1a4b4ae 100644
--- a/third_party/blink/renderer/platform/exported/web_service_worker_request.cc
+++ b/third_party/blink/renderer/platform/exported/web_service_worker_request.cc
@@ -155,8 +155,7 @@
DCHECK_EQ(Referrer::NoReferrer(), String());
String referrer =
web_referrer.IsEmpty() ? Referrer::NoReferrer() : String(web_referrer);
- private_->referrer_ =
- Referrer(referrer, static_cast<ReferrerPolicy>(referrer_policy));
+ private_->referrer_ = Referrer(referrer, referrer_policy);
}
WebURL WebServiceWorkerRequest::ReferrerUrl() const {
@@ -165,8 +164,7 @@
network::mojom::ReferrerPolicy WebServiceWorkerRequest::GetReferrerPolicy()
const {
- return static_cast<network::mojom::ReferrerPolicy>(
- private_->referrer_.referrer_policy);
+ return private_->referrer_.referrer_policy;
}
const Referrer& WebServiceWorkerRequest::GetReferrer() const {
diff --git a/third_party/blink/renderer/platform/exported/web_url_request.cc b/third_party/blink/renderer/platform/exported/web_url_request.cc
index bba8d1a..c387c5d 100644
--- a/third_party/blink/renderer/platform/exported/web_url_request.cc
+++ b/third_party/blink/renderer/platform/exported/web_url_request.cc
@@ -158,8 +158,7 @@
web_referrer.IsEmpty() ? Referrer::NoReferrer() : String(web_referrer);
// TODO(domfarolino): Stop storing ResourceRequest's generated referrer as a
// header and instead use a separate member. See https://crbug.com/850813.
- resource_request_->SetHTTPReferrer(
- Referrer(referrer, static_cast<ReferrerPolicy>(referrer_policy)));
+ resource_request_->SetHTTPReferrer(Referrer(referrer, referrer_policy));
}
void WebURLRequest::AddHTTPHeaderField(const WebString& name,
@@ -210,8 +209,7 @@
}
network::mojom::ReferrerPolicy WebURLRequest::GetReferrerPolicy() const {
- return static_cast<network::mojom::ReferrerPolicy>(
- resource_request_->GetReferrerPolicy());
+ return resource_request_->GetReferrerPolicy();
}
void WebURLRequest::SetHTTPOriginIfNeeded(const WebSecurityOrigin& origin) {
diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object.h b/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object.h
index c71366a..9e6f233 100644
--- a/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object.h
+++ b/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object.h
@@ -5,13 +5,13 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_FETCH_CLIENT_SETTINGS_OBJECT_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_FETCH_CLIENT_SETTINGS_OBJECT_H_
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/platform/cross_thread_copier.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/heap.h"
#include "third_party/blink/renderer/platform/loader/fetch/https_state.h"
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
namespace blink {
@@ -42,7 +42,7 @@
// "The default referrer policy for fetches performed using this environment
// settings object as a request client."
// https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-referrer-policy
- virtual ReferrerPolicy GetReferrerPolicy() const = 0;
+ virtual network::mojom::ReferrerPolicy GetReferrerPolicy() const = 0;
// "referrerURL" used in the "Determine request's Referrer" algorithm:
// https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer
diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.cc b/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.cc
index ad3a8ba..38c1829 100644
--- a/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.cc
@@ -19,7 +19,7 @@
FetchClientSettingsObjectSnapshot::FetchClientSettingsObjectSnapshot(
const KURL& base_url,
const scoped_refptr<const SecurityOrigin> security_origin,
- ReferrerPolicy referrer_policy,
+ network::mojom::ReferrerPolicy referrer_policy,
const String& outgoing_referrer,
HttpsState https_state)
: base_url_(base_url),
diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.h b/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.h
index fb3a8dad..09290de 100644
--- a/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.h
+++ b/third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.h
@@ -5,11 +5,11 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_FETCH_CLIENT_SETTINGS_OBJECT_SNAPSHOT_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_FETCH_CLIENT_SETTINGS_OBJECT_SNAPSHOT_H_
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/platform/cross_thread_copier.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object.h"
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
namespace blink {
@@ -30,7 +30,7 @@
CrossThreadFetchClientSettingsObjectData(
KURL base_url,
scoped_refptr<const SecurityOrigin> security_origin,
- ReferrerPolicy referrer_policy,
+ network::mojom::ReferrerPolicy referrer_policy,
String outgoing_referrer,
HttpsState https_state)
: base_url(std::move(base_url)),
@@ -41,7 +41,7 @@
const KURL base_url;
const scoped_refptr<const SecurityOrigin> security_origin;
- const ReferrerPolicy referrer_policy;
+ const network::mojom::ReferrerPolicy referrer_policy;
const String outgoing_referrer;
const HttpsState https_state;
};
@@ -64,7 +64,7 @@
FetchClientSettingsObjectSnapshot(
const KURL& base_url,
const scoped_refptr<const SecurityOrigin> security_origin,
- ReferrerPolicy referrer_policy,
+ network::mojom::ReferrerPolicy referrer_policy,
const String& outgoing_referrer,
HttpsState https_state);
@@ -74,7 +74,9 @@
const SecurityOrigin* GetSecurityOrigin() const override {
return security_origin_.get();
}
- ReferrerPolicy GetReferrerPolicy() const override { return referrer_policy_; }
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const override {
+ return referrer_policy_;
+ }
const String GetOutgoingReferrer() const override {
return outgoing_referrer_;
}
@@ -90,7 +92,7 @@
private:
const KURL base_url_;
const scoped_refptr<const SecurityOrigin> security_origin_;
- const ReferrerPolicy referrer_policy_;
+ const network::mojom::ReferrerPolicy referrer_policy_;
const String outgoing_referrer_;
const HttpsState https_state_;
};
diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_context.cc b/third_party/blink/renderer/platform/loader/fetch/fetch_context.cc
index cea9838e..b54b5503 100644
--- a/third_party/blink/renderer/platform/loader/fetch/fetch_context.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/fetch_context.cc
@@ -47,7 +47,7 @@
MakeGarbageCollected<FetchClientSettingsObjectSnapshot>(
KURL(),
nullptr /* security_origin */,
- kReferrerPolicyDefault,
+ network::mojom::ReferrerPolicy::kDefault,
String(),
HttpsState::kNone)) {}
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
index e75b6d2..b07bb4f 100644
--- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
@@ -564,7 +564,7 @@
std::unique_ptr<ResourceRequest> new_request =
resource_->LastResourceRequest().CreateRedirectRequest(
new_url, new_method, new_site_for_cookies, new_referrer,
- static_cast<ReferrerPolicy>(new_referrer_policy),
+ new_referrer_policy,
!passed_redirect_response.WasFetchedViaServiceWorker());
ResourceType resource_type = resource_->GetType();
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_request.cc b/third_party/blink/renderer/platform/loader/fetch/resource_request.cc
index dd7f24f..4e0c30af 100644
--- a/third_party/blink/renderer/platform/loader/fetch/resource_request.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_request.cc
@@ -75,7 +75,7 @@
fetch_credentials_mode_(network::mojom::FetchCredentialsMode::kInclude),
fetch_redirect_mode_(network::mojom::FetchRedirectMode::kFollow),
referrer_string_(Referrer::ClientReferrerString()),
- referrer_policy_(kReferrerPolicyDefault),
+ referrer_policy_(network::mojom::ReferrerPolicy::kDefault),
did_set_http_referrer_(false),
was_discarded_(false),
is_external_request_(false),
@@ -94,7 +94,7 @@
const AtomicString& new_method,
const KURL& new_site_for_cookies,
const String& new_referrer,
- ReferrerPolicy new_referrer_policy,
+ network::mojom::ReferrerPolicy new_referrer_policy,
bool skip_service_worker) const {
std::unique_ptr<ResourceRequest> request =
std::make_unique<ResourceRequest>(new_url);
@@ -105,8 +105,7 @@
new_referrer.IsEmpty() ? Referrer::NoReferrer() : String(new_referrer);
// TODO(domfarolino): Stop storing ResourceRequest's generated referrer as a
// header and instead use a separate member. See https://crbug.com/850813.
- request->SetHTTPReferrer(
- Referrer(referrer, static_cast<ReferrerPolicy>(new_referrer_policy)));
+ request->SetHTTPReferrer(Referrer(referrer, new_referrer_policy));
request->SetSkipServiceWorker(skip_service_worker);
request->SetRedirectStatus(RedirectStatus::kFollowedRedirect);
@@ -215,7 +214,7 @@
void ResourceRequest::ClearHTTPReferrer() {
http_header_fields_.Remove(http_names::kReferer);
- referrer_policy_ = kReferrerPolicyDefault;
+ referrer_policy_ = network::mojom::ReferrerPolicy::kDefault;
did_set_http_referrer_ = false;
}
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_request.h b/third_party/blink/renderer/platform/loader/fetch/resource_request.h
index f92fdf2e..98f750c 100644
--- a/third_party/blink/renderer/platform/loader/fetch/resource_request.h
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_request.h
@@ -85,7 +85,7 @@
const AtomicString& new_method,
const KURL& new_site_for_cookies,
const String& new_referrer,
- ReferrerPolicy new_referrer_policy,
+ network::mojom::ReferrerPolicy new_referrer_policy,
bool skip_service_worker) const;
bool IsNull() const;
@@ -143,10 +143,12 @@
bool DidSetHTTPReferrer() const { return did_set_http_referrer_; }
void ClearHTTPReferrer();
- void SetReferrerPolicy(ReferrerPolicy referrer_policy) {
+ void SetReferrerPolicy(network::mojom::ReferrerPolicy referrer_policy) {
referrer_policy_ = referrer_policy;
}
- ReferrerPolicy GetReferrerPolicy() const { return referrer_policy_; }
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const {
+ return referrer_policy_;
+ }
void SetReferrerString(const String& referrer_string) {
referrer_string_ = referrer_string;
@@ -473,7 +475,7 @@
// off-main-thread fetch is fully implemented and ResourceRequest never gets
// transferred between threads. See https://crbug.com/706331.
String referrer_string_;
- ReferrerPolicy referrer_policy_;
+ network::mojom::ReferrerPolicy referrer_policy_;
bool did_set_http_referrer_;
bool was_discarded_;
bool is_external_request_;
diff --git a/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h b/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h
index 0f20f74..4cb4632 100644
--- a/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h
+++ b/third_party/blink/renderer/platform/loader/fetch/script_fetch_options.h
@@ -5,13 +5,13 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_SCRIPT_FETCH_OPTIONS_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_LOADER_FETCH_SCRIPT_FETCH_OPTIONS_H_
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/public/platform/web_url_request.h"
#include "third_party/blink/renderer/platform/cross_origin_attribute_value.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_parameters.h"
#include "third_party/blink/renderer/platform/loader/fetch/integrity_metadata.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_loader_options.h"
#include "third_party/blink/renderer/platform/platform_export.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/wtf/text/text_encoding.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
@@ -35,14 +35,14 @@
ScriptFetchOptions()
: parser_state_(ParserDisposition::kNotParserInserted),
credentials_mode_(network::mojom::FetchCredentialsMode::kOmit),
- referrer_policy_(kReferrerPolicyDefault) {}
+ referrer_policy_(network::mojom::ReferrerPolicy::kDefault) {}
ScriptFetchOptions(const String& nonce,
const IntegrityMetadataSet& integrity_metadata,
const String& integrity_attribute,
ParserDisposition parser_state,
network::mojom::FetchCredentialsMode credentials_mode,
- ReferrerPolicy referrer_policy)
+ network::mojom::ReferrerPolicy referrer_policy)
: nonce_(nonce),
integrity_metadata_(integrity_metadata),
integrity_attribute_(integrity_attribute),
@@ -62,7 +62,9 @@
network::mojom::FetchCredentialsMode CredentialsMode() const {
return credentials_mode_;
}
- ReferrerPolicy GetReferrerPolicy() const { return referrer_policy_; }
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const {
+ return referrer_policy_;
+ }
// https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-classic-script
// Steps 1 and 3.
@@ -87,7 +89,7 @@
const network::mojom::FetchCredentialsMode credentials_mode_;
// https://html.spec.whatwg.org/multipage/webappapis.html#concept-script-fetch-options-referrer-policy
- const ReferrerPolicy referrer_policy_;
+ const network::mojom::ReferrerPolicy referrer_policy_;
};
} // namespace blink
diff --git a/third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h b/third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h
index ce8af4e..7859d37 100644
--- a/third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h
+++ b/third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h
@@ -71,8 +71,8 @@
const FetchClientSettingsObject* GetFetchClientSettingsObject()
const override {
return MakeGarbageCollected<FetchClientSettingsObjectSnapshot>(
- KURL(), security_origin_, kReferrerPolicyDefault, String(),
- HttpsState::kNone);
+ KURL(), security_origin_, network::mojom::ReferrerPolicy::kDefault,
+ String(), HttpsState::kNone);
}
// The last ResourceRequest passed to DispatchWillSendRequest.
diff --git a/third_party/blink/renderer/platform/mojo/DEPS b/third_party/blink/renderer/platform/mojo/DEPS
index 4394c7a..ea09dcb 100644
--- a/third_party/blink/renderer/platform/mojo/DEPS
+++ b/third_party/blink/renderer/platform/mojo/DEPS
@@ -14,9 +14,6 @@
"+mojo/public/cpp/base/time_mojom_traits.h",
"+mojo/public/cpp/bindings/binding.h",
"+mojo/public/mojom/base/string16.mojom-blink.h",
- "+services/network/public/mojom/fetch_api.mojom-blink.h",
- "+services/network/public/mojom/restricted_cookie_manager.mojom-blink.h",
- "+services/network/public/mojom/referrer_policy.mojom-blink.h",
"+skia/public/interfaces/bitmap_skbitmap_struct_traits.h",
"+third_party/blink/renderer/platform/blob/blob_data.h",
diff --git a/third_party/blink/renderer/platform/prerender.h b/third_party/blink/renderer/platform/prerender.h
index 7cccea0..0c7f509 100644
--- a/third_party/blink/renderer/platform/prerender.h
+++ b/third_party/blink/renderer/platform/prerender.h
@@ -74,7 +74,9 @@
const KURL& Url() const { return url_; }
unsigned RelTypes() const { return rel_types_; }
const String& GetReferrer() const { return referrer_.referrer; }
- ReferrerPolicy GetReferrerPolicy() const { return referrer_.referrer_policy; }
+ network::mojom::ReferrerPolicy GetReferrerPolicy() const {
+ return referrer_.referrer_policy;
+ }
void SetExtraData(scoped_refptr<ExtraData> extra_data) {
extra_data_ = std::move(extra_data);
diff --git a/third_party/blink/renderer/platform/weborigin/DEPS b/third_party/blink/renderer/platform/weborigin/DEPS
index 1b1d6a7..14eb4e4 100644
--- a/third_party/blink/renderer/platform/weborigin/DEPS
+++ b/third_party/blink/renderer/platform/weborigin/DEPS
@@ -11,9 +11,6 @@
"+net/base",
"+services/network/public/cpp/cors/origin_access_entry.h",
"+services/network/public/cpp/cors/origin_access_list.h",
- "+services/network/public/mojom/cors.mojom-shared.h",
- "+services/network/public/mojom/cors_origin_pattern.mojom-shared.h",
- "+services/network/public/mojom/referrer_policy.mojom-blink.h",
"+third_party/blink/renderer/platform/blob/blob_url.h",
"+third_party/blink/renderer/platform/platform_export.h",
"+third_party/blink/renderer/platform/runtime_enabled_features.h",
diff --git a/third_party/blink/renderer/platform/weborigin/referrer.h b/third_party/blink/renderer/platform/weborigin/referrer.h
index aa577e33..e47ab10 100644
--- a/third_party/blink/renderer/platform/weborigin/referrer.h
+++ b/third_party/blink/renderer/platform/weborigin/referrer.h
@@ -31,8 +31,8 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_WEBORIGIN_REFERRER_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_WEBORIGIN_REFERRER_H_
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/wtf/allocator.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
@@ -40,17 +40,18 @@
struct Referrer {
DISALLOW_NEW();
- Referrer(const String& referrer, ReferrerPolicy referrer_policy)
+ Referrer(const String& referrer,
+ network::mojom::ReferrerPolicy referrer_policy)
: referrer(referrer), referrer_policy(referrer_policy) {
DCHECK(referrer == NoReferrer() || KURL(NullURL(), referrer).IsValid());
}
- Referrer() : referrer_policy(kReferrerPolicyDefault) {}
+ Referrer() : referrer_policy(network::mojom::ReferrerPolicy::kDefault) {}
// We use these strings instead of "no-referrer" and "client" in the spec.
static String NoReferrer() { return String(); }
static String ClientReferrerString() { return "about:client"; }
AtomicString referrer;
- ReferrerPolicy referrer_policy;
+ network::mojom::ReferrerPolicy referrer_policy;
};
} // namespace blink
diff --git a/third_party/blink/renderer/platform/weborigin/referrer_policy.h b/third_party/blink/renderer/platform/weborigin/referrer_policy.h
deleted file mode 100644
index e9ddd2f..0000000
--- a/third_party/blink/renderer/platform/weborigin/referrer_policy.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2012 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_WEBORIGIN_REFERRER_POLICY_H_
-#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_WEBORIGIN_REFERRER_POLICY_H_
-
-#include <stdint.h>
-
-namespace blink {
-
-enum ReferrerPolicy : uint8_t {
- // https://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-state-unsafe-url
- kReferrerPolicyAlways,
- // The default policy, if no policy is explicitly set by the page.
- kReferrerPolicyDefault,
- // https://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-state-no-referrer-when-downgrade
- kReferrerPolicyNoReferrerWhenDowngrade,
- // https://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-state-no-referrer
- kReferrerPolicyNever,
- // https://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-state-origin
- kReferrerPolicyOrigin,
- // https://w3c.github.io/webappsec/specs/referrer-policy/#referrer-policy-state-origin-when-cross-origin
- kReferrerPolicyOriginWhenCrossOrigin,
- // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin
- // Also used as the default policy when reduced-referrer-granularity is
- // enabled (not spec conformant).
- kReferrerPolicyStrictOriginWhenCrossOrigin,
- // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin
- kReferrerPolicySameOrigin,
- // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin
- kReferrerPolicyStrictOrigin,
-};
-
-} // namespace blink
-
-#endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_WEBORIGIN_REFERRER_POLICY_H_
diff --git a/third_party/blink/renderer/platform/weborigin/security_policy.cc b/third_party/blink/renderer/platform/weborigin/security_policy.cc
index 9ef5ab6..05e0827 100644
--- a/third_party/blink/renderer/platform/weborigin/security_policy.cc
+++ b/third_party/blink/renderer/platform/weborigin/security_policy.cc
@@ -90,15 +90,18 @@
return !url_is_secure_url;
}
-Referrer SecurityPolicy::GenerateReferrer(ReferrerPolicy referrer_policy,
- const KURL& url,
- const String& referrer) {
- ReferrerPolicy referrer_policy_no_default = referrer_policy;
- if (referrer_policy_no_default == kReferrerPolicyDefault) {
+Referrer SecurityPolicy::GenerateReferrer(
+ network::mojom::ReferrerPolicy referrer_policy,
+ const KURL& url,
+ const String& referrer) {
+ network::mojom::ReferrerPolicy referrer_policy_no_default = referrer_policy;
+ if (referrer_policy_no_default == network::mojom::ReferrerPolicy::kDefault) {
if (RuntimeEnabledFeatures::ReducedReferrerGranularityEnabled()) {
- referrer_policy_no_default = kReferrerPolicyStrictOriginWhenCrossOrigin;
+ referrer_policy_no_default = network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin;
} else {
- referrer_policy_no_default = kReferrerPolicyNoReferrerWhenDowngrade;
+ referrer_policy_no_default =
+ network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade;
}
}
if (referrer == Referrer::NoReferrer())
@@ -114,17 +117,17 @@
return Referrer(Referrer::NoReferrer(), referrer_policy_no_default);
switch (referrer_policy_no_default) {
- case kReferrerPolicyNever:
+ case network::mojom::ReferrerPolicy::kNever:
return Referrer(Referrer::NoReferrer(), referrer_policy_no_default);
- case kReferrerPolicyAlways:
+ case network::mojom::ReferrerPolicy::kAlways:
return Referrer(referrer, referrer_policy_no_default);
- case kReferrerPolicyOrigin: {
+ case network::mojom::ReferrerPolicy::kOrigin: {
String origin = SecurityOrigin::Create(referrer_url)->ToString();
// A security origin is not a canonical URL as it lacks a path. Add /
// to turn it into a canonical URL we can use as referrer.
return Referrer(origin + "/", referrer_policy_no_default);
}
- case kReferrerPolicyOriginWhenCrossOrigin: {
+ case network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin: {
scoped_refptr<const SecurityOrigin> referrer_origin =
SecurityOrigin::Create(referrer_url);
scoped_refptr<const SecurityOrigin> url_origin =
@@ -135,7 +138,7 @@
}
break;
}
- case kReferrerPolicySameOrigin: {
+ case network::mojom::ReferrerPolicy::kSameOrigin: {
scoped_refptr<const SecurityOrigin> referrer_origin =
SecurityOrigin::Create(referrer_url);
scoped_refptr<const SecurityOrigin> url_origin =
@@ -145,14 +148,15 @@
}
return Referrer(referrer, referrer_policy_no_default);
}
- case kReferrerPolicyStrictOrigin: {
+ case network::mojom::ReferrerPolicy::kStrictOrigin: {
String origin = SecurityOrigin::Create(referrer_url)->ToString();
return Referrer(ShouldHideReferrer(url, referrer_url)
? Referrer::NoReferrer()
: origin + "/",
referrer_policy_no_default);
}
- case kReferrerPolicyStrictOriginWhenCrossOrigin: {
+ case network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin: {
scoped_refptr<const SecurityOrigin> referrer_origin =
SecurityOrigin::Create(referrer_url);
scoped_refptr<const SecurityOrigin> url_origin =
@@ -166,9 +170,9 @@
}
break;
}
- case kReferrerPolicyNoReferrerWhenDowngrade:
+ case network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade:
break;
- case kReferrerPolicyDefault:
+ case network::mojom::ReferrerPolicy::kDefault:
NOTREACHED();
break;
}
@@ -283,7 +287,7 @@
bool SecurityPolicy::ReferrerPolicyFromString(
const String& policy,
ReferrerPolicyLegacyKeywordsSupport legacy_keywords_support,
- ReferrerPolicy* result) {
+ network::mojom::ReferrerPolicy* result) {
DCHECK(!policy.IsNull());
bool support_legacy_keywords =
(legacy_keywords_support == kSupportReferrerPolicyLegacyKeywords);
@@ -291,39 +295,40 @@
if (EqualIgnoringASCIICase(policy, "no-referrer") ||
(support_legacy_keywords && (EqualIgnoringASCIICase(policy, "never") ||
EqualIgnoringASCIICase(policy, "none")))) {
- *result = kReferrerPolicyNever;
+ *result = network::mojom::ReferrerPolicy::kNever;
return true;
}
if (EqualIgnoringASCIICase(policy, "unsafe-url") ||
(support_legacy_keywords && EqualIgnoringASCIICase(policy, "always"))) {
- *result = kReferrerPolicyAlways;
+ *result = network::mojom::ReferrerPolicy::kAlways;
return true;
}
if (EqualIgnoringASCIICase(policy, "origin")) {
- *result = kReferrerPolicyOrigin;
+ *result = network::mojom::ReferrerPolicy::kOrigin;
return true;
}
if (EqualIgnoringASCIICase(policy, "origin-when-cross-origin") ||
(support_legacy_keywords &&
EqualIgnoringASCIICase(policy, "origin-when-crossorigin"))) {
- *result = kReferrerPolicyOriginWhenCrossOrigin;
+ *result = network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin;
return true;
}
if (EqualIgnoringASCIICase(policy, "same-origin")) {
- *result = kReferrerPolicySameOrigin;
+ *result = network::mojom::ReferrerPolicy::kSameOrigin;
return true;
}
if (EqualIgnoringASCIICase(policy, "strict-origin")) {
- *result = kReferrerPolicyStrictOrigin;
+ *result = network::mojom::ReferrerPolicy::kStrictOrigin;
return true;
}
if (EqualIgnoringASCIICase(policy, "strict-origin-when-cross-origin")) {
- *result = kReferrerPolicyStrictOriginWhenCrossOrigin;
+ *result = network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin;
return true;
}
if (EqualIgnoringASCIICase(policy, "no-referrer-when-downgrade") ||
(support_legacy_keywords && EqualIgnoringASCIICase(policy, "default"))) {
- *result = kReferrerPolicyNoReferrerWhenDowngrade;
+ *result = network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade;
return true;
}
return false;
@@ -341,13 +346,14 @@
bool SecurityPolicy::ReferrerPolicyFromHeaderValue(
const String& header_value,
ReferrerPolicyLegacyKeywordsSupport legacy_keywords_support,
- ReferrerPolicy* result) {
- ReferrerPolicy referrer_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy* result) {
+ network::mojom::ReferrerPolicy referrer_policy =
+ network::mojom::ReferrerPolicy::kDefault;
Vector<String> tokens;
header_value.Split(',', true, tokens);
for (const auto& token : tokens) {
- ReferrerPolicy current_result;
+ network::mojom::ReferrerPolicy current_result;
auto stripped_token = token.StripWhiteSpace();
if (SecurityPolicy::ReferrerPolicyFromString(token.StripWhiteSpace(),
legacy_keywords_support,
@@ -364,7 +370,7 @@
}
}
- if (referrer_policy == kReferrerPolicyDefault)
+ if (referrer_policy == network::mojom::ReferrerPolicy::kDefault)
return false;
*result = referrer_policy;
@@ -372,23 +378,24 @@
}
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::kAlways,
- kReferrerPolicyAlways);
+ network::mojom::ReferrerPolicy::kAlways);
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::kDefault,
- kReferrerPolicyDefault);
+ network::mojom::ReferrerPolicy::kDefault);
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade,
- kReferrerPolicyNoReferrerWhenDowngrade);
+ network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade);
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::kNever,
- kReferrerPolicyNever);
+ network::mojom::ReferrerPolicy::kNever);
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::kOrigin,
- kReferrerPolicyOrigin);
+ network::mojom::ReferrerPolicy::kOrigin);
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin,
- kReferrerPolicyOriginWhenCrossOrigin);
+ network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin);
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::kSameOrigin,
- kReferrerPolicySameOrigin);
+ network::mojom::ReferrerPolicy::kSameOrigin);
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::kStrictOrigin,
- kReferrerPolicyStrictOrigin);
+ network::mojom::ReferrerPolicy::kStrictOrigin);
STATIC_ASSERT_ENUM(network::mojom::ReferrerPolicy::
kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
- kReferrerPolicyStrictOriginWhenCrossOrigin);
+ network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin);
} // namespace blink
diff --git a/third_party/blink/renderer/platform/weborigin/security_policy.h b/third_party/blink/renderer/platform/weborigin/security_policy.h
index 397939f..a3ebc1e8 100644
--- a/third_party/blink/renderer/platform/weborigin/security_policy.h
+++ b/third_party/blink/renderer/platform/weborigin/security_policy.h
@@ -30,9 +30,9 @@
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_WEBORIGIN_SECURITY_POLICY_H_
#include "services/network/public/mojom/cors_origin_pattern.mojom-shared.h"
+#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/weborigin/referrer.h"
-#include "third_party/blink/renderer/platform/weborigin/referrer_policy.h"
#include "third_party/blink/renderer/platform/wtf/allocator.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
@@ -62,7 +62,7 @@
// Returns the referrer modified according to the referrer policy for a
// navigation to a given URL. If the referrer returned is empty, the
// referrer header should be omitted.
- static Referrer GenerateReferrer(ReferrerPolicy,
+ static Referrer GenerateReferrer(network::mojom::ReferrerPolicy,
const KURL&,
const String& referrer);
@@ -93,11 +93,12 @@
static bool ReferrerPolicyFromString(const String& policy,
ReferrerPolicyLegacyKeywordsSupport,
- ReferrerPolicy* result);
+ network::mojom::ReferrerPolicy* result);
- static bool ReferrerPolicyFromHeaderValue(const String& header_value,
- ReferrerPolicyLegacyKeywordsSupport,
- ReferrerPolicy* result);
+ static bool ReferrerPolicyFromHeaderValue(
+ const String& header_value,
+ ReferrerPolicyLegacyKeywordsSupport,
+ network::mojom::ReferrerPolicy* result);
};
} // namespace blink
diff --git a/third_party/blink/renderer/platform/weborigin/security_policy_test.cc b/third_party/blink/renderer/platform/weborigin/security_policy_test.cc
index a8bd312..ec1e5212 100644
--- a/third_party/blink/renderer/platform/weborigin/security_policy_test.cc
+++ b/third_party/blink/renderer/platform/weborigin/security_policy_test.cc
@@ -41,7 +41,8 @@
TEST(SecurityPolicyTest, EmptyReferrerForUnauthorizedScheme) {
const KURL example_http_url = KURL("http://example.com/");
EXPECT_TRUE(String() == SecurityPolicy::GenerateReferrer(
- kReferrerPolicyAlways, example_http_url,
+ network::mojom::ReferrerPolicy::kAlways,
+ example_http_url,
String::FromUTF8("chrome://somepage/"))
.referrer);
}
@@ -52,11 +53,13 @@
const String foobar_scheme = String::FromUTF8("foobar");
EXPECT_EQ(String(), SecurityPolicy::GenerateReferrer(
- kReferrerPolicyAlways, example_http_url, foobar_url)
+ network::mojom::ReferrerPolicy::kAlways,
+ example_http_url, foobar_url)
.referrer);
SchemeRegistry::RegisterURLSchemeAsAllowedForReferrer(foobar_scheme);
EXPECT_EQ(foobar_url, SecurityPolicy::GenerateReferrer(
- kReferrerPolicyAlways, example_http_url, foobar_url)
+ network::mojom::ReferrerPolicy::kAlways,
+ example_http_url, foobar_url)
.referrer);
SchemeRegistry::RemoveURLSchemeAsAllowedForReferrer(foobar_scheme);
}
@@ -75,7 +78,7 @@
TEST(SecurityPolicyTest, GenerateReferrer) {
struct TestCase {
- ReferrerPolicy policy;
+ network::mojom::ReferrerPolicy policy;
const char* referrer;
const char* destination;
const char* expected;
@@ -95,97 +98,140 @@
TestCase inputs[] = {
// HTTP -> HTTP: Same Origin
- {kReferrerPolicyAlways, kInsecureURLA, kInsecureURLA, kInsecureURLA},
- {kReferrerPolicyDefault, kInsecureURLA, kInsecureURLA, kInsecureURLA},
- {kReferrerPolicyNoReferrerWhenDowngrade, kInsecureURLA, kInsecureURLA,
+ {network::mojom::ReferrerPolicy::kAlways, kInsecureURLA, kInsecureURLA,
kInsecureURLA},
- {kReferrerPolicyNever, kInsecureURLA, kInsecureURLA, nullptr},
- {kReferrerPolicyOrigin, kInsecureURLA, kInsecureURLA, kInsecureOriginA},
- {kReferrerPolicyOriginWhenCrossOrigin, kInsecureURLA, kInsecureURLA,
+ {network::mojom::ReferrerPolicy::kDefault, kInsecureURLA, kInsecureURLA,
kInsecureURLA},
- {kReferrerPolicySameOrigin, kInsecureURLA, kInsecureURLA, kInsecureURLA},
- {kReferrerPolicyStrictOrigin, kInsecureURLA, kInsecureURLA,
+ {network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade, kInsecureURLA,
+ kInsecureURLA, kInsecureURLA},
+ {network::mojom::ReferrerPolicy::kNever, kInsecureURLA, kInsecureURLA,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kOrigin, kInsecureURLA, kInsecureURLA,
kInsecureOriginA},
- {kReferrerPolicyStrictOriginWhenCrossOrigin, kInsecureURLA, kInsecureURLA,
- kInsecureURLA},
+ {network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, kInsecureURLA,
+ kInsecureURLA, kInsecureURLA},
+ {network::mojom::ReferrerPolicy::kSameOrigin, kInsecureURLA,
+ kInsecureURLA, kInsecureURLA},
+ {network::mojom::ReferrerPolicy::kStrictOrigin, kInsecureURLA,
+ kInsecureURLA, kInsecureOriginA},
+ {network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ kInsecureURLA, kInsecureURLA, kInsecureURLA},
// HTTP -> HTTP: Cross Origin
- {kReferrerPolicyAlways, kInsecureURLA, kInsecureURLB, kInsecureURLA},
- {kReferrerPolicyDefault, kInsecureURLA, kInsecureURLB, kInsecureURLA},
- {kReferrerPolicyNoReferrerWhenDowngrade, kInsecureURLA, kInsecureURLB,
+ {network::mojom::ReferrerPolicy::kAlways, kInsecureURLA, kInsecureURLB,
kInsecureURLA},
- {kReferrerPolicyNever, kInsecureURLA, kInsecureURLB, nullptr},
- {kReferrerPolicyOrigin, kInsecureURLA, kInsecureURLB, kInsecureOriginA},
- {kReferrerPolicyOriginWhenCrossOrigin, kInsecureURLA, kInsecureURLB,
+ {network::mojom::ReferrerPolicy::kDefault, kInsecureURLA, kInsecureURLB,
+ kInsecureURLA},
+ {network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade, kInsecureURLA,
+ kInsecureURLB, kInsecureURLA},
+ {network::mojom::ReferrerPolicy::kNever, kInsecureURLA, kInsecureURLB,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kOrigin, kInsecureURLA, kInsecureURLB,
kInsecureOriginA},
- {kReferrerPolicySameOrigin, kInsecureURLA, kInsecureURLB, nullptr},
- {kReferrerPolicyStrictOrigin, kInsecureURLA, kInsecureURLB,
- kInsecureOriginA},
- {kReferrerPolicyStrictOriginWhenCrossOrigin, kInsecureURLA, kInsecureURLB,
- kInsecureOriginA},
+ {network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, kInsecureURLA,
+ kInsecureURLB, kInsecureOriginA},
+ {network::mojom::ReferrerPolicy::kSameOrigin, kInsecureURLA,
+ kInsecureURLB, nullptr},
+ {network::mojom::ReferrerPolicy::kStrictOrigin, kInsecureURLA,
+ kInsecureURLB, kInsecureOriginA},
+ {network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ kInsecureURLA, kInsecureURLB, kInsecureOriginA},
// HTTPS -> HTTPS: Same Origin
- {kReferrerPolicyAlways, kSecureURLA, kSecureURLA, kSecureURLA},
- {kReferrerPolicyDefault, kSecureURLA, kSecureURLA, kSecureURLA},
- {kReferrerPolicyNoReferrerWhenDowngrade, kSecureURLA, kSecureURLA,
+ {network::mojom::ReferrerPolicy::kAlways, kSecureURLA, kSecureURLA,
kSecureURLA},
- {kReferrerPolicyNever, kSecureURLA, kSecureURLA, nullptr},
- {kReferrerPolicyOrigin, kSecureURLA, kSecureURLA, kSecureOriginA},
- {kReferrerPolicyOriginWhenCrossOrigin, kSecureURLA, kSecureURLA,
+ {network::mojom::ReferrerPolicy::kDefault, kSecureURLA, kSecureURLA,
kSecureURLA},
- {kReferrerPolicySameOrigin, kSecureURLA, kSecureURLA, kSecureURLA},
- {kReferrerPolicyStrictOrigin, kSecureURLA, kSecureURLA, kSecureOriginA},
- {kReferrerPolicyStrictOriginWhenCrossOrigin, kSecureURLA, kSecureURLA,
+ {network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade, kSecureURLA,
+ kSecureURLA, kSecureURLA},
+ {network::mojom::ReferrerPolicy::kNever, kSecureURLA, kSecureURLA,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kOrigin, kSecureURLA, kSecureURLA,
+ kSecureOriginA},
+ {network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, kSecureURLA,
+ kSecureURLA, kSecureURLA},
+ {network::mojom::ReferrerPolicy::kSameOrigin, kSecureURLA, kSecureURLA,
kSecureURLA},
+ {network::mojom::ReferrerPolicy::kStrictOrigin, kSecureURLA, kSecureURLA,
+ kSecureOriginA},
+ {network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ kSecureURLA, kSecureURLA, kSecureURLA},
// HTTPS -> HTTPS: Cross Origin
- {kReferrerPolicyAlways, kSecureURLA, kSecureURLB, kSecureURLA},
- {kReferrerPolicyDefault, kSecureURLA, kSecureURLB, kSecureURLA},
- {kReferrerPolicyNoReferrerWhenDowngrade, kSecureURLA, kSecureURLB,
+ {network::mojom::ReferrerPolicy::kAlways, kSecureURLA, kSecureURLB,
kSecureURLA},
- {kReferrerPolicyNever, kSecureURLA, kSecureURLB, nullptr},
- {kReferrerPolicyOrigin, kSecureURLA, kSecureURLB, kSecureOriginA},
- {kReferrerPolicyOriginWhenCrossOrigin, kSecureURLA, kSecureURLB,
+ {network::mojom::ReferrerPolicy::kDefault, kSecureURLA, kSecureURLB,
+ kSecureURLA},
+ {network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade, kSecureURLA,
+ kSecureURLB, kSecureURLA},
+ {network::mojom::ReferrerPolicy::kNever, kSecureURLA, kSecureURLB,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kOrigin, kSecureURLA, kSecureURLB,
kSecureOriginA},
- {kReferrerPolicySameOrigin, kSecureURLA, kSecureURLB, nullptr},
- {kReferrerPolicyStrictOrigin, kSecureURLA, kSecureURLB, kSecureOriginA},
- {kReferrerPolicyStrictOriginWhenCrossOrigin, kSecureURLA, kSecureURLB,
+ {network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, kSecureURLA,
+ kSecureURLB, kSecureOriginA},
+ {network::mojom::ReferrerPolicy::kSameOrigin, kSecureURLA, kSecureURLB,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kStrictOrigin, kSecureURLA, kSecureURLB,
kSecureOriginA},
+ {network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ kSecureURLA, kSecureURLB, kSecureOriginA},
// HTTP -> HTTPS
- {kReferrerPolicyAlways, kInsecureURLA, kSecureURLB, kInsecureURLA},
- {kReferrerPolicyDefault, kInsecureURLA, kSecureURLB, kInsecureURLA},
- {kReferrerPolicyNoReferrerWhenDowngrade, kInsecureURLA, kSecureURLB,
+ {network::mojom::ReferrerPolicy::kAlways, kInsecureURLA, kSecureURLB,
kInsecureURLA},
- {kReferrerPolicyNever, kInsecureURLA, kSecureURLB, nullptr},
- {kReferrerPolicyOrigin, kInsecureURLA, kSecureURLB, kInsecureOriginA},
- {kReferrerPolicyOriginWhenCrossOrigin, kInsecureURLA, kSecureURLB,
+ {network::mojom::ReferrerPolicy::kDefault, kInsecureURLA, kSecureURLB,
+ kInsecureURLA},
+ {network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade, kInsecureURLA,
+ kSecureURLB, kInsecureURLA},
+ {network::mojom::ReferrerPolicy::kNever, kInsecureURLA, kSecureURLB,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kOrigin, kInsecureURLA, kSecureURLB,
kInsecureOriginA},
- {kReferrerPolicySameOrigin, kInsecureURLA, kSecureURLB, nullptr},
- {kReferrerPolicyStrictOrigin, kInsecureURLA, kSecureURLB,
- kInsecureOriginA},
- {kReferrerPolicyStrictOriginWhenCrossOrigin, kInsecureURLA, kSecureURLB,
- kInsecureOriginA},
+ {network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, kInsecureURLA,
+ kSecureURLB, kInsecureOriginA},
+ {network::mojom::ReferrerPolicy::kSameOrigin, kInsecureURLA, kSecureURLB,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kStrictOrigin, kInsecureURLA,
+ kSecureURLB, kInsecureOriginA},
+ {network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ kInsecureURLA, kSecureURLB, kInsecureOriginA},
// HTTPS -> HTTP
- {kReferrerPolicyAlways, kSecureURLA, kInsecureURLB, kSecureURLA},
- {kReferrerPolicyDefault, kSecureURLA, kInsecureURLB, nullptr},
- {kReferrerPolicyNoReferrerWhenDowngrade, kSecureURLA, kInsecureURLB,
+ {network::mojom::ReferrerPolicy::kAlways, kSecureURLA, kInsecureURLB,
+ kSecureURLA},
+ {network::mojom::ReferrerPolicy::kDefault, kSecureURLA, kInsecureURLB,
nullptr},
- {kReferrerPolicyNever, kSecureURLA, kInsecureURLB, nullptr},
- {kReferrerPolicyOrigin, kSecureURLA, kInsecureURLB, kSecureOriginA},
- {kReferrerPolicyOriginWhenCrossOrigin, kSecureURLA, kSecureURLB,
+ {network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade, kSecureURLA,
+ kInsecureURLB, nullptr},
+ {network::mojom::ReferrerPolicy::kNever, kSecureURLA, kInsecureURLB,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kOrigin, kSecureURLA, kInsecureURLB,
kSecureOriginA},
- {kReferrerPolicySameOrigin, kSecureURLA, kInsecureURLB, nullptr},
- {kReferrerPolicyStrictOrigin, kSecureURLA, kInsecureURLB, nullptr},
- {kReferrerPolicyStrictOriginWhenCrossOrigin, kSecureURLA, kInsecureURLB,
+ {network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin, kSecureURLA,
+ kSecureURLB, kSecureOriginA},
+ {network::mojom::ReferrerPolicy::kSameOrigin, kSecureURLA, kInsecureURLB,
nullptr},
+ {network::mojom::ReferrerPolicy::kStrictOrigin, kSecureURLA,
+ kInsecureURLB, nullptr},
+ {network::mojom::ReferrerPolicy::
+ kNoReferrerWhenDowngradeOriginWhenCrossOrigin,
+ kSecureURLA, kInsecureURLB, nullptr},
// blob and filesystem URL handling
- {kReferrerPolicyAlways, kInsecureURLA, kBlobURL, nullptr},
- {kReferrerPolicyAlways, kBlobURL, kInsecureURLA, nullptr},
- {kReferrerPolicyAlways, kInsecureURLA, kFilesystemURL, nullptr},
- {kReferrerPolicyAlways, kFilesystemURL, kInsecureURLA, nullptr},
+ {network::mojom::ReferrerPolicy::kAlways, kInsecureURLA, kBlobURL,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kAlways, kBlobURL, kInsecureURLA,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kAlways, kInsecureURLA, kFilesystemURL,
+ nullptr},
+ {network::mojom::ReferrerPolicy::kAlways, kFilesystemURL, kInsecureURLA,
+ nullptr},
};
for (TestCase test : inputs) {
@@ -203,8 +249,8 @@
<< "' should have been empty: was '" << result.referrer.Utf8().data()
<< "'.";
}
- EXPECT_EQ(test.policy == kReferrerPolicyDefault
- ? kReferrerPolicyNoReferrerWhenDowngrade
+ EXPECT_EQ(test.policy == network::mojom::ReferrerPolicy::kDefault
+ ? network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade
: test.policy,
result.referrer_policy);
}
@@ -215,28 +261,29 @@
const char* header;
bool is_valid;
ReferrerPolicyLegacyKeywordsSupport keywords;
- ReferrerPolicy expected_policy;
+ network::mojom::ReferrerPolicy expected_policy;
};
TestCase inputs[] = {
{"origin", true, kDoNotSupportReferrerPolicyLegacyKeywords,
- kReferrerPolicyOrigin},
+ network::mojom::ReferrerPolicy::kOrigin},
{"none", true, kSupportReferrerPolicyLegacyKeywords,
- kReferrerPolicyNever},
+ network::mojom::ReferrerPolicy::kNever},
{"none", false, kDoNotSupportReferrerPolicyLegacyKeywords,
- kReferrerPolicyDefault},
+ network::mojom::ReferrerPolicy::kDefault},
{"foo", false, kDoNotSupportReferrerPolicyLegacyKeywords,
- kReferrerPolicyDefault},
+ network::mojom::ReferrerPolicy::kDefault},
{"origin, foo", true, kDoNotSupportReferrerPolicyLegacyKeywords,
- kReferrerPolicyOrigin},
+ network::mojom::ReferrerPolicy::kOrigin},
{"origin, foo-bar", true, kDoNotSupportReferrerPolicyLegacyKeywords,
- kReferrerPolicyOrigin},
+ network::mojom::ReferrerPolicy::kOrigin},
{"origin, foo bar", false, kDoNotSupportReferrerPolicyLegacyKeywords,
- kReferrerPolicyDefault},
+ network::mojom::ReferrerPolicy::kDefault},
};
for (TestCase test : inputs) {
- ReferrerPolicy actual_policy = kReferrerPolicyDefault;
+ network::mojom::ReferrerPolicy actual_policy =
+ network::mojom::ReferrerPolicy::kDefault;
EXPECT_EQ(test.is_valid, SecurityPolicy::ReferrerPolicyFromHeaderValue(
test.header, test.keywords, &actual_policy));
if (test.is_valid)