2020-07-22 19:29:38 -07:00
|
|
|
//
|
|
|
|
|
// SBRProcessBundleBridge.h
|
|
|
|
|
// SBrowser
|
|
|
|
|
//
|
|
|
|
|
// Created by James Magahern on 7/22/20.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
|
#import <WebKit/WebKit.h>
|
|
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
|
|
|
|
@protocol SBRResourceOriginPolicyDataSource <NSObject>
|
|
|
|
|
|
|
|
|
|
/// Returns a list of origins (e.g., "buzzert.net") for which we are allowed to load script resources from
|
|
|
|
|
- (NSSet<NSString *> *)allowedOriginsForScriptResources;
|
|
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
@class SBRProcessBundleBridge;
|
|
|
|
|
@protocol SBRProcessBundleBridgeDelegate <NSObject>
|
2020-07-29 17:46:53 -07:00
|
|
|
- (void)webProcess:(SBRProcessBundleBridge *)bridge didAllowScriptResourceFromOrigin:(NSString *)origin;
|
2020-07-22 19:29:38 -07:00
|
|
|
- (void)webProcess:(SBRProcessBundleBridge *)bridge didBlockScriptResourceFromOrigin:(NSString *)origin;
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
@interface SBRProcessBundleBridge : NSObject
|
|
|
|
|
|
|
|
|
|
@property (nonatomic, readonly) WKWebView *webView;
|
|
|
|
|
|
|
|
|
|
@property (nonatomic, weak) id<SBRProcessBundleBridgeDelegate> delegate;
|
2020-07-29 17:46:53 -07:00
|
|
|
@property (nonatomic, strong) id<SBRResourceOriginPolicyDataSource> policyDataSource;
|
|
|
|
|
@property (nonatomic, assign) BOOL allowAllScripts; // default is NO
|
2020-07-29 18:17:22 -07:00
|
|
|
@property (nonatomic, assign) BOOL darkModeEnabled;
|
2020-07-22 19:29:38 -07:00
|
|
|
|
2020-09-22 12:30:09 -07:00
|
|
|
@property (nonatomic, readonly) BOOL webContentProcessConnected;
|
|
|
|
|
|
2020-07-22 19:29:38 -07:00
|
|
|
- (void)policyDataSourceDidChange;
|
2020-07-30 23:54:20 -07:00
|
|
|
- (void)tearDown;
|
2020-07-22 19:29:38 -07:00
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|