WebItemProviderPasteboard.h [plain text]
#import <WebCore/AbstractPasteboard.h>
#if TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000
struct CGSize;
typedef NS_ENUM(NSInteger, WebPreferredPresentationStyle) {
WebPreferredPresentationStyleUnspecified,
WebPreferredPresentationStyleInline,
WebPreferredPresentationStyleAttachment
};
NS_ASSUME_NONNULL_BEGIN
@interface NSItemProvider (WebCoreExtras)
@property (nonatomic, readonly) BOOL web_containsFileURLAndFileUploadContent;
@end
@protocol WebItemProviderRegistrar <NSObject>
- (void)registerItemProvider:(NSItemProvider *)itemProvider;
@optional
@property (nonatomic, readonly) id <NSItemProviderWriting> representingObjectForClient;
@property (nonatomic, readonly) NSString *typeIdentifierForClient;
@property (nonatomic, readonly) NSData *dataForClient;
@end
typedef void(^WebItemProviderFileCallback)(NSURL * _Nullable, NSError * _Nullable);
WEBCORE_EXPORT @interface WebItemProviderRegistrationInfoList : NSObject
- (void)addRepresentingObject:(id <NSItemProviderWriting>)object;
- (void)addData:(NSData *)data forType:(NSString *)typeIdentifier;
- (void)addPromisedType:(NSString *)typeIdentifier fileCallback:(void(^)(WebItemProviderFileCallback))callback;
@property (nonatomic) CGSize preferredPresentationSize;
@property (nonatomic, copy) NSString *suggestedName;
@property (nonatomic, readonly, nullable) __kindof NSItemProvider *itemProvider;
@property (nonatomic) WebPreferredPresentationStyle preferredPresentationStyle;
@property (nonatomic, copy) NSData *teamData;
- (NSUInteger)numberOfItems;
- (nullable id <WebItemProviderRegistrar>)itemAtIndex:(NSUInteger)index;
- (void)enumerateItems:(void(^)(id <WebItemProviderRegistrar> item, NSUInteger index))block;
@end
typedef void (^WebItemProviderFileLoadBlock)(NSArray<NSURL *> *);
WEBCORE_EXPORT @interface WebItemProviderPasteboard : NSObject<AbstractPasteboard>
+ (instancetype)sharedInstance;
@property (copy, nonatomic, nullable) NSArray<__kindof NSItemProvider *> *itemProviders;
@property (readonly, nonatomic) NSInteger numberOfItems;
@property (readonly, nonatomic) NSInteger changeCount;
@property (readonly, nonatomic) NSArray<NSURL *> *allDroppedFileURLs;
@property (readonly, nonatomic) BOOL hasPendingOperation;
- (void)incrementPendingOperationCount;
- (void)decrementPendingOperationCount;
- (void)enumerateItemProvidersWithBlock:(void (^)(__kindof NSItemProvider *itemProvider, NSUInteger index, BOOL *stop))block;
- (void)doAfterLoadingProvidedContentIntoFileURLs:(WebItemProviderFileLoadBlock)action;
- (void)doAfterLoadingProvidedContentIntoFileURLs:(WebItemProviderFileLoadBlock)action synchronousTimeout:(NSTimeInterval)synchronousTimeout;
@end
NS_ASSUME_NONNULL_END
#endif // TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000