Skip to content

WebKit macOS xcode15.0 b1

Haritha Mohan edited this page Oct 19, 2023 · 3 revisions

#WebKit.framework https://github.com/xamarin/xamarin-macios/pull/19237

diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKHTTPCookieStore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKHTTPCookieStore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKHTTPCookieStore.h	2023-03-09 19:06:49
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKHTTPCookieStore.h	2023-05-26 03:09:51
@@ -31,6 +31,11 @@
 
 @class WKHTTPCookieStore;
 
+typedef NS_ENUM(NSInteger, WKCookiePolicy) {
+    WKCookiePolicyAllow,
+    WKCookiePolicyDisallow,
+} NS_SWIFT_NAME(WKHTTPCookieStore.CookiePolicy) API_AVAILABLE(macos(14.0), ios(NA));
+
 API_AVAILABLE(macos(10.13), ios(11.0))
 @protocol WKHTTPCookieStoreObserver <NSObject>
 @optional
@@ -72,6 +77,17 @@
  @param observer The observer to remove.
  */
 - (void)removeObserver:(id<WKHTTPCookieStoreObserver>)observer;
+
+/*! @abstract Set whether cookies are allowed.
+  @param policy A value indicating whether cookies are allowed. The default value is WKCookiePolicyAllow.
+  @param completionHandler A block to invoke once the cookie policy has been set.
+  */
+- (void)setCookiePolicy:(WKCookiePolicy)policy completionHandler:(nullable void (^)(void))completionHandler API_AVAILABLE(macos(14.0), ios(NA));
+
+/*! @abstract Get whether cookies are allowed.
+ @param completionHandler A block to invoke with the value of whether cookies are allowed.
+ */
+- (void)getCookiePolicy:(void (^)(WKCookiePolicy))completionHandler WK_SWIFT_ASYNC_NAME(getter:cookiePolicy()) API_AVAILABLE(macos(14.0), ios(NA));
 
 @end
 
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKPDFConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKPDFConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKPDFConfiguration.h	2023-03-09 19:06:44
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKPDFConfiguration.h	2023-05-26 03:09:48
@@ -38,6 +38,11 @@
  */
 @property (nonatomic) CGRect rect NS_REFINED_FOR_SWIFT;
 
+/*! @abstract A Boolean value indicating whether the PDF should allow transparent backgrounds.
+ @discussion The default value is `NO`.
+ */
+@property (nonatomic) BOOL allowTransparentBackground API_AVAILABLE(macos(14.0), ios(NA));
+
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKPreferences.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKPreferences.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKPreferences.h	2023-03-09 19:06:55
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKPreferences.h	2023-05-26 03:09:48
@@ -80,6 +80,23 @@
  */
 @property (nonatomic, getter=isElementFullscreenEnabled) BOOL elementFullscreenEnabled API_AVAILABLE(macos(12.3), ios(15.4));
 
+/*
+@enum WKInactiveSchedulingPolicy
+@abstract An enum that represents the available options for scheduling behavior when a web view is idle and detached from all windows.
+@discussion The WKInactiveSchedulingSuspend case indicates that the web view should be fully suspended when idle. The WKInactiveSchedulingThrottle case indicates that the web view should be CPU-throttled when idle, but not fully suspended. The WKInactiveSchedulingNone case indicates that no special scheduling behavior should be applied, and the web view should continue running normally even when idle.
+*/
+typedef NS_ENUM(NSInteger, WKInactiveSchedulingPolicy) {
+    WKInactiveSchedulingPolicySuspend,
+    WKInactiveSchedulingPolicyThrottle,
+    WKInactiveSchedulingPolicyNone
+} NS_SWIFT_NAME(WKPreferences.InactiveSchedulingPolicy) API_AVAILABLE(macos(14.0), ios(NA));
+
+/*! @abstract Specify the scheduling policy for the web view when it is inactive
+ and detached from the view hierarchy. Web views are not considered idle when playing media or loading web pages.
+ A suspended web view will pause JavaScript execution and page layout.
+ */
+@property (nonatomic) WKInactiveSchedulingPolicy inactiveSchedulingPolicy API_AVAILABLE(macos(14.0), ios(NA));
+
 @end
 
 @interface WKPreferences (WKDeprecated)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h	2023-03-09 19:06:55
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h	2023-06-01 05:45:02
@@ -143,6 +143,17 @@
 
 @property (nonatomic) BOOL limitsNavigationsToAppBoundDomains API_AVAILABLE(macos(11.0), ios(14.0));
 
+#if ((TARGET_OS_OSX && __MAC_OS_X_VERSION_MIN_REQUIRED >= 140000) \
+|| (TARGET_OS_IOS && __IPHONE_OS_VERSION_MIN_REQUIRED >= 170000))
+/*! @abstract A Boolean value indicating whether inline predictions are allowed.
+@discussion The default value is `NO`. If false, inline predictions
+are disabled regardless of the system setting. If true, they are enabled based
+on the system setting.
+*/
+@property (nonatomic) BOOL allowsInlinePredictions API_AVAILABLE(macos(14.0), ios(17.0));
+#endif
+
+
 #if TARGET_OS_IPHONE
 /*! @abstract A Boolean value indicating whether HTML5 videos play inline
  (YES) or use the native full-screen controller (NO).
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataRecord.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataRecord.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataRecord.h	2023-03-09 19:06:43
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataRecord.h	2023-05-26 03:09:47
@@ -62,6 +62,15 @@
 /*! @constant WKWebsiteDataTypeFileSystem File system storage. */
 WK_EXTERN NSString * const WKWebsiteDataTypeFileSystem API_AVAILABLE(macos(13.0), ios(16.0));
 
