mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-11-03 23:00:58 +00:00 
			
		
		
		
	While Origin is defined in the HTML spec - this leaves us with quite an awkward relationship as the URL spec makes use of AO's from what is defined in the HTML spec. To simplify this factoring, relocate Origin into LibURL.
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			926 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			926 B
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (c) 2024, Andrew Kaster <akaster@serenityos.org>
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier: BSD-2-Clause
 | 
						|
 */
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include <AK/String.h>
 | 
						|
#include <LibIPC/Forward.h>
 | 
						|
#include <LibURL/Origin.h>
 | 
						|
#include <LibURL/URL.h>
 | 
						|
#include <LibWeb/HTML/PolicyContainers.h>
 | 
						|
 | 
						|
namespace Web::HTML {
 | 
						|
 | 
						|
enum class CanUseCrossOriginIsolatedAPIs {
 | 
						|
    No,
 | 
						|
    Yes,
 | 
						|
};
 | 
						|
 | 
						|
struct SerializedEnvironmentSettingsObject {
 | 
						|
    String id;
 | 
						|
    URL::URL creation_url;
 | 
						|
    URL::URL top_level_creation_url;
 | 
						|
    URL::Origin top_level_origin;
 | 
						|
 | 
						|
    String api_url_character_encoding;
 | 
						|
    URL::URL api_base_url;
 | 
						|
    URL::Origin origin;
 | 
						|
    PolicyContainer policy_container;
 | 
						|
    CanUseCrossOriginIsolatedAPIs cross_origin_isolated_capability;
 | 
						|
};
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
namespace IPC {
 | 
						|
 | 
						|
template<>
 | 
						|
ErrorOr<void> encode(Encoder&, Web::HTML::SerializedEnvironmentSettingsObject const&);
 | 
						|
 | 
						|
template<>
 | 
						|
ErrorOr<Web::HTML::SerializedEnvironmentSettingsObject> decode(Decoder&);
 | 
						|
 | 
						|
}
 |