Skip to content

BrowserEngineKit iOS xcode16.2 b2

Rolf Bjarne Kvinge edited this page Nov 29, 2024 · 2 revisions

#BrowserEngineKit.framework https://github.com/xamarin/xamarin-macios/pull/21719

diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEAccessibility.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEAccessibility.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEAccessibility.h	2024-09-29 03:38:54
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEAccessibility.h	2024-10-26 00:46:51
@@ -114,6 +114,22 @@
  */
 - (void)browserAccessibilityDeleteTextAtCursor:(NSInteger)numberOfCharacters NS_SWIFT_NAME(browserAccessibilityDeleteTextAtCursor(numberOfCharacters:)) BROWSERENGINE_ACCESSIBILITY_AVAILABILITY;
 
+/**
+ @abstract The text cursor position of the soft line end should be returned, starting from the current selection (or beginning if no selection).
+ */
+- (NSInteger)accessibilityLineEndPositionFromCurrentSelection BROWSERENGINE_ACCESSIBILITY_MARKER_AVAILABILITY;
+
+/**
+ @abstract The text cursor position of the soft line start should be returned, starting from the current selection (or beginning if no selection).
+ */
+- (NSInteger)accessibilityLineStartPositionFromCurrentSelection BROWSERENGINE_ACCESSIBILITY_MARKER_AVAILABILITY;
+
+/**
+ @abstract The text cursor range of the soft line should be returned depending on the position.
+ @param position A text cursor position within a line of text.
+ */
+- (NSRange)accessibilityLineRangeForPosition:(NSInteger)position BROWSERENGINE_ACCESSIBILITY_MARKER_AVAILABILITY;
+
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEAccessibilityTextMarker.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEAccessibilityTextMarker.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEAccessibilityTextMarker.h	1969-12-31 19:00:00
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEAccessibilityTextMarker.h	2024-10-26 05:11:34
@@ -0,0 +1,109 @@
+//
+//  BEAccessibilityTextMarker.h
+//  BrowserEngineKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <BrowserEngineKit/BEMacros.h>
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ @abstract Subclass BEAccessibilityTextMarker to encode information about text-based positioning information in browser engines within document models.
+ */
+BROWSERENGINE_EXTERN BROWSERENGINE_ACCESSIBILITY_MARKER_AVAILABILITY
+@interface BEAccessibilityTextMarker : NSObject<NSCopying, NSSecureCoding>
+@end
+
+/**
+ @abstract BEAccessibilityTextMarkerRange holds the start and end markers for a text range.
+ */
+BROWSERENGINE_EXTERN BROWSERENGINE_ACCESSIBILITY_MARKER_AVAILABILITY
+NS_SWIFT_NAME(BEAccessibilityTextMarker.Range)
+@interface BEAccessibilityTextMarkerRange : NSObject<NSCopying, NSSecureCoding>
+@property (nonatomic, strong) BEAccessibilityTextMarker *startMarker;
+@property (nonatomic, strong) BEAccessibilityTextMarker *endMarker;
+@end
+
+/**
+ @abstract Implement BEAccessibilityTextMarkerSupport to support assistive technology features that rely on granular text offsets.
+ */
+BROWSERENGINE_EXPORT BROWSERENGINE_ACCESSIBILITY_MARKER_AVAILABILITY
+@protocol BEAccessibilityTextMarkerSupport <NSObject>
+
+/**
+ @abstract The accessibility frame for a text range.
+ @param range The text marker range.
+ @return The bounds in accessibility space of the text marker range. If the bounds cannot be determined, return CGRectZero.
+ */
+- (CGRect)accessibilityBoundsForTextMarkerRange:(BEAccessibilityTextMarkerRange *)range;
+
+/**
+ @abstract The accessibility content for a text range.
+ @param range The text marker range.
+ */
+- (nullable NSString *)accessibilityContentForTextMarkerRange:(BEAccessibilityTextMarkerRange *)range;
+
+/**
+ @abstract The text marker range of the current selection. Return nil if there is none.
+ */
+- (nullable BEAccessibilityTextMarkerRange *)accessibilityTextMarkerRangeForCurrentSelection;
+
+/**
+ @abstract The text marker range of the current element.
+ */
+- (BEAccessibilityTextMarkerRange *)accessibilityTextMarkerRange;
+
+/**
+ @abstract The text marker after the marker.
+ @param marker The text marker.
+ */
+- (nullable BEAccessibilityTextMarker *)accessibilityNextTextMarker:(BEAccessibilityTextMarker *)marker;
+
+/**
+ @abstract The text marker before the marker.
+ @param marker The text marker.
+ */
+- (nullable BEAccessibilityTextMarker *)accessibilityPreviousTextMarker:(BEAccessibilityTextMarker *)marker;
+
+/**
+ @abstract The text marker representing the end-of-line position of the line pointed to by the given marker.
+ @param marker The text marker.
+ */
+- (nullable BEAccessibilityTextMarker *)accessibilityLineEndMarkerForMarker:(BEAccessibilityTextMarker *)marker;
+
+/**
+ @abstract The text marker representing the start-of-line position of the line pointed to by the given marker.
+ @param marker The text marker.
+ */
+- (nullable BEAccessibilityTextMarker *)accessibilityLineStartMarkerForMarker:(BEAccessibilityTextMarker *)marker;
+
+/**
+ @abstract The text marker for the specific point.
+ @param point A point in view space.
+ */
+- (nullable BEAccessibilityTextMarker *)accessibilityMarkerForPoint:(CGPoint)point;
+
+/**
+ @abstract The text marker given an index-based position.
+ @param position The text position as an index.
+ */
+- (nullable BEAccessibilityTextMarker *)accessibilityTextMarkerForPosition:(NSInteger)position;
+
+/**
+ @abstract The text marker range given an index-based range.
+ @param range The text marker range as an NSRange.
+ */
+- (nullable BEAccessibilityTextMarkerRange *)accessibilityTextMarkerRangeForRange:(NSRange)range;
+
+/**
+ @abstract The index-based range given a text marker range.
+ @param range The text marker range.
+ */
+- (NSRange)accessibilityRangeForTextMarkerRange:(BEAccessibilityTextMarkerRange *)range;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEDownloads.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEDownloads.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEDownloads.h	1969-12-31 19:00:00
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEDownloads.h	2024-10-26 05:11:35
@@ -0,0 +1,49 @@
+//
+//  BEDownloads.h
+//  BrowserEngineKit
+//
+//  Copyright © 2024 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/NSObject.h>
+
+@class NSURL;
+@class UTType;
+
+NS_ASSUME_NONNULL_BEGIN
+
+NS_SWIFT_NAME(BEDownloadMonitor.Location)
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(18.2))
+API_UNAVAILABLE(macos)
+API_UNAVAILABLE(watchos, tvos, visionos)
+@interface BEDownloadMonitorLocation : NSObject
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+@property (readonly) NSURL* url;
+@property (readonly) NSData* bookmarkData;
+@end
+
+NS_SWIFT_SENDABLE
+API_AVAILABLE(ios(18.2))
+API_UNAVAILABLE(macos)
+API_UNAVAILABLE(watchos, tvos, visionos)
+@interface BEDownloadMonitor : NSObject
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+- (instancetype)initWithSourceURL:(NSURL *)sourceURL destinationURL:(NSURL *)destinationURL observedProgress:(NSProgress *)observedProgress liveActivityAccessToken:(NSData *)liveActivityAccessToken;
+
+- (void)useDownloadsFolderWithPlaceholderType:(nullable UTType *)type finalFileCreatedHandler:(void (^)(BEDownloadMonitorLocation* _Nullable finalLocation))finalFileCreatedHandler;
+
+- (void)beginMonitoring:(void (^)(BEDownloadMonitorLocation* _Nullable placeholderLocation, NSError* _Nullable error))completion;
+- (void)resumeMonitoring:(NSURL *)url completionHandler:(void (^)(NSError* _Nullable error))completionHandler;
+
+@property (readonly) NSUUID* identifier NS_SWIFT_NAME(id);
+@property (readonly) NSURL* sourceURL;
+@property (readonly) NSURL* destinationURL;
+
++ (nullable NSData *)createAccessToken;
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BENetworkingProcess.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BENetworkingProcess.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BENetworkingProcess.h	2024-09-29 04:12:19
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BENetworkingProcess.h	2024-10-26 05:11:35
@@ -36,10 +36,21 @@
 ///
 /// - Parameters:
 ///   - `interruptionHandler` : A block that is called if the extension process terminates.
