Files
Attractor/App/Web Process Bundle Bridge/SBRScriptPolicy.h

48 lines
1.5 KiB
C
Raw Normal View History

2021-10-21 11:05:40 -07:00
//
// SBRScriptPolicy.h
// App
//
// Created by James Magahern on 10/15/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class UIImage;
typedef NS_ENUM(NSInteger, SBRScriptOriginPolicyType) {
SBRScriptOriginPolicyTypeAlpha,
SBRScriptOriginPolicyTypeBravo,
SBRScriptOriginPolicyTypeCharlie,
SBRScriptOriginPolicyTypeDelta,
SBRScriptOriginPolicyTypeEcho,
} NS_SWIFT_NAME(ScriptPolicy.PolicyType);
NS_SWIFT_NAME(ScriptPolicy)
@interface SBRScriptPolicy : NSObject <NSSecureCoding>
@property (nonatomic, copy) NSString *origin;
@property (nonatomic, readwrite) SBRScriptOriginPolicyType policyType;
+ (NSString *)titleForPolicyType:(SBRScriptOriginPolicyType)policyType
NS_SWIFT_NAME(title(forPolicyType:));
+ (NSString *)localizedDescriptionForPolicyType:(SBRScriptOriginPolicyType)policyType
NS_SWIFT_NAME(localizedDescription(forPolicyType:));
+ (UIImage *)iconRepresentationForPolicyType:(SBRScriptOriginPolicyType)policyType withSize:(CGSize)size
NS_SWIFT_NAME(iconRepresentation(forPolicyType:size:));
- (instancetype)initWithSecurityOrigin:(NSString *)origin policyType:(SBRScriptOriginPolicyType)policyType;
2021-10-21 13:24:58 -07:00
/// Returns YES if policy type allows embedded (<script>) JavaScript for the given origin.
- (BOOL)allowsEmbeddedJavaScript;
/// Returns YES if policy allows loading external JavaScript resource with the security origin `resourceOrigin`.
- (BOOL)allowsExternalJavaScriptResourceOrigin:(NSString *)resourceOrigin;
2021-10-21 11:05:40 -07:00
- (instancetype)init NS_UNAVAILABLE;
@end
NS_ASSUME_NONNULL_END