-
Notifications
You must be signed in to change notification settings - Fork 576
WebKit iOS xcode27.0 b5
Alex Soto edited this page Aug 10, 2026
·
1 revision
#WebKit.framework
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKContentWorld.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKContentWorld.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKContentWorld.h 2026-07-15 01:57:43
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKContentWorld.h 2026-08-04 18:27:54
@@ -64,7 +64,7 @@
@discussion Unlike all other worlds, worlds created with this factory method cannot be retrieved later.
Clients therefore need to take care to reference them for as long as they are needed.
*/
-+ (WKContentWorld *)worldWithConfiguration:(WKContentWorldConfiguration *)configuration NS_SWIFT_NAME(world(configuration:)) API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
++ (WKContentWorld *)worldWithConfiguration:(WKContentWorldConfiguration *)configuration NS_SWIFT_NAME(init(configuration:)) API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
/*! @abstract Retrieves a named content world for API client use.
@param name The name of the WKContentWorld to retrieve.
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKContentWorldConfiguration.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKContentWorldConfiguration.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKContentWorldConfiguration.h 2026-07-15 01:35:53
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKContentWorldConfiguration.h 2026-08-04 18:27:57
@@ -37,33 +37,34 @@
*/
WK_SWIFT_UI_ACTOR
NS_SWIFT_SENDABLE
-WK_EXTERN API_AVAILABLE(macos(NA), ios(27.0), visionos(NA))
+NS_SWIFT_NAME(WKContentWorld.Configuration)
+WK_EXTERN API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0))
@interface WKContentWorldConfiguration : NSObject<NSCopying, NSSecureCoding>
/*! @abstract A boolean value indicating whether every shadow root should be treated as open mode shadow root or not. */
-@property (nonatomic) BOOL openClosedShadowRootsEnabled;
+@property (nonatomic) BOOL allowAccessingClosedShadowRoots;
/*! @abstract A boolean value indicating whether the capability to trigger autofill is exposed to scripts or not. */
-@property (nonatomic) BOOL autofillScriptingEnabled;
+@property (nonatomic, getter=isAutofillScriptingEnabled) BOOL autofillScriptingEnabled NS_SWIFT_NAME(autofillScriptingEnabled);
/*! @abstract A boolean value indicating whether the ability to attach user info on an element is exposed to scripts or not. */
-@property (nonatomic) BOOL elementUserInfoEnabled;
+@property (nonatomic, getter=isElementUserInfoEnabled) BOOL elementUserInfoEnabled NS_SWIFT_NAME(elementUserInfoEnabled);
/*! @abstract A boolean value indicating whether the behavior that elements with a name attribute overrides builtin methods on document object should be enabled or not. */
-@property (nonatomic) BOOL legacyBuiltinOverridesEnabled;
+@property (nonatomic, getter=isLegacyBuiltinOverridesEnabled) BOOL legacyBuiltinOverridesEnabled NS_SWIFT_NAME(legacyBuiltinOverridesEnabled);
-/*! @abstract A boolean indicating whether or not `window.webkit.serializeNode` is available.
- @discussion JavaScript can call `window.webkit.serializeNode` with a return value to create a `WKJSSerializedNode`
+/*! @abstract A boolean indicating whether or not `window.webkit.createNodeSnapshot` is available.
+ @discussion JavaScript can call `window.webkit.createNodeSnapshot` with a return value to create a `WKDOMNodeSnapshot`
object for the application to use in future JavaScript programs.
- Refer to the `WKJSSerializedNode` documentation for more information.
+ Refer to the `WKDOMNodeSnapshot` documentation for more information.
*/
-@property (nonatomic) BOOL nodeSerializationEnabled;
+@property (nonatomic, getter=isNodeSnapshotCreationEnabled) BOOL nodeSnapshotCreationEnabled NS_SWIFT_NAME(nodeSnapshotCreationEnabled);
/*! @abstract A boolean indicating whether or not `window.webkit.createJSHandle` is available. */
-@property (nonatomic, setter=setJSHandleCreationEnabled:) BOOL jsHandleCreationEnabled;
+@property (nonatomic, getter=isJSHandleCreationEnabled, setter=setJSHandleCreationEnabled:) BOOL jsHandleCreationEnabled NS_SWIFT_NAME(jsHandleCreationEnabled);
/*! @abstract A boolean indicating whether the JavaScript in this world is visible to the Web Inspector. */
-@property (nonatomic, getter=isInspectable) BOOL inspectable;
+@property (nonatomic, getter=isInspectable) BOOL inspectable NS_SWIFT_NAME(isInspectable);
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKDOMNodeSnapshot.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKDOMNodeSnapshot.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKDOMNodeSnapshot.h 1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKDOMNodeSnapshot.h 2026-08-06 01:28:56
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2026 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit/WKFoundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! A `WKDOMNodeSnapshot` object contains a snapshot of a DOM node
+ @discussion There are various ways that JavaScript executing inside web content results in some return value
+ being passed up to the WebKit application.
+ Examples include calls to `[WKWebView evaluateJavaScript:...]`, `[WKWebView callAsyncJavaScript:...]`, and the
+ body of a `WKScriptMessage`.
+
+ When application JavaScript returns a JavaScript value, the default behavior is to try to convert it to a foundational type.
+ e.g. a JavaScript Number becomes an NSNumber, or a JavaScript array becomes an NSArray, etc.
+
+ If the JavaScript calls `window.webkit.createNodeSnapshot(...)` then WebKit will create a snapshot representation of
+ that node as the return value.
+
+ The node is an opaque object as far as the application is concerned, but it can be used as an argument to future JavaScript programs
+ via `[WKWebView callAsyncJavaScript:...]`
+
+ Unlike `WKJSHandle` - which keeps an actual JavaScript object alive in its originating context - a `WKDOMNodeSnapshot` is not attached
+ to a live JavaScript object, and it can be used as an argument to a JavaScript program running in any context.
+ e.g. In a different frame, or after a navigation.
+ */
+WK_EXTERN API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0))
+@interface WKDOMNodeSnapshot : NSObject
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKFormInfo.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKFormInfo.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKFormInfo.h 2026-07-15 01:35:53
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKFormInfo.h 2026-08-06 01:28:57
@@ -35,7 +35,7 @@
*/
NS_SWIFT_UI_ACTOR
-WK_EXTERN API_AVAILABLE(macos(NA), ios(27.0), visionos(NA))
+WK_EXTERN API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0))
@interface WKFormInfo : NSObject
/*! @abstract The frame where the form is being submitted will cause a navigation.
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKHTTPCookieStore.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKHTTPCookieStore.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKHTTPCookieStore.h 2026-07-15 01:57:45
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKHTTPCookieStore.h 2026-08-06 02:50:55
@@ -61,7 +61,7 @@
@param url The URL to fetch the matching cookies for.
@param completionHandler A block to invoke with the fetched cookies.
*/
-- (void)getCookiesForURL:(NSURL *)url completionHandler:(NS_SWIFT_UI_ACTOR void (^)(NSArray<NSHTTPCookie *> *))completionHandler NS_SWIFT_NAME(getCookies(for:completionHandler:)) API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+- (void)getCookiesForURL:(NSURL *)url completionHandler:(NS_SWIFT_UI_ACTOR void (^)(NSArray<NSHTTPCookie *> *))completionHandler NS_SWIFT_NAME(getCookies(for:completionHandler:)) WK_SWIFT_ASYNC_NAME(cookies(for:)) API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
/*! @abstract Set a cookie.
@param cookie The cookie to set.
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKImmersiveEnvironment.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKImmersiveEnvironment.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKImmersiveEnvironment.h 2026-07-15 01:35:51
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKImmersiveEnvironment.h 2026-08-06 01:28:55
@@ -34,7 +34,7 @@
*/
NS_SWIFT_UI_ACTOR
NS_SWIFT_SENDABLE
-WK_EXTERN API_AVAILABLE(visionos(NA))
+WK_EXTERN API_AVAILABLE(visionos(27.0))
API_UNAVAILABLE(macos, ios)
@interface WKImmersiveEnvironment : NSObject
@@ -43,7 +43,7 @@
/*! @abstract The frame information of the website that provided this immersive environment.
*/
-@property (nonatomic, readonly) WKFrameInfo *sourceFrame API_AVAILABLE(visionos(NA));
+@property (nonatomic, readonly) WKFrameInfo *sourceFrame API_AVAILABLE(visionos(27.0));
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKImmersiveEnvironmentDelegate.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKImmersiveEnvironmentDelegate.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKImmersiveEnvironmentDelegate.h 2026-07-15 01:35:51
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKImmersiveEnvironmentDelegate.h 2026-08-06 01:28:55
@@ -37,7 +37,7 @@
and dismissal of immersive environments requested by websites.
*/
NS_SWIFT_UI_ACTOR
-API_AVAILABLE(visionos(NA))
+API_AVAILABLE(visionos(27.0))
API_UNAVAILABLE(macos, ios)
@protocol WKImmersiveEnvironmentDelegate <NSObject>
@@ -47,7 +47,7 @@
@param completionHandler The completion handler you must invoke with the request's answer. `YES` to allow
the environment presentation, or `NO` to deny it.
*/
-- (void)webView:(WKWebView *)webView shouldAllowImmersiveEnvironmentFromFrame:(WKFrameInfo *)frame completionHandler:(void (^)(BOOL allow))completionHandler NS_SWIFT_ASYNC_NAME(webView(_:shouldAllowImmersiveEnvironmentFrom:)) API_AVAILABLE(visionos(NA));
+- (void)webView:(WKWebView *)webView shouldAllowImmersiveEnvironmentFromFrame:(WKFrameInfo *)frame completionHandler:(void (^)(BOOL allow))completionHandler NS_SWIFT_ASYNC_NAME(webView(_:shouldAllowImmersiveEnvironmentFrom:)) API_AVAILABLE(visionos(27.0));
/*! @abstract Asks the delegate to present an immersive environment.
@param webView The web view requesting presentation.
@@ -55,14 +55,14 @@
@param completionHandler The completion handler you must invoke once the presentation transition has completed.
The error argument should be used in case the presentation failed and the environment couldn't be presented.
*/
-- (void)webView:(WKWebView *)webView presentImmersiveEnvironment:(WKImmersiveEnvironment *)environment completionHandler:(void (^)(NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(webView(_:presentImmersiveEnvironment:)) API_AVAILABLE(visionos(NA));
+- (void)webView:(WKWebView *)webView presentImmersiveEnvironment:(WKImmersiveEnvironment *)environment completionHandler:(void (^)(NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(webView(_:presentImmersiveEnvironment:)) API_AVAILABLE(visionos(27.0));
/*! @abstract Asks the delegate to dismiss an immersive environment.
@param webView The web view requesting dismissal.
@param environment The immersive environment to dismiss.
@param completionHandler The completion handler you must invoke once the dismissal transition has completed.
*/
-- (void)webView:(WKWebView *)webView dismissImmersiveEnvironment:(WKImmersiveEnvironment *)environment completionHandler:(void (^)(void))completionHandler NS_SWIFT_ASYNC_NAME(webView(_:dismissImmersiveEnvironment:)) API_AVAILABLE(visionos(NA));
+- (void)webView:(WKWebView *)webView dismissImmersiveEnvironment:(WKImmersiveEnvironment *)environment completionHandler:(void (^)(void))completionHandler NS_SWIFT_ASYNC_NAME(webView(_:dismissImmersiveEnvironment:)) API_AVAILABLE(visionos(27.0));
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKJSHandle.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKJSHandle.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKJSHandle.h 2026-07-15 01:35:53
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKJSHandle.h 2026-08-06 01:28:56
@@ -49,29 +49,31 @@
Whatever JavaScript object the `WKJSHandle` represents, it will be protected from garbage collection for the lifetime of the `WKJSHandle`
The `WKJSHandle` can also be used as an argument to future JavaScript run via `[WKWebView callAsyncJavaScript:...]`
*/
-WK_EXTERN API_AVAILABLE(macos(NA), ios(27.0), visionos(NA))
+WK_SWIFT_UI_ACTOR
+NS_SWIFT_SENDABLE
+WK_EXTERN API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0))
@interface WKJSHandle : NSObject<NSCopying>
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
-/*! @abstract The frame in which the `WKJSHandle` can be used.
+/*! @abstract The frame from which the `WKJSHandle` originates and where it can be used.
@discussion If the `WKJSHandle` is used as an argument to JavaScript in another frame or after the indicated frame has navigated,
it will be interpreted as the JavaScript value `undefined`.
*/
-@property (nonatomic, readonly, copy) WKFrameInfo *frame;
+@property (nonatomic, readonly, copy) WKFrameInfo *sourceFrame;
/*! @abstract The world in which the `WKJSHandle` can be used.
@discussion If the `WKJSHandle` is used in another world it will be interpreted as the JavaScript value `undefined`.
*/
-@property (nonatomic, readonly, weak) WKContentWorld *world;
+@property (nonatomic, readonly, weak) WKContentWorld *contentWorld;
/*! @abstract The frame represented by the JavaScript value.
@discussion If the `WKJSHandle` represents a JavaScript Window proxy object, the result of this method will be a snapshot of the
frame represented by that Window object.
Otherwise the result of this method will be `nil`
*/
-- (void)windowProxyFrameInfo:(void (^)(WKFrameInfo * _Nullable))completionHandler;
+- (void)getWindowProxyFrameWithCompletionHandler:(void (^)(WKFrameInfo * _Nullable))completionHandler WK_SWIFT_ASYNC_NAME(getter:windowProxyFrame());
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKJSSerializedNode.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKJSSerializedNode.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKJSSerializedNode.h 2026-07-15 01:35:52
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKJSSerializedNode.h 1969-12-31 19:00:00
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2026 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit/WKFoundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/*! A `WKJSSerializedNode` object contains the serialized representation of a DOM node
- @discussion There are various ways that JavaScript executing inside web content results in some return value
- being passed up to the WebKit application.
- Examples include calls to `[WKWebView evaluateJavaScript:...]`, `[WKWebView callAsyncJavaScript:...]`, and the
- body of a `WKScriptMessage`.
-
- When application JavaScript returns a JavaScript value, the default behavior is to try to convert it to a foundational type.
- e.g. a JavaScript Number becomes an NSNumber, or a JavaScript array becomes an NSArray, etc.
-
- When the return value is a DOM node, the default conversion is to "stringify" it and return that to the application as an NSString.
- If the JavaScript instead calls `window.webkit.serializeNode(...)` then WebKit will create a serialized representation of
- that node as the return value.
-
- The node is an opaque object as far as the application is concerned, but it can be used as an argument to future JavaScript programs
- via `[WKWebView callAsyncJavaScript:...]`
-
- Unlike `WKJSHandle` - which keeps an actual JavaScript object alive in its originating context - a `WKJSSerializedNode` is not attached
- to a live JavaScript object, and it can be used as an argument to a JavaScript program running in any context.
- e.g. In a different frame, or after a navigation.
- */
-WK_EXTERN API_AVAILABLE(macos(NA), ios(27.0), visionos(NA))
-@interface WKJSSerializedNode : NSObject
-
-+ (instancetype)new NS_UNAVAILABLE;
-- (instancetype)init NS_UNAVAILABLE;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationAction.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationAction.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationAction.h 2026-07-15 01:57:45
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationAction.h 2026-08-04 18:29:56
@@ -89,7 +89,7 @@
/*! @abstract The most recent main frame navigation that took place that encompasses this navigation action.
@discussion If this WKNavigationAction represents a request to open a new WKWebView or it represents a frame load that is not in the main frame of an existing WKWebView, then mainFrameNavigation will be nil.
*/
-@property (nonatomic, readonly, nullable) WKNavigation *mainFrameNavigation API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+@property (nonatomic, readonly, nullable) WKNavigation *mainFrameNavigation API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
#if TARGET_OS_IPHONE
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationDelegate.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationDelegate.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationDelegate.h 2026-07-16 04:54:24
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationDelegate.h 2026-08-04 18:29:51
@@ -213,7 +213,7 @@
@param formInfo Information about the form submission that will take place.
@param submissionHandler A block to call once the application has done any asynchronous work it needs to for this form submission, indicating that the form submission can continue.
*/
-- (void)webView:(WKWebView *)webView willSubmitForm:(WKFormInfo *)formInfo submissionHandler:(NS_SWIFT_UI_ACTOR void (^)(void))submissionHandler WK_SWIFT_ASYNC(3) API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+- (void)webView:(WKWebView *)webView willSubmitForm:(WKFormInfo *)formInfo submissionHandler:(NS_SWIFT_UI_ACTOR void (^)(void))submissionHandler WK_SWIFT_ASYNC(3) API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationResponse.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationResponse.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationResponse.h 2026-07-15 01:35:51
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKNavigationResponse.h 2026-08-06 01:28:55
@@ -53,7 +53,7 @@
/*! @abstract The most recent main frame navigation that took place that encompasses this navigation response.
*/
-@property (nonatomic, readonly, nullable) WKNavigation *mainFrameNavigation API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+@property (nonatomic, readonly, nullable) WKNavigation *mainFrameNavigation API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKUIDelegate.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKUIDelegate.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKUIDelegate.h 2026-07-15 01:35:52
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKUIDelegate.h 2026-08-06 01:33:57
@@ -299,7 +299,7 @@
@param frame The frame that initiated the request.
@param decisionHandler The decision handler to call once the app has made its decision.
*/
-- (void)webView:(WKWebView *)webView requestGeolocationPermissionForOrigin:(WKSecurityOrigin*)origin initiatedByFrame:(WKFrameInfo *)frame decisionHandler:(WK_SWIFT_UI_ACTOR void (^)(WKPermissionDecision decision))decisionHandler API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+- (void)webView:(WKWebView *)webView requestGeolocationPermissionForOrigin:(WKSecurityOrigin*)origin initiatedByFrame:(WKFrameInfo *)frame decisionHandler:(WK_SWIFT_UI_ACTOR void (^)(WKPermissionDecision decision))decisionHandler WK_SWIFT_ASYNC_NAME(webView(_:requestGeolocationPermissionFor:initiatedBy:)) API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST && __IPHONE_OS_VERSION_MIN_REQUIRED >= 180400
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKUserContentController.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKUserContentController.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKUserContentController.h 2026-07-15 01:57:43
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKUserContentController.h 2026-08-04 18:27:55
@@ -149,13 +149,13 @@
@param contentWorld The WKContentWorld to add the buffer to.
The buffer will only be visible to JavaScript executing in that content world.
*/
-- (void)addBuffer:(NSData *)buffer name:(NSString *)name contentWorld:(WKContentWorld *)world API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+- (void)addBuffer:(NSData *)buffer name:(NSString *)name contentWorld:(WKContentWorld *)world NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
/*! @abstract Removes a previously added data buffer from the given `WKContentWorld
@param name The name of the buffer to remove.
@param contentWorld The WKContentWorld from which to remove the buffer.
*/
-- (void)removeBufferWithName:(NSString *)name contentWorld:(WKContentWorld *)world API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+- (void)removeBufferWithName:(NSString *)name contentWorld:(WKContentWorld *)world NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebView.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebView.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebView.h 2026-07-15 01:35:52
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebView.h 2026-08-06 01:33:57
@@ -134,7 +134,7 @@
@param url The URL to which to navigate.
@result A new navigation for the given request.
*/
-- (nullable WKNavigation *)loadURL:(NSURL *)url NS_SWIFT_NAME(load(_:)) API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+- (nullable WKNavigation *)loadURL:(NSURL *)url NS_SWIFT_NAME(load(_:)) API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
/*! @abstract Navigates to the requested file URL on the filesystem.
@param URL The file URL to which to navigate.
@@ -733,11 +733,11 @@
#if defined(TARGET_OS_VISION) && TARGET_OS_VISION
/*! @abstract The delegate that manages immersive environment presentation.
*/
-@property (nullable, nonatomic, weak) id <WKImmersiveEnvironmentDelegate> immersiveEnvironmentDelegate API_AVAILABLE(visionos(NA));
+@property (nullable, nonatomic, weak) id <WKImmersiveEnvironmentDelegate> immersiveEnvironmentDelegate API_AVAILABLE(visionos(27.0));
/*! @abstract Dismisses the currently presented immersive environment.
*/
-- (void)dismissImmersiveEnvironmentWithCompletionHandler:(NS_SWIFT_UI_ACTOR void (^)(void))completionHandler NS_SWIFT_ASYNC_NAME(dismissImmersiveEnvironment()) API_AVAILABLE(visionos(NA));
+- (void)dismissImmersiveEnvironmentWithCompletionHandler:(NS_SWIFT_UI_ACTOR void (^)(void))completionHandler NS_SWIFT_ASYNC_NAME(dismissImmersiveEnvironment()) API_AVAILABLE(visionos(27.0));
#endif
#if TARGET_OS_OSX && __MAC_OS_X_VERSION_MIN_REQUIRED >= 270000
@@ -745,7 +745,7 @@
@discussion Setting this property adds the refresh controller above the web
content when scrolling past the top of the page.
*/
-@property (strong, nullable) NSRefreshController *refreshController API_AVAILABLE(macos(NA));
+@property (strong, nullable) NSRefreshController *refreshController API_AVAILABLE(macos(27.0));
#endif
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h 2026-07-16 05:10:17
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebViewConfiguration.h 2026-08-04 18:29:51
@@ -255,7 +255,7 @@
If NO, requests to present immersive environments are ignored. If YES, requests are routed to your `WKImmersiveEnvironmentDelegate`.
The default value is NO.
*/
-@property (nonatomic) BOOL allowsImmersiveEnvironments API_AVAILABLE(visionos(NA));
+@property (nonatomic) BOOL allowsImmersiveEnvironments API_AVAILABLE(visionos(27.0));
#endif
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebpagePreferences.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebpagePreferences.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebpagePreferences.h 2026-07-16 04:54:25
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebpagePreferences.h 2026-08-06 01:33:57
@@ -130,21 +130,21 @@
/* @abstract Used to make changes to the network request that will be used for this navigation's main resource load.
*/
-@property (nonatomic, copy, nullable) NSURLRequest *alternateRequest API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+@property (nonatomic, copy, nullable) NSURLRequest *alternateRequest API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
/* @abstract Used to apply a custom `referer` header to all resource loads in the frame for this navigation.
*/
-@property (nonatomic, copy, nullable) NSString *overrideReferrer API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+@property (nonatomic, copy, nullable) NSString *overrideReferrer API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
/*! @abstract A boolean indicating whether `window.webkit.createJSHandle` will be available in `[WKContentWorld pageWorld]`
@discussion The default value is false.
*/
-@property (nonatomic) BOOL allowsJSHandleCreationInPageWorld API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+@property (nonatomic) BOOL allowsJSHandleCreationInPageWorld API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
/*! @abstract Whether the Global Privacy Control (GPC) signal is enabled for the navigation.
@discussion The default value is NO. When enabled, both navigator.globalPrivacyControl and the
Sec-GPC: 1 request header are active for the main frame, its subframes, and their subresources.
*/
-@property (nonatomic) BOOL globalPrivacyControlStatus API_AVAILABLE(macos(NA), ios(27.0), visionos(NA));
+@property (nonatomic) BOOL globalPrivacyControlEnabled API_AVAILABLE(macos(27.0), ios(27.0), visionos(27.0));
@end
diff -ruN /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WebKit.h /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WebKit.h
--- /Applications/Xcode_27.0.0-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WebKit.h 2026-07-15 01:35:50
+++ /Applications/Xcode_27.0.0-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/WebKit.framework/Headers/WebKit.h 2026-08-06 01:28:54
@@ -31,6 +31,7 @@
#import <WebKit/WKContentWorld.h>
#import <WebKit/WKContentWorldConfiguration.h>
#import <WebKit/WKContextMenuElementInfo.h>
+#import <WebKit/WKDOMNodeSnapshot.h>
#import <WebKit/WKDownload.h>
#import <WebKit/WKDownloadDelegate.h>
#import <WebKit/WKError.h>
@@ -43,7 +44,6 @@
#import <WebKit/WKImmersiveEnvironment.h>
#import <WebKit/WKImmersiveEnvironmentDelegate.h>
#import <WebKit/WKJSHandle.h>
-#import <WebKit/WKJSSerializedNode.h>
#import <WebKit/WKNavigation.h>
#import <WebKit/WKNavigationAction.h>
#import <WebKit/WKNavigationDelegate.h>