-///   - `completion` : A block called with a new ``BEWebContentProcess`` when the extension process has
+///   - `completion` : A block called with a new ``BENetworkingProcess`` when the extension process has
 ///     launched or with an error.
 +(void)networkProcessWithInterruptionHandler:(void(^)(void))interruptionHandler
                                completion:(void(^)(BENetworkingProcess* _Nullable process, NSError* _Nullable error))completion;
+
+/// Asynchronously launches a network extension process.
+///
+/// This initializer launches a new network extension process with the provided bundle identifier.
+///
+/// - Parameters:
+///   - `bundleID` : The bundle identifier of the network extension process to launch.
+///   - `interruptionHandler` : A block that is called if the extension process terminates.
+///   - `completion` : A block called with a new ``BENetworkingProcess`` when the extension process has
+///     launched or with an error.
++(void)networkProcessWithBundleID:(NSString *)bundleID interruptionHandler:(void(^)(void))interruptionHandler completion:(void(^)(BENetworkingProcess *_Nullable process, NSError *_Nullable error))completion API_AVAILABLE(ios(18.2));
 
 /// Stops the extension process.
 ///
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BERenderingProcess.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BERenderingProcess.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BERenderingProcess.h	2024-09-29 04:12:19
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BERenderingProcess.h	2024-10-26 05:11:35
@@ -45,6 +45,17 @@
 +(void)renderingProcessWithInterruptionHandler:(void(^)(void))interruptionHandler
                            completion:(void(^)(BERenderingProcess* _Nullable process, NSError* _Nullable error))completion;
 