+/*! @constant WKWebsiteDataTypeSearchFieldRecentSearches Search field history. */
+WK_EXTERN NSString * const WKWebsiteDataTypeSearchFieldRecentSearches API_AVAILABLE(macos(14.0), ios(NA));
+
+/*! @constant WKWebsiteDataTypeMediaKeys MediaKeys storage */
+WK_EXTERN NSString * const WKWebsiteDataTypeMediaKeys API_AVAILABLE(macos(14.0), ios(NA));
+
+/*! @constant WKWebsiteDataTypeHashSalt Hash salt for deviceId */
+WK_EXTERN NSString * const WKWebsiteDataTypeHashSalt API_AVAILABLE(macos(14.0), ios(NA));
+
 /*! A WKWebsiteDataRecord represents website data, grouped by domain name using the public suffix list. */
 WK_EXTERN API_AVAILABLE(macos(10.11), ios(9.0))
 @interface WKWebsiteDataRecord : NSObject
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h	2023-03-09 23:48:49
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h	2023-05-26 03:09:49
@@ -27,6 +27,10 @@
 
 #import <WebKit/WKWebsiteDataRecord.h>
 
+#if __has_include(<Network/proxy_config.h>)
+#import <Network/Network.h>
+#endif
+
 NS_ASSUME_NONNULL_BEGIN
 
 @class WKHTTPCookieStore;
@@ -78,6 +82,39 @@
 
 /*! @abstract Returns the cookie store representing HTTP cookies in this website data store. */
 @property (nonatomic, readonly) WKHTTPCookieStore *httpCookieStore API_AVAILABLE(macos(10.13), ios(11.0));
+
+/*! @abstract Get identifier for a data store.
+ @discussion Returns nil for default and non-persistent data store .
+ */
+@property (nonatomic, readonly, nullable) NSUUID *identifier API_AVAILABLE(macos(14.0), ios(NA));
+
+/*! @abstract Get a persistent data store.
+ @param identifier An identifier that is used to uniquely identify the data store.
+ @discussion If a data store with this identifier does not exist yet, it will be created. Throws exception if identifier
+ is 0.
+*/
++ (WKWebsiteDataStore *)dataStoreForIdentifier:(NSUUID *)identifier API_AVAILABLE(macos(14.0), ios(NA));
+
+/*! @abstract Delete a persistent data store.
+ @param identifier An identifier that is used to uniquely identify the data store.
+ @param completionHandler A block to invoke with optional error when the operation completes.
+ @discussion This should be called when the data store is not used any more. Returns error if removal fails
+ to complete. WKWebView using the data store must be released before removal.
+*/
++ (void)removeDataStoreForIdentifier:(NSUUID *)identifier completionHandler:(void(^)(NSError *))completionHandler API_AVAILABLE(macos(14.0), ios(NA));
+
+/*! @abstract Fetch all data stores identifiers.
+ @param completionHandler A block to invoke with an array of identifiers when the operation completes.
+ @discussion Default or non-persistent data store do not have an identifier.
+*/
++ (void)fetchAllDataStoreIdentifiers:(void(^)(NSArray<NSUUID *> *))completionHandler WK_SWIFT_ASYNC_NAME(getter:allDataStoreIdentifiers()) API_AVAILABLE(macos(14.0), ios(NA));
+
+#if ((TARGET_OS_OSX && __MAC_OS_X_VERSION_MIN_REQUIRED >= 140000) || (TARGET_OS_IOS && __IPHONE_OS_VERSION_MIN_REQUIRED >= 170000))
+/*! @abstract Gets or sets the proxy configurations to be used to override networking in all WKWebViews that use this WKWebsiteDataStore. */
+@property (nullable, nonatomic, copy) NSArray<nw_proxy_config_t> *proxyConfigurations NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(14.0), ios(17.0));
+
+#endif
+
 
 @end
 
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WebKitAvailability.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WebKitAvailability.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WebKitAvailability.h	2023-03-09 19:06:48
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/WebKit.framework/Headers/WebKitAvailability.h	2023-05-26 03:09:50
@@ -28,6 +28,7 @@
 
 #import <TargetConditionals.h>
 
+#if !TARGET_OS_IPHONE
 #include <Foundation/NSObjCRuntime.h>
 
 #define WEBKIT_AVAILABLE_MAC(introduced) NS_AVAILABLE_MAC(introduced)
@@ -47,5 +48,16 @@
 #define WEBKIT_ENUM_DEPRECATED_MAC(introduced, deprecated, ...) NS_ENUM_AVAILABLE_MAC(introduced)
 
 #endif /* !defined(BUILDING_WEBKIT) && !defined(DISABLE_LEGACY_WEBKIT_DEPRECATIONS) */
+
+#else
+
+#define WEBKIT_AVAILABLE_MAC(introduced)
+#define WEBKIT_CLASS_AVAILABLE_MAC(introduced)
+#define WEBKIT_ENUM_AVAILABLE_MAC(introduced)
+#define WEBKIT_DEPRECATED_MAC(introduced, deprecated, ...)
+#define WEBKIT_CLASS_DEPRECATED_MAC(introduced, deprecated, ...)
+#define WEBKIT_ENUM_DEPRECATED_MAC(introduced, deprecated, ...)
+
+#endif /* !TARGET_OS_IPHONE */
 
 #endif /* WebKit_WebKitAvailability_h */
Clone this wiki locally