blob: b5e48fcc02311a3898256cf4039ca31ea5972478 [file] [log] [blame]
<!DOCTYPE html>
<!-- It's important these blocking script fetches precede the meta tag, in
order not to affect the use counters being measured. -->
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="/gen/third_party/blink/public/mojom/web_feature/web_feature.mojom.js"></script>
<head>
<meta name=referrer content="origin, origin" />
</head>
<script>
'use strict';
promise_test(async t => {
try {
await fetch('/resources/dummy.html', {
referrerPolicy: 'origin'
});
assert_false(internals.isUseCounted(document, blink.mojom.WebFeature.kHTMLMetaElementReferrerPolicyMultipleTokensAffectingRequest), "Counter shouldn't be populated");
} finally {
internals.clearUseCounter(document, blink.mojom.WebFeature.kHTMLMetaElementReferrerPolicyMultipleTokensAffectingRequest);
}
}, "<meta name=referrer> with multiple tokens doesn't affect the referrers of requests with explicitly set policies.");
promise_test(async t => {
try {
await fetch('/resources/dummy.html');
assert_true(internals.isUseCounted(document, blink.mojom.WebFeature.kHTMLMetaElementReferrerPolicyMultipleTokensAffectingRequest), "Counter should be populated");
} finally {
internals.clearUseCounter(document, blink.mojom.WebFeature.kHTMLMetaElementReferrerPolicyMultipleTokensAffectingRequest);
}
}, "<meta name=referrer> with multiple tokens does affect the referrers of this request using its document's policy.");
</script>