// Copyright © 2016 The CefSharp Authors. All rights reserved. // // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. namespace CefSharp { /// /// Policy for how the Referrer HTTP header value will be sent during navigation. /// If the `--no-referrers` command-line flag is specified then the policy value /// will be ignored and the Referrer value will never be sent. /// Must be kept synchronized with net::URLRequest::ReferrerPolicy from Chromium. /// public enum ReferrerPolicy { /// /// Clear the referrer header if the header value is HTTPS but the request /// destination is HTTP. This is the default behavior. /// ClearReferrerOnTransitionFromSecureToInsecure, /// /// Default which is equivilent to /// Default = ClearReferrerOnTransitionFromSecureToInsecure, /// /// A slight variant on : /// If the request destination is HTTP, an HTTPS referrer will be cleared. If /// the request's destination is cross-origin with the referrer (but does not /// downgrade), the referrer's granularity will be stripped down to an origin /// rather than a full URL. Same-origin requests will send the full referrer. /// ReduceReferrerGranularityOnTransitionCrossOrigin, /// /// Strip the referrer down to an origin when the origin of the referrer is /// different from the destination's origin. /// OriginOnlyOnTransitionCrossOrigin, /// /// Never change the referrer. /// NeverClearReferrer, /// /// Strip the referrer down to the origin regardless of the redirect location. /// Origin, /// /// Clear the referrer when the request's referrer is cross-origin with the /// request's destination. /// ClearReferrerOnTransitionCrossOrigin, /// /// Strip the referrer down to the origin, but clear it entirely if the /// referrer value is HTTPS and the destination is HTTP. /// OriginClearOnTransitionFromSecureToInsecure, /// /// Always clear the referrer regardless of the request destination. /// NoReferrer, /// /// Always the last value in this enumeration. /// LastValue = NoReferrer, } }