mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	- MacOS ARM64 Official builds are currently failing due to https://issues.chromium.org/issues/326898585
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| diff --git net/url_request/url_request_job.cc net/url_request/url_request_job.cc
 | |
| index e221b9dce73ec..ab566481896ba 100644
 | |
| --- net/url_request/url_request_job.cc
 | |
| +++ net/url_request/url_request_job.cc
 | |
| @@ -34,6 +34,7 @@
 | |
|  #include "net/ssl/ssl_private_key.h"
 | |
|  #include "net/url_request/redirect_util.h"
 | |
|  #include "net/url_request/url_request_context.h"
 | |
| +#include "url/url_util.h"
 | |
|  
 | |
|  namespace net {
 | |
|  
 | |
| @@ -46,6 +47,16 @@ base::Value::Dict SourceStreamSetParams(SourceStream* source_stream) {
 | |
|    return event_params;
 | |
|  }
 | |
|  
 | |
| +bool IsSecureScheme(const GURL& url) {
 | |
| +  if (!url.has_scheme()) {
 | |
| +    return false;
 | |
| +  }
 | |
| +  if (GURL::SchemeIsCryptographic(url.scheme_piece())) {
 | |
| +    return true;
 | |
| +  }
 | |
| +  return base::Contains(url::GetSecureSchemes(), url.scheme_piece());
 | |
| +}
 | |
| +
 | |
|  }  // namespace
 | |
|  
 | |
|  // Each SourceStreams own the previous SourceStream in the chain, but the
 | |
| @@ -334,8 +345,7 @@ GURL URLRequestJob::ComputeReferrerForPolicy(
 | |
|    }
 | |
|  
 | |
|    bool secure_referrer_but_insecure_destination =
 | |
| -      original_referrer.SchemeIsCryptographic() &&
 | |
| -      !destination.SchemeIsCryptographic();
 | |
| +      IsSecureScheme(original_referrer) && !IsSecureScheme(destination);
 | |
|  
 | |
|    switch (policy) {
 | |
|      case ReferrerPolicy::CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE:
 |