mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 18:22:45 +00:00 
			
		
		
		
	 d97b09693e
			
		
	
	
		d97b09693e
		
	
	
	
	
		
			
			Instead of having a nested enum within a struct, use the macro AK_ENUM_BITWISE_OPERATORS to add all the convienent has_flag free functions and such for ease of use.
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <AK/EnumBits.h>
 | |
| #include <AK/Types.h>
 | |
| 
 | |
| namespace Web::HTML {
 | |
| 
 | |
| // https://html.spec.whatwg.org/multipage/origin.html#sandboxing-flag-set
 | |
| enum class SandboxingFlagSet {
 | |
|     SandboxedNavigation = 1u << 0u,
 | |
|     SandboxedAuxiliaryNavigation = 1u << 1u,
 | |
|     SandboxedTopLevelNavigationWithoutUserActivation = 1u << 2u,
 | |
|     SandboxedTopLevelNavigationWithUserActivation = 1u << 3u,
 | |
|     SandboxedPlugins = 1u << 4u,
 | |
|     SandboxedOrigin = 1u << 5u,
 | |
|     SandboxedForms = 1u << 6u,
 | |
|     SandboxedPointerLock = 1u << 7u,
 | |
|     SandboxedScripts = 1u << 8u,
 | |
|     SandboxedAutomaticFeatures = 1u << 9u,
 | |
|     SandboxedDocumentDomain = 1u << 10u,
 | |
|     SandboxPropagatesToAuxiliaryBrowsingContexts = 1u << 11u,
 | |
|     SandboxedModals = 1u << 12u,
 | |
|     SandboxedOrientationLock = 1u << 13u,
 | |
|     SandboxedPresentation = 1u << 14u,
 | |
|     SandboxedDownloads = 1u << 15u,
 | |
|     SandboxedCustomProtocols = 1u << 16u,
 | |
| };
 | |
| 
 | |
| AK_ENUM_BITWISE_OPERATORS(SandboxingFlagSet);
 | |
| inline bool is_empty(SandboxingFlagSet s) { return (to_underlying(s) & 0x1FFU) == 0; }
 | |
| 
 | |
| }
 |