+/// Asynchronously launches a rendering extension process.
+///
+/// This initializer launches a new rendering extension process with the provided bundle identifier.
+///
+/// - Parameters:
+///   - `bundleID` : The bundle identifier of the rendering extension process to launch.
+///   - `interruptionHandler` : A block that is called if the extension process terminates.
+///   - `completion` : A block called with a new ``BERenderingProcess`` when the extension process has
+///     launched or with an error.
++(void)renderingProcessWithBundleID:(NSString *)bundleID interruptionHandler:(void(^)(void))interruptionHandler completion:(void(^)(BERenderingProcess  *_Nullable process, NSError *_Nullable error))completion API_AVAILABLE(ios(18.2));
+
 /// Stops the extension process.
 ///
 /// When you call this method, you tell the system your app no longer needs this extension process.
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEScrollView.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEScrollView.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEScrollView.h	2024-09-29 04:12:19
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEScrollView.h	2024-10-26 05:11:35
@@ -16,7 +16,7 @@
 @class BEScrollView, BEScrollViewScrollUpdate;
 
 
-BROWSERENGINE_EXPORT API_AVAILABLE(ios(17.4)) NS_SWIFT_UI_ACTOR
+BROWSERENGINE_EXPORT API_AVAILABLE(ios(17.4)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 @protocol BEScrollViewDelegate <UIScrollViewDelegate>
 
 @optional
@@ -43,7 +43,7 @@
 
 
 // A scroll view with features specific to browsers.
-BROWSERENGINE_EXPORT API_AVAILABLE(ios(17.4)) NS_SWIFT_UI_ACTOR
+BROWSERENGINE_EXPORT API_AVAILABLE(ios(17.4)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 @interface BEScrollView : UIScrollView
 
 @property (nonatomic, weak, nullable) id<BEScrollViewDelegate> delegate;
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEWebContentProcess.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEWebContentProcess.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEWebContentProcess.h	2024-09-29 04:12:19
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BEWebContentProcess.h	2024-10-26 05:11:35
@@ -43,6 +43,17 @@
 +(void)webContentProcessWithInterruptionHandler:(void(^)(void))interruptionHandler
                                   completion:(void(^)(BEWebContentProcess* _Nullable process, NSError* _Nullable error))completion;
 
+/// Asynchronously launches a web content process
+///
+/// This initializer launches a new web content extension process.
+///
+/// - Parameters:
+///   - `bundleID` : The bundle identifier of the WebContent process to launch.
+///   - `interruptionHandler` : A block that is called if the extension process terminates.
+///   - `completion` : A block called with a new ``BEWebContentProcess`` when the extension process has
+///     launched or with an error.
++(void)webContentProcessWithBundleID:(NSString *)bundleID interruptionHandler:(void(^)(void))interruptionHandler completion:(void(^)(BEWebContentProcess *_Nullable process, NSError *_Nullable error))completion API_AVAILABLE(ios(18.2));
+
 /// Stops the extension process.
 ///
 /// When you call this method, you tell the system your app no longer needs this extension process.
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BrowserEngineKit.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BrowserEngineKit.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BrowserEngineKit.h	2024-09-29 04:12:18
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BrowserEngineKit.framework/Headers/BrowserEngineKit.h	2024-10-26 05:11:34
@@ -40,4 +40,7 @@
 
 #import <BrowserEngineKit/BEWebAppManifest.h>
 #import <BrowserEngineKit/BEAccessibility.h>
+#import <BrowserEngineKit/BEAccessibilityTextMarker.h>
 #import <BrowserEngineKit/BEAccessibilityConstants.h>
+
+#import <BrowserEngineKit/BEDownloads.h>
Clone this wiki locally