Browse Source

added webkit framework and a few more build changes

Kevin Bradley 3 years ago
parent
commit
885ef194b5
51 changed files with 4282 additions and 11 deletions
  1. 1 1
      Classes/Editing/FLEXFieldEditorViewController.m
  2. 2 0
      Classes/ExplorerInterface/FLEXWindow.m
  3. 21 0
      Classes/GlobalStateExplorers/FLEXWebViewController.h
  4. 14 8
      Classes/GlobalStateExplorers/FLEXWebViewController.m
  5. 4 0
      Classes/Utility/FLEXUtility.h
  6. 8 1
      Classes/Utility/FLEXUtility.m
  7. 120 0
      WebKit.framework/Headers/NSAttributedString.h
  8. 76 0
      WebKit.framework/Headers/WKBackForwardList.h
  9. 53 0
      WebKit.framework/Headers/WKBackForwardListItem.h
  10. 36 0
      WebKit.framework/Headers/WKContentRuleList.h
  11. 43 0
      WebKit.framework/Headers/WKContentRuleListStore.h
  12. 46 0
      WebKit.framework/Headers/WKContextMenuElementInfo.h
  13. 60 0
      WebKit.framework/Headers/WKDataDetectorTypes.h
  14. 63 0
      WebKit.framework/Headers/WKError.h
  15. 34 0
      WebKit.framework/Headers/WKFoundation.h
  16. 61 0
      WebKit.framework/Headers/WKFrameInfo.h
  17. 78 0
      WebKit.framework/Headers/WKHTTPCookieStore.h
  18. 44 0
      WebKit.framework/Headers/WKNavigation.h
  19. 93 0
      WebKit.framework/Headers/WKNavigationAction.h
  20. 162 0
      WebKit.framework/Headers/WKNavigationDelegate.h
  21. 54 0
      WebKit.framework/Headers/WKNavigationResponse.h
  22. 51 0
      WebKit.framework/Headers/WKOpenPanelParameters.h
  23. 77 0
      WebKit.framework/Headers/WKPreferences.h
  24. 39 0
      WebKit.framework/Headers/WKPreviewActionItem.h
  25. 38 0
      WebKit.framework/Headers/WKPreviewActionItemIdentifiers.h
  26. 43 0
      WebKit.framework/Headers/WKPreviewElementInfo.h
  27. 38 0
      WebKit.framework/Headers/WKProcessPool.h
  28. 59 0
      WebKit.framework/Headers/WKScriptMessage.h
  29. 51 0
      WebKit.framework/Headers/WKScriptMessageHandler.h
  30. 56 0
      WebKit.framework/Headers/WKSecurityOrigin.h
  31. 58 0
      WebKit.framework/Headers/WKSnapshotConfiguration.h
  32. 224 0
      WebKit.framework/Headers/WKUIDelegate.h
  33. 60 0
      WebKit.framework/Headers/WKURLSchemeHandler.h
  34. 75 0
      WebKit.framework/Headers/WKURLSchemeTask.h
  35. 88 0
      WebKit.framework/Headers/WKUserContentController.h
  36. 65 0
      WebKit.framework/Headers/WKUserScript.h
  37. 334 0
      WebKit.framework/Headers/WKWebView.h
  38. 215 0
      WebKit.framework/Headers/WKWebViewConfiguration.h
  39. 60 0
      WebKit.framework/Headers/WKWebpagePreferences.h
  40. 74 0
      WebKit.framework/Headers/WKWebsiteDataRecord.h
  41. 83 0
      WebKit.framework/Headers/WKWebsiteDataStore.h
  42. 71 0
      WebKit.framework/Headers/WKWindowFeatures.h
  43. 204 0
      WebKit.framework/Headers/WebKit.apinotes
  44. 64 0
      WebKit.framework/Headers/WebKit.h
  45. 3 0
      WebKit.framework/Headers/WebKitLegacy.h
  46. 5 0
      WebKit.framework/Modules/module.modulemap
  47. 1051 0
      WebKit.framework/WebKit.tbd
  48. 1 1
      layout/DEBIAN/control
  49. BIN
      layout/Library/Frameworks/FLEX.framework/FLEX
  50. 21 0
      layout/Library/Frameworks/FLEX.framework/PrivateHeaders/FLEXWebViewController.h
  51. 1 0
      tvOS/KBDatePickerView.m

+ 1 - 1
Classes/Editing/FLEXFieldEditorViewController.m

@@ -80,7 +80,7 @@
     [self.view addLayoutGuide:focusGuide];
     [focusGuide.topAnchor constraintEqualToAnchor:self.actionButton.topAnchor].active = true;
     [focusGuide.bottomAnchor constraintEqualToAnchor:self.getterButton.bottomAnchor].active = true;
-    focusGuide.preferredFocusEnvironments = @[self.actionButton, self.getterButton];
+    focusGuide.preferredFocusEnvironments = self.preferredFocusEnvironments;
     #endif
 
     // Configure input view

+ 2 - 0
Classes/ExplorerInterface/FLEXWindow.m

@@ -19,7 +19,9 @@
         // If we make the window level too high, we block out UIAlertViews.
         // There's a balance between staying above the app's windows and staying below alerts.
         // UIWindowLevelStatusBar + 100 seems to hit that balance.
+#if !TARGET_OS_TV
         self.windowLevel = UIWindowLevelStatusBar + 100.0;
+#endif
     }
     return self;
 }

+ 21 - 0
Classes/GlobalStateExplorers/FLEXWebViewController.h

@@ -8,6 +8,27 @@
 
 #import <UIKit/UIKit.h>
 
+#if TARGET_OS_TV
+@protocol KBWebViewDelegate;
+
+@interface KBWebView: UIView
+@property (nullable, nonatomic, assign) id <KBWebViewDelegate> delegate;
+
+- (void)loadRequest:(NSURLRequest *)request;
+- (void)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;
+- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;
+
+@property (nullable, nonatomic, readonly, strong) NSURLRequest *request;
+
+- (void)reload;
+- (void)stopLoading;
+
+- (void)goBack;
+- (void)goForward;
+@end
+
+#endif
+
 @interface FLEXWebViewController : UIViewController
 
 - (id)initWithURL:(NSURL *)url;

+ 14 - 8
Classes/GlobalStateExplorers/FLEXWebViewController.m

@@ -10,13 +10,17 @@
 #import "FLEXUtility.h"
 #import <WebKit/WebKit.h>
 #import <TargetConditionals.h>
-
+#if !TARGET_OS_TV
 @interface FLEXWebViewController () <WKNavigationDelegate>
+#else
+@interface FLEXWebViewController ()
+#endif
+
 
 #if !TARGET_OS_TV
 @property (nonatomic) WKWebView *webView;
 #else
-@property (nonatomic) UIWebView *webView;
+@property (nonatomic) KBWebView *webView;
 #endif
 @property (nonatomic) NSString *originalText;
 
@@ -38,7 +42,7 @@
         self.webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration];
         self.webView.navigationDelegate = self;
 #else
-        self.webView = [[UIWebView alloc] initWithFrame:CGRectZero];
+        self.webView = [[objc_getClass("UIWebView") alloc] initWithFrame:CGRectZero];
         self.webView.delegate = self;
 #endif
     }
@@ -95,18 +99,18 @@
 #endif
 }
 
-#pragma mark - UIWebView Delegate
+#pragma mark - KBWebVIew Delegate
 
--(void) webViewDidStartLoad:(UIWebView *)webView {
+-(void) webViewDidStartLoad:(KBWebView *)webView {
     LOG_SELF;
 }
 
-- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
+- (BOOL)webView:(KBWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(NSInteger)navigationType {
     FXLog(@"navtype: %lu", navigationType);
     FXLog(@"urL: %@", request.URL);
     FXLog(@"scheme: %@", request.URL.scheme);
     FXLog(@"navigationType: %lu", navigationType);
-    if (navigationType == UIWebViewNavigationTypeOther){
+    if (navigationType == 5){//
         return YES;
     } else {
         FLEXWebViewController *webVC = [[[self class] alloc] initWithURL:[request URL]];
@@ -117,11 +121,12 @@
     return YES;
 }
 
--(void) webViewDidFinishLoad:(UIWebView *)webView {
+-(void) webViewDidFinishLoad:(KBWebView *)webView {
     LOG_SELF;
     
 }
 
+#if !TARGET_OS_TV
 #pragma mark - WKWebView Delegate
 
 - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
@@ -140,6 +145,7 @@
     decisionHandler(policy);
 }
 
+#endif
 
 #pragma mark - Class Helpers
 

+ 4 - 0
Classes/Utility/FLEXUtility.h

@@ -47,7 +47,11 @@
 + (NSString *)pointerToString:(void *)ptr;
 + (NSString *)addressOfObject:(id)object;
 + (NSString *)stringByEscapingHTMLEntitiesInString:(NSString *)originalString;
+#if !TARGET_OS_TV
 + (UIInterfaceOrientationMask)infoPlistSupportedInterfaceOrientationsMask;
+#else
++ (NSUInteger)infoPlistSupportedInterfaceOrientationsMask;
+#endif
 + (UIImage *)thumbnailedImageWithMaxPixelDimension:(NSInteger)dimension fromImageData:(NSData *)data;
 + (NSString *)stringFromRequestDuration:(NSTimeInterval)duration;
 + (NSString *)statusCodeStringFromURLResponse:(NSURLResponse *)response;

+ 8 - 1
Classes/Utility/FLEXUtility.m

@@ -258,10 +258,17 @@ BOOL FLEXConstructorsShouldRun() {
     
     return [mutableString copy];
 }
-
+#if !TARGET_OS_TV
 + (UIInterfaceOrientationMask)infoPlistSupportedInterfaceOrientationsMask {
+#else
++ (NSUInteger)infoPlistSupportedInterfaceOrientationsMask {
+#endif
     NSArray<NSString *> *supportedOrientations = NSBundle.mainBundle.infoDictionary[@"UISupportedInterfaceOrientations"];
+    #if !TARGET_OS_TV
     UIInterfaceOrientationMask supportedOrientationsMask = 0;
+    #else
+    NSUInteger supportedOrientationsMask = 0;
+    #endif
     if ([supportedOrientations containsObject:@"UIInterfaceOrientationPortrait"]) {
         supportedOrientationsMask |= UIInterfaceOrientationMaskPortrait;
     }

+ 120 - 0
WebKit.framework/Headers/NSAttributedString.h

@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2019 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 <Foundation/Foundation.h>
+#import <WebKit/WKFoundation.h>
+
+#if TARGET_OS_IPHONE
+#import <UIKit/NSAttributedString.h>
+#else
+#import <AppKit/NSAttributedString.h>
+#endif
+
+@class NSAttributedString;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @abstract Indicates which local files WebKit can access when loading content.
+ @discussion If NSReadAccessURLDocumentOption references a single file, only that file may be
+ loaded by WebKit. If NSReadAccessURLDocumentOption references a directory, files inside that
+ directory may be loaded by WebKit.
+*/
+WK_EXTERN NSAttributedStringDocumentReadingOptionKey const NSReadAccessURLDocumentOption
+    NS_SWIFT_NAME(readAccessURL) API_AVAILABLE(macos(10.15), ios(13.0));
+
+/*!
+ @abstract Type definition for the completion handler block used to get asynchronous attributed strings.
+ @discussion The completion handler block is passed the attributed string result along with any
+ document-level attributes, like NSBackgroundColorDocumentAttribute, or an error. An implementation
+ of this block type must expect to be called asynchronously when passed to HTML loading methods.
+*/
+typedef void (^NSAttributedStringCompletionHandler)(NSAttributedString * _Nullable, NSDictionary<NSAttributedStringDocumentAttributeKey, id> * _Nullable, NSError * _Nullable)
+    NS_SWIFT_NAME(NSAttributedString.CompletionHandler) API_AVAILABLE(macos(10.15), ios(13.0));
+
+/*!
+ @discussion Extension of @link //apple_ref/occ/NSAttributedString NSAttributedString @/link to
+ create attributed strings from HTML content using WebKit.
+*/
+@interface NSAttributedString (NSAttributedStringWebKitAdditions)
+
+/*!
+ @abstract Loads an HTML URL request and converts the contents into an attributed string.
+ @param request The request specifying the URL to load.
+ @param options Document attributes for interpreting the document contents.
+ NSTextSizeMultiplierDocumentOption and NSTimeoutDocumentOption are supported option keys.
+ @param completionHandler A block to invoke when the operation completes or fails.
+ @discussion The completionHandler is passed the attributed string result along with any
+ document-level attributes, or an error.
+*/
++ (void)loadFromHTMLWithRequest:(NSURLRequest *)request options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)options completionHandler:(NSAttributedStringCompletionHandler)completionHandler
+    NS_SWIFT_NAME(loadFromHTML(request:options:completionHandler:)) API_AVAILABLE(macos(10.15), ios(13.0));
+
+/*!
+ @abstract Converts a local HTML file into an attributed string.
+ @param fileURL The file URL to load.
+ @param options Document attributes for interpreting the document contents.
+ NSTextSizeMultiplierDocumentOption, NSTimeoutDocumentOption and NSReadAccessURLDocumentOption
+ are supported option keys.
+ @param completionHandler A block to invoke when the operation completes or fails.
+ @discussion The completionHandler is passed the attributed string result along with any
+ document-level attributes, or an error. If NSReadAccessURLDocumentOption references a single file,
+ only that file may be loaded by WebKit. If NSReadAccessURLDocumentOption references a directory,
+ files inside that directory may be loaded by WebKit.
+*/
++ (void)loadFromHTMLWithFileURL:(NSURL *)fileURL options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)options completionHandler:(NSAttributedStringCompletionHandler)completionHandler
+    NS_SWIFT_NAME(loadFromHTML(fileURL:options:completionHandler:)) API_AVAILABLE(macos(10.15), ios(13.0));
+
+/*!
+ @abstract Converts an HTML string into an attributed string.
+ @param string The HTML string to use as the contents.
+ @param options Document attributes for interpreting the document contents.
+ NSTextSizeMultiplierDocumentOption, NSTimeoutDocumentOption and NSBaseURLDocumentOption
+ are supported option keys.
+ @param completionHandler A block to invoke when the operation completes or fails.
+ @discussion The completionHandler is passed the attributed string result along with any
+ document-level attributes, or an error. NSBaseURLDocumentOption is used to resolve relative URLs
+ within the document.
+*/
++ (void)loadFromHTMLWithString:(NSString *)string options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)options completionHandler:(NSAttributedStringCompletionHandler)completionHandler
+    NS_SWIFT_NAME(loadFromHTML(string:options:completionHandler:)) API_AVAILABLE(macos(10.15), ios(13.0));
+
+/*!
+ @abstract Converts HTML data into an attributed string.
+ @param data The HTML data to use as the contents.
+ @param options Document attributes for interpreting the document contents.
+ NSTextSizeMultiplierDocumentOption, NSTimeoutDocumentOption, NSTextEncodingNameDocumentOption,
+ and NSCharacterEncodingDocumentOption are supported option keys.
+ @param completionHandler A block to invoke when the operation completes or fails.
+ @discussion The completionHandler is passed the attributed string result along with any
+ document-level attributes, or an error. If neither NSTextEncodingNameDocumentOption nor
+ NSCharacterEncodingDocumentOption is supplied, a best-guess encoding is used.
+*/
++ (void)loadFromHTMLWithData:(NSData *)data options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> *)options completionHandler:(NSAttributedStringCompletionHandler)completionHandler
+    NS_SWIFT_NAME(loadFromHTML(data:options:completionHandler:)) API_AVAILABLE(macos(10.15), ios(13.0));
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 76 - 0
WebKit.framework/Headers/WKBackForwardList.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2013 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>
+
+#import <WebKit/WKBackForwardListItem.h>
+
+/*! @abstract A WKBackForwardList object is a list of webpages previously
+ visited in a web view that can be reached by going back or forward.
+ */
+NS_ASSUME_NONNULL_BEGIN
+
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKBackForwardList : NSObject
+
+/*! @abstract The current item.
+ */
+@property (nullable, nonatomic, readonly, strong) WKBackForwardListItem *currentItem;
+
+/*! @abstract The item immediately preceding the current item, or nil
+if there isn't one.
+ */
+@property (nullable, nonatomic, readonly, strong) WKBackForwardListItem *backItem;
+
+/*! @abstract The item immediately following the current item, or nil
+if there isn't one.
+ */
+@property (nullable, nonatomic, readonly, strong) WKBackForwardListItem *forwardItem;
+
+/*! @abstract Returns the item at a specified distance from the current
+ item.
+ @param index Index of the desired list item relative to the current item:
+ 0 for the current item, -1 for the immediately preceding item, 1 for the
+ immediately following item, and so on.
+ @result The item at the specified distance from the current item, or nil
+ if the index parameter exceeds the limits of the list.
+ */
+- (nullable WKBackForwardListItem *)itemAtIndex:(NSInteger)index;
+
+/*! @abstract The portion of the list preceding the current item.
+ @discussion The items are in the order in which they were originally
+ visited.
+ */
+@property (nonatomic, readonly, copy) NSArray<WKBackForwardListItem *> *backList;
+
+/*! @abstract The portion of the list following the current item.
+ @discussion The items are in the order in which they were originally
+ visited.
+ */
+@property (nonatomic, readonly, copy) NSArray<WKBackForwardListItem *> *forwardList;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 53 - 0
WebKit.framework/Headers/WKBackForwardListItem.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2013 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>
+
+#import <Foundation/Foundation.h>
+
+/*! A WKBackForwardListItem object represents a webpage in the back-forward list of a web view.
+ */
+NS_ASSUME_NONNULL_BEGIN
+
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKBackForwardListItem : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*! @abstract The URL of the webpage represented by this item.
+ */
+@property (readonly, copy) NSURL *URL;
+
+/*! @abstract The title of the webpage represented by this item.
+ */
+@property (nullable, readonly, copy) NSString *title;
+
+/*! @abstract The URL of the initial request that created this item.
+ */
+@property (readonly, copy) NSURL *initialURL;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 36 - 0
WebKit.framework/Headers/WKContentRuleList.h

@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2017 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>
+
+#import <Foundation/Foundation.h>
+
+WK_EXTERN API_AVAILABLE(macos(10.13), ios(11.0))
+@interface WKContentRuleList : NSObject
+
+/*! @abstract A copy of the identifier of the content extension. */
+@property (nonatomic, readonly, copy) NSString *identifier;
+
+@end

+ 43 - 0
WebKit.framework/Headers/WKContentRuleListStore.h

@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2017 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>
+
+#import <Foundation/Foundation.h>
+
+@class WKContentRuleList;
+
+WK_EXTERN API_AVAILABLE(macos(10.13), ios(11.0))
+@interface WKContentRuleListStore : NSObject
+
++ (instancetype)defaultStore;
++ (instancetype)storeWithURL:(NSURL *)url;
+
+- (void)compileContentRuleListForIdentifier:(NSString *)identifier encodedContentRuleList:(NSString *) encodedContentRuleList completionHandler:(void (^)(WKContentRuleList *, NSError *))completionHandler;
+- (void)lookUpContentRuleListForIdentifier:(NSString *)identifier completionHandler:(void (^)(WKContentRuleList *, NSError *))completionHandler;
+- (void)removeContentRuleListForIdentifier:(NSString *)identifier completionHandler:(void (^)(NSError *))completionHandler;
+- (void)getAvailableContentRuleListIdentifiers:(void (^)(NSArray<NSString *>*))completionHandler;
+
+@end

+ 46 - 0
WebKit.framework/Headers/WKContextMenuElementInfo.h

@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2019 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>
+
+#if TARGET_OS_IPHONE
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+WK_EXTERN API_AVAILABLE(ios(13.0))
+@interface WKContextMenuElementInfo : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@property (nonatomic, readonly, nullable) NSURL *linkURL;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif
+

+ 60 - 0
WebKit.framework/Headers/WKDataDetectorTypes.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2017 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+#if TARGET_OS_IPHONE
+
+/*! @enum WKDataDetectorTypes
+ @abstract The type of data detected.
+ @constant WKDataDetectorTypeNone No detection is performed.
+ @constant WKDataDetectorTypePhoneNumber Phone numbers are detected and turned into links.
+ @constant WKDataDetectorTypeLink URLs in text are detected and turned into links.
+ @constant WKDataDetectorTypeAddress Addresses are detected and turned into links.
+ @constant WKDataDetectorTypeCalendarEvent Dates and times that are in the future are detected and turned into links.
+ @constant WKDataDetectorTypeAll All of the above data types are turned into links when detected. Choosing this value will
+ automatically include any new detection type that is added.
+ */
+typedef NS_OPTIONS(NSUInteger, WKDataDetectorTypes) {
+    WKDataDetectorTypeNone = 0,
+    WKDataDetectorTypePhoneNumber = 1 << 0,
+    WKDataDetectorTypeLink = 1 << 1,
+    WKDataDetectorTypeAddress = 1 << 2,
+    WKDataDetectorTypeCalendarEvent = 1 << 3,
+    WKDataDetectorTypeTrackingNumber = 1 << 4,
+    WKDataDetectorTypeFlightNumber = 1 << 5,
+    WKDataDetectorTypeLookupSuggestion = 1 << 6,
+    WKDataDetectorTypeAll = NSUIntegerMax,
+
+    WKDataDetectorTypeSpotlightSuggestion API_DEPRECATED_WITH_REPLACEMENT("WKDataDetectorTypeLookupSuggestion", ios(10.0, 10.0)) = WKDataDetectorTypeLookupSuggestion,
+} API_AVAILABLE(ios(10.0));
+
+#endif
+
+NS_ASSUME_NONNULL_END

+ 63 - 0
WebKit.framework/Headers/WKError.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2014 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! @constant WKErrorDomain Indicates a WebKit error. */
+WK_EXTERN NSString * const WKErrorDomain API_AVAILABLE(macos(10.10), ios(8.0));
+
+/*! @enum WKErrorCode
+ @abstract Constants used by NSError to indicate errors in the WebKit domain.
+ @constant WKErrorUnknown                              Indicates that an unknown error occurred.
+ @constant WKErrorWebContentProcessTerminated          Indicates that the Web Content process was terminated.
+ @constant WKErrorWebViewInvalidated                   Indicates that the WKWebView was invalidated.
+ @constant WKErrorJavaScriptExceptionOccurred          Indicates that a JavaScript exception occurred.
+ @constant WKErrorJavaScriptResultTypeIsUnsupported    Indicates that the result of JavaScript execution could not be returned.
+ @constant WKErrorContentRuleListStoreCompileFailed    Indicates that compiling a WKUserContentRuleList failed.
+ @constant WKErrorContentRuleListStoreLookUpFailed     Indicates that looking up a WKUserContentRuleList failed.
+ @constant WKErrorContentRuleListStoreRemoveFailed     Indicates that removing a WKUserContentRuleList failed.
+ @constant WKErrorContentRuleListStoreVersionMismatch  Indicates that the WKUserContentRuleList version did not match the latest.
+ @constant WKErrorAttributedStringContentFailedToLoad  Indicates that the attributed string content failed to load.
+ @constant WKErrorAttributedStringContentLoadTimedOut  Indicates that loading attributed string content timed out.
+ */
+typedef NS_ENUM(NSInteger, WKErrorCode) {
+    WKErrorUnknown = 1,
+    WKErrorWebContentProcessTerminated,
+    WKErrorWebViewInvalidated,
+    WKErrorJavaScriptExceptionOccurred,
+    WKErrorJavaScriptResultTypeIsUnsupported API_AVAILABLE(macos(10.11), ios(9.0)),
+    WKErrorContentRuleListStoreCompileFailed API_AVAILABLE(macos(10.13), ios(11.0)),
+    WKErrorContentRuleListStoreLookUpFailed API_AVAILABLE(macos(10.13), ios(11.0)),
+    WKErrorContentRuleListStoreRemoveFailed API_AVAILABLE(macos(10.13), ios(11.0)),
+    WKErrorContentRuleListStoreVersionMismatch API_AVAILABLE(macos(10.13), ios(11.0)),
+    WKErrorAttributedStringContentFailedToLoad API_AVAILABLE(macos(10.15), ios(13.0)),
+    WKErrorAttributedStringContentLoadTimedOut API_AVAILABLE(macos(10.15), ios(13.0)),
+} API_AVAILABLE(macos(10.10), ios(8.0));
+
+NS_ASSUME_NONNULL_END

+ 34 - 0
WebKit.framework/Headers/WKFoundation.h

@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2013-2020 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 <Availability.h>
+#import <TargetConditionals.h>
+
+#ifdef __cplusplus
+#define WK_EXTERN extern "C" __attribute__((visibility ("default")))
+#else
+#define WK_EXTERN extern __attribute__((visibility ("default")))
+#endif
+

+ 61 - 0
WebKit.framework/Headers/WKFrameInfo.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2014-2017 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>
+
+#import <Foundation/Foundation.h>
+#import <WebKit/WKSecurityOrigin.h>
+#import <WebKit/WKWebView.h>
+
+/*! A WKFrameInfo object contains information about a frame on a webpage.
+ @discussion An instance of this class is a transient, data-only object;
+ it does not uniquely identify a frame across multiple delegate method
+ calls.
+ */
+NS_ASSUME_NONNULL_BEGIN
+
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKFrameInfo : NSObject <NSCopying>
+
+/*! @abstract A Boolean value indicating whether the frame is the main frame
+ or a subframe.
+ */
+@property (nonatomic, readonly, getter=isMainFrame) BOOL mainFrame;
+
+/*! @abstract The frame's current request.
+ */
+@property (nonatomic, readonly, copy) NSURLRequest *request;
+
+/*! @abstract The frame's current security origin.
+ */
+@property (nonatomic, readonly) WKSecurityOrigin *securityOrigin API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @abstract The web view of the webpage that contains this frame.
+ */
+@property (nonatomic, readonly, weak) WKWebView *webView API_AVAILABLE(macos(10.13), ios(11.0));
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 78 - 0
WebKit.framework/Headers/WKHTTPCookieStore.h

@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2017 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKHTTPCookieStore;
+
+API_AVAILABLE(macos(10.13), ios(11.0))
+@protocol WKHTTPCookieStoreObserver <NSObject>
+@optional
+- (void)cookiesDidChangeInCookieStore:(WKHTTPCookieStore *)cookieStore;
+@end
+
+/*!
+ A WKHTTPCookieStore object allows managing the HTTP cookies associated with a particular WKWebsiteDataStore.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.13), ios(11.0))
+@interface WKHTTPCookieStore : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*! @abstract Fetches all stored cookies.
+ @param completionHandler A block to invoke with the fetched cookies.
+ */
+- (void)getAllCookies:(void (^)(NSArray<NSHTTPCookie *> *))completionHandler;
+
+/*! @abstract Set a cookie.
+ @param cookie The cookie to set.
+ @param completionHandler A block to invoke once the cookie has been stored.
+ */
+- (void)setCookie:(NSHTTPCookie *)cookie completionHandler:(nullable void (^)(void))completionHandler;
+
+/*! @abstract Delete the specified cookie.
+ @param completionHandler A block to invoke once the cookie has been deleted.
+ */
+- (void)deleteCookie:(NSHTTPCookie *)cookie completionHandler:(nullable void (^)(void))completionHandler;
+
+/*! @abstract Adds a WKHTTPCookieStoreObserver object with the cookie store.
+ @param observer The observer object to add.
+ @discussion The observer is not retained by the receiver. It is your responsibility
+ to unregister the observer before it becomes invalid.
+ */
+- (void)addObserver:(id<WKHTTPCookieStoreObserver>)observer;
+
+/*! @abstract Removes a WKHTTPCookieStoreObserver object from the cookie store.
+ @param observer The observer to remove.
+ */
+- (void)removeObserver:(id<WKHTTPCookieStoreObserver>)observer;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 44 - 0
WebKit.framework/Headers/WKNavigation.h

@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2014 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>
+
+#import <Foundation/Foundation.h>
+#import <WebKit/WKWebpagePreferences.h>
+
+/*! A WKNavigation object can be used for tracking the loading progress of a webpage.
+ @discussion A navigation is returned from the web view load methods, and is
+ also passed to the navigation delegate methods, to uniquely identify a webpage
+ load from start to finish.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKNavigation : NSObject
+
+/*! The content mode used when loading this webpage.
+ @discussion The value is either WKContentModeMobile or WKContentModeDesktop.
+ */
+@property (nonatomic, readonly) WKContentMode effectiveContentMode API_AVAILABLE(ios(13.0));
+
+@end

+ 93 - 0
WebKit.framework/Headers/WKNavigationAction.h

@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2014 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>
+
+#if TARGET_OS_IPHONE
+#import <Foundation/Foundation.h>
+#else
+#import <AppKit/AppKit.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKFrameInfo;
+
+/*! @enum WKNavigationType
+ @abstract The type of action triggering a navigation.
+ @constant WKNavigationTypeLinkActivated    A link with an href attribute was activated by the user.
+ @constant WKNavigationTypeFormSubmitted    A form was submitted.
+ @constant WKNavigationTypeBackForward      An item from the back-forward list was requested.
+ @constant WKNavigationTypeReload           The webpage was reloaded.
+ @constant WKNavigationTypeFormResubmitted  A form was resubmitted (for example by going back, going forward, or reloading).
+ @constant WKNavigationTypeOther            Navigation is taking place for some other reason.
+ */
+typedef NS_ENUM(NSInteger, WKNavigationType) {
+    WKNavigationTypeLinkActivated,
+    WKNavigationTypeFormSubmitted,
+    WKNavigationTypeBackForward,
+    WKNavigationTypeReload,
+    WKNavigationTypeFormResubmitted,
+    WKNavigationTypeOther = -1,
+} API_AVAILABLE(macos(10.10), ios(8.0));
+
+/*! 
+A WKNavigationAction object contains information about an action that may cause a navigation, used for making policy decisions.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKNavigationAction : NSObject
+
+/*! @abstract The frame requesting the navigation.
+ */
+@property (nonatomic, readonly, copy) WKFrameInfo *sourceFrame;
+
+/*! @abstract The target frame, or nil if this is a new window navigation.
+ */
+@property (nullable, nonatomic, readonly, copy) WKFrameInfo *targetFrame;
+
+/*! @abstract The type of action that triggered the navigation.
+ @discussion The value is one of the constants of the enumerated type WKNavigationType.
+ */
+@property (nonatomic, readonly) WKNavigationType navigationType;
+
+/*! @abstract The navigation's request.
+ */
+@property (nonatomic, readonly, copy) NSURLRequest *request;
+
+#if !TARGET_OS_IPHONE
+
+/*! @abstract The modifier keys that were in effect when the navigation was requested.
+ */
+@property (nonatomic, readonly) NSEventModifierFlags modifierFlags;
+
+/*! @abstract The number of the mouse button causing the navigation to be requested.
+ */
+@property (nonatomic, readonly) NSInteger buttonNumber;
+
+#endif
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 162 - 0
WebKit.framework/Headers/WKNavigationDelegate.h

@@ -0,0 +1,162 @@
+/*
+ * Copyright (C) 2014-2019 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKNavigation;
+@class WKNavigationAction;
+@class WKNavigationResponse;
+@class WKWebView;
+@class WKWebpagePreferences;
+
+/*! @enum WKNavigationActionPolicy
+ @abstract The policy to pass back to the decision handler from the
+ webView:decidePolicyForNavigationAction:decisionHandler: method.
+ @constant WKNavigationActionPolicyCancel   Cancel the navigation.
+ @constant WKNavigationActionPolicyAllow    Allow the navigation to continue.
+ */
+typedef NS_ENUM(NSInteger, WKNavigationActionPolicy) {
+    WKNavigationActionPolicyCancel,
+    WKNavigationActionPolicyAllow,
+} API_AVAILABLE(macos(10.10), ios(8.0));
+
+/*! @enum WKNavigationResponsePolicy
+ @abstract The policy to pass back to the decision handler from the webView:decidePolicyForNavigationResponse:decisionHandler: method.
+ @constant WKNavigationResponsePolicyCancel   Cancel the navigation.
+ @constant WKNavigationResponsePolicyAllow    Allow the navigation to continue.
+ */
+typedef NS_ENUM(NSInteger, WKNavigationResponsePolicy) {
+    WKNavigationResponsePolicyCancel,
+    WKNavigationResponsePolicyAllow,
+} API_AVAILABLE(macos(10.10), ios(8.0));
+
+/*! A class conforming to the WKNavigationDelegate protocol can provide
+ methods for tracking progress for main frame navigations and for deciding
+ policy for main frame and subframe navigations.
+ */
+@protocol WKNavigationDelegate <NSObject>
+
+@optional
+
+/*! @abstract Decides whether to allow or cancel a navigation.
+ @param webView The web view invoking the delegate method.
+ @param navigationAction Descriptive information about the action
+ triggering the navigation request.
+ @param decisionHandler The decision handler to call to allow or cancel the
+ navigation. The argument is one of the constants of the enumerated type WKNavigationActionPolicy.
+ @discussion If you do not implement this method, the web view will load the request or, if appropriate, forward it to another application.
+ */
+- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;
+
+/*! @abstract Decides whether to allow or cancel a navigation.
+ @param webView The web view invoking the delegate method.
+ @param navigationAction Descriptive information about the action
+ triggering the navigation request.
+ @param preferences The default set of webpage preferences. This may be
+ changed by setting defaultWebpagePreferences on WKWebViewConfiguration.
+ @param decisionHandler The policy decision handler to call to allow or cancel
+ the navigation. The arguments are one of the constants of the enumerated type
+ WKNavigationActionPolicy, as well as an instance of WKWebpagePreferences.
+ @discussion If you implement this method,
+ -webView:decidePolicyForNavigationAction:decisionHandler: will not be called.
+ */
+- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction preferences:(WKWebpagePreferences *)preferences decisionHandler:(void (^)(WKNavigationActionPolicy, WKWebpagePreferences *))decisionHandler API_AVAILABLE(macos(10.15), ios(13.0));
+
+/*! @abstract Decides whether to allow or cancel a navigation after its
+ response is known.
+ @param webView The web view invoking the delegate method.
+ @param navigationResponse Descriptive information about the navigation
+ response.
+ @param decisionHandler The decision handler to call to allow or cancel the
+ navigation. The argument is one of the constants of the enumerated type WKNavigationResponsePolicy.
+ @discussion If you do not implement this method, the web view will allow the response, if the web view can show it.
+ */
+- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler;
+
+/*! @abstract Invoked when a main frame navigation starts.
+ @param webView The web view invoking the delegate method.
+ @param navigation The navigation.
+ */
+- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(null_unspecified WKNavigation *)navigation;
+
+/*! @abstract Invoked when a server redirect is received for the main
+ frame.
+ @param webView The web view invoking the delegate method.
+ @param navigation The navigation.
+ */
+- (void)webView:(WKWebView *)webView didReceiveServerRedirectForProvisionalNavigation:(null_unspecified WKNavigation *)navigation;
+
+/*! @abstract Invoked when an error occurs while starting to load data for
+ the main frame.
+ @param webView The web view invoking the delegate method.
+ @param navigation The navigation.
+ @param error The error that occurred.
+ */
+- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(null_unspecified WKNavigation *)navigation withError:(NSError *)error;
+
+/*! @abstract Invoked when content starts arriving for the main frame.
+ @param webView The web view invoking the delegate method.
+ @param navigation The navigation.
+ */
+- (void)webView:(WKWebView *)webView didCommitNavigation:(null_unspecified WKNavigation *)navigation;
+
+/*! @abstract Invoked when a main frame navigation completes.
+ @param webView The web view invoking the delegate method.
+ @param navigation The navigation.
+ */
+- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation;
+
+/*! @abstract Invoked when an error occurs during a committed main frame
+ navigation.
+ @param webView The web view invoking the delegate method.
+ @param navigation The navigation.
+ @param error The error that occurred.
+ */
+- (void)webView:(WKWebView *)webView didFailNavigation:(null_unspecified WKNavigation *)navigation withError:(NSError *)error;
+
+/*! @abstract Invoked when the web view needs to respond to an authentication challenge.
+ @param webView The web view that received the authentication challenge.
+ @param challenge The authentication challenge.
+ @param completionHandler The completion handler you must invoke to respond to the challenge. The
+ disposition argument is one of the constants of the enumerated type
+ NSURLSessionAuthChallengeDisposition. When disposition is NSURLSessionAuthChallengeUseCredential,
+ the credential argument is the credential to use, or nil to indicate continuing without a
+ credential.
+ @discussion If you do not implement this method, the web view will respond to the authentication challenge with the NSURLSessionAuthChallengeRejectProtectionSpace disposition.
+ */
+- (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * _Nullable credential))completionHandler;
+
+/*! @abstract Invoked when the web view's web content process is terminated.
+ @param webView The web view whose underlying web content process was terminated.
+ */
+- (void)webViewWebContentProcessDidTerminate:(WKWebView *)webView API_AVAILABLE(macos(10.11), ios(9.0));
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 54 - 0
WebKit.framework/Headers/WKNavigationResponse.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2014 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKFrameInfo;
+
+/*! Contains information about a navigation response, used for making policy decisions.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKNavigationResponse : NSObject
+
+/*! @abstract A Boolean value indicating whether the frame being navigated is the main frame.
+ */
+@property (nonatomic, readonly, getter=isForMainFrame) BOOL forMainFrame;
+
+/*! @abstract The frame's response.
+ */
+@property (nonatomic, readonly, copy) NSURLResponse *response;
+
+/*! @abstract A Boolean value indicating whether WebKit can display the response's MIME type natively.
+ @discussion Allowing a navigation response with a MIME type that can't be shown will cause the navigation to fail.
+ */
+@property (nonatomic, readonly) BOOL canShowMIMEType;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 51 - 0
WebKit.framework/Headers/WKOpenPanelParameters.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2016 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>
+
+#if !TARGET_OS_IPHONE
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! WKOpenPanelParameters contains parameters that a file upload control has specified.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.12))
+@interface WKOpenPanelParameters : NSObject
+
+/*! @abstract Whether the file upload control supports multiple files.
+ */
+@property (nonatomic, readonly) BOOL allowsMultipleSelection;
+
+/*! @abstract Whether the file upload control supports selecting directories.
+ */
+@property (nonatomic, readonly) BOOL allowsDirectories API_AVAILABLE(macos(10.13.4));
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif

+ 77 - 0
WebKit.framework/Headers/WKPreferences.h

@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2014-2017 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>
+
+#import <CoreGraphics/CoreGraphics.h>
+#import <Foundation/Foundation.h>
+
+/*! A WKPreferences object encapsulates the preference settings for a web
+ view. The preferences object associated with a web view is specified by
+ its web view configuration.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKPreferences : NSObject <NSSecureCoding>
+
+/*! @abstract The minimum font size in points.
+ @discussion The default value is 0.
+ */
+@property (nonatomic) CGFloat minimumFontSize;
+
+/*! @abstract A Boolean value indicating whether JavaScript is enabled.
+ @discussion The default value is YES.
+ */
+@property (nonatomic) BOOL javaScriptEnabled;
+
+/*! @abstract A Boolean value indicating whether JavaScript can open
+ windows without user interaction.
+ @discussion The default value is NO in iOS and YES in OS X.
+ */
+@property (nonatomic) BOOL javaScriptCanOpenWindowsAutomatically;
+
+/*! @abstract A Boolean value indicating whether warnings should be
+ shown for suspected fraudulent content such as phishing or malware.
+ @discussion The default value is YES. This feature is currently available
+ in the following region: China.
+ */
+@property (nonatomic, getter=isFraudulentWebsiteWarningEnabled) BOOL fraudulentWebsiteWarningEnabled API_AVAILABLE(macos(10.15), ios(13.0));
+
+#if !TARGET_OS_IPHONE
+/*!
+ @property tabFocusesLinks
+ @abstract If tabFocusesLinks is YES, the tab key will focus links and form controls.
+ The Option key temporarily reverses this preference.
+ */
+@property (nonatomic) BOOL tabFocusesLinks API_AVAILABLE(macos(10.12.3));
+#endif
+
+@end
+
+@interface WKPreferences (WKDeprecated)
+
+@property (nonatomic) BOOL javaEnabled API_DEPRECATED("Java is no longer supported", macos(10.10, 10.15));
+@property (nonatomic) BOOL plugInsEnabled API_DEPRECATED("Plug-ins are no longer supported", macos(10.10, 10.15));
+
+@end

+ 39 - 0
WebKit.framework/Headers/WKPreviewActionItem.h

@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2016 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>
+
+#if TARGET_OS_IPHONE
+
+#import <UIKit/UIViewController.h>
+
+API_DEPRECATED("This API will be replaced", ios(10.0, 13.0))
+@protocol WKPreviewActionItem <UIPreviewActionItem>
+
+@property (nonatomic, copy, readonly) NSString *identifier;
+
+@end
+
+#endif

+ 38 - 0
WebKit.framework/Headers/WKPreviewActionItemIdentifiers.h

@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2016 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>
+
+#if TARGET_OS_IPHONE
+
+#import <Foundation/Foundation.h>
+
+WK_EXTERN NSString * const WKPreviewActionItemIdentifierOpen API_DEPRECATED("This API will be replaced", ios(10.0, 13.0));
+WK_EXTERN NSString * const WKPreviewActionItemIdentifierAddToReadingList API_DEPRECATED("This API will be replaced", ios(10.0, 13.0));
+WK_EXTERN NSString * const WKPreviewActionItemIdentifierCopy API_DEPRECATED("This API will be replaced", ios(10.0, 13.0));
+WK_EXTERN NSString * const WKPreviewActionItemIdentifierShare API_DEPRECATED("This API will be replaced", ios(10.0, 13.0));
+
+#endif

+ 43 - 0
WebKit.framework/Headers/WKPreviewElementInfo.h

@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2015 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>
+
+#if TARGET_OS_IPHONE
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+WK_EXTERN API_DEPRECATED_WITH_REPLACEMENT("WKContextMenuElementInfo", ios(10.0, 13.0))
+@interface WKPreviewElementInfo : NSObject <NSCopying>
+
+@property (nonatomic, readonly, nullable) NSURL *linkURL;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif

+ 38 - 0
WebKit.framework/Headers/WKProcessPool.h

@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2014-2017 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>
+
+#import <Foundation/Foundation.h>
+
+/*! A WKProcessPool object represents a pool of web content processes.
+ The process pool associated with a web view is specified by its web view
+ configuration. Each web view is given its own web content process until an
+ implementation-defined process limit is reached; after that, web views
+ with the same process pool end up sharing web content processes.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKProcessPool : NSObject <NSSecureCoding>
+@end

+ 59 - 0
WebKit.framework/Headers/WKScriptMessage.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2014 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKFrameInfo;
+@class WKWebView;
+
+/*! A WKScriptMessage object contains information about a message sent from
+ a webpage.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKScriptMessage : NSObject
+
+/*! @abstract The body of the message.
+ @discussion Allowed types are NSNumber, NSString, NSDate, NSArray,
+ NSDictionary, and NSNull.
+ */
+@property (nonatomic, readonly, copy) id body;
+
+/*! @abstract The web view sending the message. */
+@property (nullable, nonatomic, readonly, weak) WKWebView *webView;
+
+/*! @abstract The frame sending the message. */
+@property (nonatomic, readonly, copy) WKFrameInfo *frameInfo;
+
+/*! @abstract The name of the message handler to which the message is sent.
+ */
+@property (nonatomic, readonly, copy) NSString *name;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 51 - 0
WebKit.framework/Headers/WKScriptMessageHandler.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2014 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKScriptMessage;
+@class WKUserContentController;
+
+/*! A class conforming to the WKScriptMessageHandler protocol provides a
+ method for receiving messages from JavaScript running in a webpage.
+ */
+@protocol WKScriptMessageHandler <NSObject>
+
+@required
+
+/*! @abstract Invoked when a script message is received from a webpage.
+ @param userContentController The user content controller invoking the
+ delegate method.
+ @param message The script message received.
+ */
+- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 56 - 0
WebKit.framework/Headers/WKSecurityOrigin.h

@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2015 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>
+
+#import <Foundation/Foundation.h>
+
+/*! A WKSecurityOrigin object contains information about a security origin.
+ @discussion An instance of this class is a transient, data-only object;
+ it does not uniquely identify a security origin across multiple delegate method
+ calls.
+ */
+NS_ASSUME_NONNULL_BEGIN
+
+WK_EXTERN API_AVAILABLE(macos(10.11), ios(9.0))
+@interface WKSecurityOrigin : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*! @abstract The security origin's protocol.
+ */
+@property (nonatomic, readonly, copy) NSString *protocol;
+
+/*! @abstract The security origin's host.
+ */
+@property (nonatomic, readonly, copy) NSString *host;
+
+/*! @abstract The security origin's port.
+ */
+@property (nonatomic, readonly) NSInteger port;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 58 - 0
WebKit.framework/Headers/WKSnapshotConfiguration.h

@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2017 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>
+
+#import <CoreGraphics/CGGeometry.h>
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+WK_EXTERN API_AVAILABLE(macos(10.13), ios(11.0))
+@interface WKSnapshotConfiguration : NSObject <NSCopying>
+
+/*! @abstract The rect to snapshot in view coordinates.
+ @discussion This rect should be contained within WKWebView's bounds. If the rect is set to the 
+ null rect, the view's bounds will be used. The initial value is the null rect.
+ */
+@property (nonatomic) CGRect rect;
+
+/*! @abstract Specify a custom width to control the size of image you get back. The height will be 
+ computed to maintain the aspect ratio established by rect.
+ @discussion snapshotWidth represents the width in points. If the snapshotWidth is nil, rect's
+ width will be used.
+ */
+@property (nullable, nonatomic, copy) NSNumber *snapshotWidth;
+
+/*! @abstract A Boolean value that specifies whether the snapshot should be taken after recent
+ changes have been incorporated. The value NO will capture the screen in its current state,
+ which might not include recent changes.
+ @discussion The default value is YES.
+ */
+@property (nonatomic) BOOL afterScreenUpdates API_AVAILABLE(macos(10.15), ios(13.0));
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 224 - 0
WebKit.framework/Headers/WKUIDelegate.h

@@ -0,0 +1,224 @@
+/*
+ * Copyright (C) 2014 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>
+
+#import <Foundation/Foundation.h>
+#import <WebKit/WKPreviewActionItem.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKFrameInfo;
+@class WKNavigationAction;
+@class WKOpenPanelParameters;
+@class WKPreviewElementInfo;
+@class WKSecurityOrigin;
+@class WKWebView;
+@class WKWebViewConfiguration;
+@class WKWindowFeatures;
+
+#if TARGET_OS_IOS
+@class WKContextMenuElementInfo;
+@class UIContextMenuConfiguration;
+@protocol UIContextMenuInteractionCommitAnimating;
+#endif
+
+/*! A class conforming to the WKUIDelegate protocol provides methods for
+ presenting native UI on behalf of a webpage.
+ */
+@protocol WKUIDelegate <NSObject>
+
+@optional
+
+/*! @abstract Creates a new web view.
+ @param webView The web view invoking the delegate method.
+ @param configuration The configuration to use when creating the new web
+ view. This configuration is a copy of webView.configuration.
+ @param navigationAction The navigation action causing the new web view to
+ be created.
+ @param windowFeatures Window features requested by the webpage.
+ @result A new web view or nil.
+ @discussion The web view returned must be created with the specified configuration. WebKit will load the request in the returned web view.
+
+ If you do not implement this method, the web view will cancel the navigation.
+ */
+- (nullable WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures;
+
+/*! @abstract Notifies your app that the DOM window object's close() method completed successfully.
+  @param webView The web view invoking the delegate method.
+  @discussion Your app should remove the web view from the view hierarchy and update
+  the UI as needed, such as by closing the containing browser tab or window.
+  */
+- (void)webViewDidClose:(WKWebView *)webView API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @abstract Displays a JavaScript alert panel.
+ @param webView The web view invoking the delegate method.
+ @param message The message to display.
+ @param frame Information about the frame whose JavaScript initiated this
+ call.
+ @param completionHandler The completion handler to call after the alert
+ panel has been dismissed.
+ @discussion For user security, your app should call attention to the fact
+ that a specific website controls the content in this panel. A simple forumla
+ for identifying the controlling website is frame.request.URL.host.
+ The panel should have a single OK button.
+
+ If you do not implement this method, the web view will behave as if the user selected the OK button.
+ */
+- (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(void))completionHandler;
+
+/*! @abstract Displays a JavaScript confirm panel.
+ @param webView The web view invoking the delegate method.
+ @param message The message to display.
+ @param frame Information about the frame whose JavaScript initiated this call.
+ @param completionHandler The completion handler to call after the confirm
+ panel has been dismissed. Pass YES if the user chose OK, NO if the user
+ chose Cancel.
+ @discussion For user security, your app should call attention to the fact
+ that a specific website controls the content in this panel. A simple forumla
+ for identifying the controlling website is frame.request.URL.host.
+ The panel should have two buttons, such as OK and Cancel.
+
+ If you do not implement this method, the web view will behave as if the user selected the Cancel button.
+ */
+- (void)webView:(WKWebView *)webView runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(BOOL result))completionHandler;
+
+/*! @abstract Displays a JavaScript text input panel.
+ @param webView The web view invoking the delegate method.
+ @param prompt The prompt to display.
+ @param defaultText The initial text to display in the text entry field.
+ @param frame Information about the frame whose JavaScript initiated this call.
+ @param completionHandler The completion handler to call after the text
+ input panel has been dismissed. Pass the entered text if the user chose
+ OK, otherwise nil.
+ @discussion For user security, your app should call attention to the fact
+ that a specific website controls the content in this panel. A simple forumla
+ for identifying the controlling website is frame.request.URL.host.
+ The panel should have two buttons, such as OK and Cancel, and a field in
+ which to enter text.
+
+ If you do not implement this method, the web view will behave as if the user selected the Cancel button.
+ */
+- (void)webView:(WKWebView *)webView runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(nullable NSString *)defaultText initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSString * _Nullable result))completionHandler;
+
+#if TARGET_OS_IPHONE
+
+/*! @abstract Allows your app to determine whether or not the given element should show a preview.
+ @param webView The web view invoking the delegate method.
+ @param elementInfo The elementInfo for the element the user has started touching.
+ @discussion To disable previews entirely for the given element, return NO. Returning NO will prevent 
+ webView:previewingViewControllerForElement:defaultActions: and webView:commitPreviewingViewController:
+ from being invoked.
+ 
+ This method will only be invoked for elements that have default preview in WebKit, which is
+ limited to links. In the future, it could be invoked for additional elements.
+ */
+- (BOOL)webView:(WKWebView *)webView shouldPreviewElement:(WKPreviewElementInfo *)elementInfo API_DEPRECATED_WITH_REPLACEMENT("webView:contextMenuConfigurationForElement:completionHandler:", ios(10.0, 13.0));
+
+/*! @abstract Allows your app to provide a custom view controller to show when the given element is peeked.
+ @param webView The web view invoking the delegate method.
+ @param elementInfo The elementInfo for the element the user is peeking.
+ @param defaultActions An array of the actions that WebKit would use as previewActionItems for this element by 
+ default. These actions would be used if allowsLinkPreview is YES but these delegate methods have not been 
+ implemented, or if this delegate method returns nil.
+ @discussion Returning a view controller will result in that view controller being displayed as a peek preview.
+ To use the defaultActions, your app is responsible for returning whichever of those actions it wants in your 
+ view controller's implementation of -previewActionItems.
+ 
+ Returning nil will result in WebKit's default preview behavior. webView:commitPreviewingViewController: will only be invoked
+ if a non-nil view controller was returned.
+ */
+- (nullable UIViewController *)webView:(WKWebView *)webView previewingViewControllerForElement:(WKPreviewElementInfo *)elementInfo defaultActions:(NSArray<id <WKPreviewActionItem>> *)previewActions API_DEPRECATED_WITH_REPLACEMENT("webView:contextMenuConfigurationForElement:completionHandler:", ios(10.0, 13.0));
+
+/*! @abstract Allows your app to pop to the view controller it created.
+ @param webView The web view invoking the delegate method.
+ @param previewingViewController The view controller that is being popped.
+ */
+- (void)webView:(WKWebView *)webView commitPreviewingViewController:(UIViewController *)previewingViewController API_DEPRECATED_WITH_REPLACEMENT("webView:contextMenuForElement:willCommitWithAnimator:", ios(10.0, 13.0));
+
+#endif // TARGET_OS_IPHONE
+
+#if TARGET_OS_IOS
+
+/**
+ * @abstract Called when a context menu interaction begins.
+ *
+ * @param webView The web view invoking the delegate method.
+ * @param elementInfo The elementInfo for the element the user is touching.
+ * @param completionHandler A completion handler to call once a it has been decided whether or not to show a context menu.
+ * Pass a valid UIContextMenuConfiguration to show a context menu, or pass nil to not show a context menu.
+ */
+
+- (void)webView:(WKWebView *)webView contextMenuConfigurationForElement:(WKContextMenuElementInfo *)elementInfo completionHandler:(void (^)(UIContextMenuConfiguration * _Nullable configuration))completionHandler API_AVAILABLE(ios(13.0));
+
+/**
+ * @abstract Called when the context menu will be presented.
+ *
+ * @param webView The web view invoking the delegate method.
+ * @param elementInfo The elementInfo for the element the user is touching.
+ */
+
+- (void)webView:(WKWebView *)webView contextMenuWillPresentForElement:(WKContextMenuElementInfo *)elementInfo API_AVAILABLE(ios(13.0));
+
+/**
+ * @abstract Called when the context menu configured by the UIContextMenuConfiguration from
+ * webView:contextMenuConfigurationForElement:completionHandler: is committed. That is, when
+ * the user has selected the view provided in the UIContextMenuContentPreviewProvider.
+ *
+ * @param webView The web view invoking the delegate method.
+ * @param elementInfo The elementInfo for the element the user is touching.
+ * @param animator The animator to use for the commit animation.
+ */
+
+- (void)webView:(WKWebView *)webView contextMenuForElement:(WKContextMenuElementInfo *)elementInfo willCommitWithAnimator:(id <UIContextMenuInteractionCommitAnimating>)animator API_AVAILABLE(ios(13.0));
+
+/**
+ * @abstract Called when the context menu ends, either by being dismissed or when a menu action is taken.
+ *
+ * @param webView The web view invoking the delegate method.
+ * @param elementInfo The elementInfo for the element the user is touching.
+ */
+
+- (void)webView:(WKWebView *)webView contextMenuDidEndForElement:(WKContextMenuElementInfo *)elementInfo API_AVAILABLE(ios(13.0));
+
+#endif // TARGET_OS_IOS
+
+#if !TARGET_OS_IPHONE
+
+/*! @abstract Displays a file upload panel.
+ @param webView The web view invoking the delegate method.
+ @param parameters Parameters describing the file upload control.
+ @param frame Information about the frame whose file upload control initiated this call.
+ @param completionHandler The completion handler to call after open panel has been dismissed. Pass the selected URLs if the user chose OK, otherwise nil.
+
+ If you do not implement this method, the web view will behave as if the user selected the Cancel button.
+ */
+- (void)webView:(WKWebView *)webView runOpenPanelWithParameters:(WKOpenPanelParameters *)parameters initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSArray<NSURL *> * _Nullable URLs))completionHandler API_AVAILABLE(macos(10.12));
+
+#endif
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 60 - 0
WebKit.framework/Headers/WKURLSchemeHandler.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2017 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKWebView;
+@protocol WKURLSchemeTask;
+
+/*! A class conforming to the WKURLSchemeHandler protocol provides methods for
+ loading resources with URL schemes that WebKit doesn't know how to handle itself.
+ */
+API_AVAILABLE(macos(10.13), ios(11.0))
+@protocol WKURLSchemeHandler <NSObject>
+
+/*! @abstract Notifies your app to start loading the data for a particular resource 
+ represented by the URL scheme handler task.
+ @param webView The web view invoking the method.
+ @param urlSchemeTask The task that your app should start loading data for.
+ */
+- (void)webView:(WKWebView *)webView startURLSchemeTask:(id <WKURLSchemeTask>)urlSchemeTask;
+
+/*! @abstract Notifies your app to stop handling a URL scheme handler task.
+ @param webView The web view invoking the method.
+ @param urlSchemeTask The task that your app should stop handling.
+ @discussion After your app is told to stop loading data for a URL scheme handler task
+ it must not perform any callbacks for that task.
+ An exception will be thrown if any callbacks are made on the URL scheme handler task
+ after your app has been told to stop loading for it.
+ */
+- (void)webView:(WKWebView *)webView stopURLSchemeTask:(id <WKURLSchemeTask>)urlSchemeTask;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 75 - 0
WebKit.framework/Headers/WKURLSchemeTask.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2017 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(macos(10.13), ios(11.0))
+@protocol WKURLSchemeTask <NSObject>
+
+/*! @abstract The request to load for this task.
+ */
+@property (nonatomic, readonly, copy) NSURLRequest *request;
+
+/*! @abstract Set the current response object for the task.
+ @param response The response to use.
+ @discussion This method must be called at least once for each URL scheme handler task.
+ Cross-origin requests require CORS header fields.
+ An exception will be thrown if you try to send a new response object after the task has already been completed.
+ An exception will be thrown if your app has been told to stop loading this task via the registered WKURLSchemeHandler object.
+ */
+- (void)didReceiveResponse:(NSURLResponse *)response;
+
+/*! @abstract Add received data to the task.
+ @param data The data to add.
+ @discussion After a URL scheme handler task's final response object is received you should
+ start sending it data.
+ Each time this method is called the data you send will be appended to all previous data.
+ An exception will be thrown if you try to send the task any data before sending it a response.
+ An exception will be thrown if you try to send the task any data after the task has already been completed.
+ An exception will be thrown if your app has been told to stop loading this task via the registered WKURLSchemeHandler object.
+ */
+- (void)didReceiveData:(NSData *)data;
+
+/*! @abstract Mark the task as successfully completed.
+ @discussion An exception will be thrown if you try to finish the task before sending it a response.
+ An exception will be thrown if you try to mark a task completed after it has already been marked completed or failed.
+ An exception will be thrown if your app has been told to stop loading this task via the registered WKURLSchemeHandler object.
+ */
+- (void)didFinish;
+
+/*! @abstract Mark the task as failed.
+ @param error A description of the error that caused the task to fail.
+ @discussion  An exception will be thrown if you try to mark a task failed after it has already been marked completed or failed.
+ An exception will be thrown if your app has been told to stop loading this task via the registered WKURLSchemeHandler object.
+ */
+- (void)didFailWithError:(NSError *)error;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 88 - 0
WebKit.framework/Headers/WKUserContentController.h

@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2014-2017 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKContentRuleList;
+@class WKUserScript;
+@protocol WKScriptMessageHandler;
+
+/*! A WKUserContentController object provides a way for JavaScript to post
+ messages to a web view.
+ The user content controller associated with a web view is specified by its
+ web view configuration.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKUserContentController : NSObject <NSSecureCoding>
+
+/*! @abstract The user scripts associated with this user content
+ controller.
+*/
+@property (nonatomic, readonly, copy) NSArray<WKUserScript *> *userScripts;
+
+/*! @abstract Adds a user script.
+ @param userScript The user script to add.
+*/
+- (void)addUserScript:(WKUserScript *)userScript;
+
+/*! @abstract Removes all associated user scripts.
+*/
+- (void)removeAllUserScripts;
+
+/*! @abstract Adds a script message handler.
+ @param scriptMessageHandler The message handler to add.
+ @param name The name of the message handler.
+ @discussion Adding a scriptMessageHandler adds a function
+ window.webkit.messageHandlers.<name>.postMessage(<messageBody>) for all
+ frames.
+ */
+- (void)addScriptMessageHandler:(id <WKScriptMessageHandler>)scriptMessageHandler name:(NSString *)name;
+
+/*! @abstract Removes a script message handler.
+ @param name The name of the message handler to remove.
+ */
+- (void)removeScriptMessageHandlerForName:(NSString *)name;
+
+/*! @abstract Adds a content rule list.
+ @param contentRuleList The content rule list to add.
+ */
+- (void)addContentRuleList:(WKContentRuleList *)contentRuleList API_AVAILABLE(macos(10.13), ios(11.0));
+
+/*! @abstract Removes a content rule list.
+ @param contentRuleList The content rule list to remove.
+ */
+- (void)removeContentRuleList:(WKContentRuleList *)contentRuleList API_AVAILABLE(macos(10.13), ios(11.0));
+
+/*! @abstract Removes all associated content rule lists.
+ */
+- (void)removeAllContentRuleLists API_AVAILABLE(macos(10.13), ios(11.0));
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 65 - 0
WebKit.framework/Headers/WKUserScript.h

@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2014 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>
+
+#import <Foundation/Foundation.h>
+
+/*! @enum WKUserScriptInjectionTime
+ @abstract when a user script should be injected into a webpage.
+ @constant WKUserScriptInjectionTimeAtDocumentStart    Inject the script after the document element has been created, but before any other content has been loaded.
+ @constant WKUserScriptInjectionTimeAtDocumentEnd      Inject the script after the document has finished loading, but before any subresources may have finished loading.
+ */
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NS_ENUM(NSInteger, WKUserScriptInjectionTime) {
+    WKUserScriptInjectionTimeAtDocumentStart,
+    WKUserScriptInjectionTimeAtDocumentEnd
+} API_AVAILABLE(macos(10.10), ios(8.0));
+
+/*! A @link WKUserScript @/link object represents a script that can be injected into webpages.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKUserScript : NSObject <NSCopying>
+
+/* @abstract The script source code. */
+@property (nonatomic, readonly, copy) NSString *source;
+
+/* @abstract When the script should be injected. */
+@property (nonatomic, readonly) WKUserScriptInjectionTime injectionTime;
+
+/* @abstract Whether the script should be injected into all frames or just the main frame. */
+@property (nonatomic, readonly, getter=isForMainFrameOnly) BOOL forMainFrameOnly;
+
+/*! @abstract Returns an initialized user script that can be added to a @link WKUserContentController @/link.
+ @param source The script source.
+ @param injectionTime When the script should be injected.
+ @param forMainFrameOnly Whether the script should be injected into all frames or just the main frame.
+ */
+- (instancetype)initWithSource:(NSString *)source injectionTime:(WKUserScriptInjectionTime)injectionTime forMainFrameOnly:(BOOL)forMainFrameOnly;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 334 - 0
WebKit.framework/Headers/WKWebView.h

@@ -0,0 +1,334 @@
+/*
+ * Copyright (C) 2014 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>
+
+#if TARGET_OS_IPHONE
+#import <UIKit/UIKit.h>
+#else
+#import <AppKit/AppKit.h>
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKBackForwardList;
+@class WKBackForwardListItem;
+@class WKNavigation;
+@class WKSnapshotConfiguration;
+@class WKWebViewConfiguration;
+
+@protocol WKNavigationDelegate;
+@protocol WKUIDelegate;
+
+/*!
+ A WKWebView object displays interactive Web content.
+ @helperclass @link WKWebViewConfiguration @/link
+ Used to configure @link WKWebView @/link instances.
+ */
+#if TARGET_OS_IPHONE
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKWebView : UIView
+#else
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKWebView : NSView
+#endif
+
+/*! @abstract A copy of the configuration with which the web view was
+ initialized. */
+@property (nonatomic, readonly, copy) WKWebViewConfiguration *configuration;
+
+/*! @abstract The web view's navigation delegate. */
+@property (nullable, nonatomic, weak) id <WKNavigationDelegate> navigationDelegate;
+
+/*! @abstract The web view's user interface delegate. */
+@property (nullable, nonatomic, weak) id <WKUIDelegate> UIDelegate;
+
+/*! @abstract The web view's back-forward list. */
+@property (nonatomic, readonly, strong) WKBackForwardList *backForwardList;
+
+/*! @abstract Returns a web view initialized with a specified frame and
+ configuration.
+ @param frame The frame for the new web view.
+ @param configuration The configuration for the new web view.
+ @result An initialized web view, or nil if the object could not be
+ initialized.
+ @discussion This is a designated initializer. You can use
+ @link -initWithFrame: @/link to initialize an instance with the default
+ configuration. The initializer copies the specified configuration, so
+ mutating the configuration after invoking the initializer has no effect
+ on the web view.
+ */
+- (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration NS_DESIGNATED_INITIALIZER;
+
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
+
+/*! @abstract Navigates to a requested URL.
+ @param request The request specifying the URL to which to navigate.
+ @result A new navigation for the given request.
+ */
+- (nullable WKNavigation *)loadRequest:(NSURLRequest *)request;
+
+/*! @abstract Navigates to the requested file URL on the filesystem.
+ @param URL The file URL to which to navigate.
+ @param readAccessURL The URL to allow read access to.
+ @discussion If readAccessURL references a single file, only that file may be loaded by WebKit.
+ If readAccessURL references a directory, files inside that file may be loaded by WebKit.
+ @result A new navigation for the given file URL.
+ */
+- (nullable WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @abstract Sets the webpage contents and base URL.
+ @param string The string to use as the contents of the webpage.
+ @param baseURL A URL that is used to resolve relative URLs within the document.
+ @result A new navigation.
+ */
+- (nullable WKNavigation *)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;
+
+/*! @abstract Sets the webpage contents and base URL.
+ @param data The data to use as the contents of the webpage.
+ @param MIMEType The MIME type of the data.
+ @param characterEncodingName The data's character encoding name.
+ @param baseURL A URL that is used to resolve relative URLs within the document.
+ @result A new navigation.
+ */
+- (nullable WKNavigation *)loadData:(NSData *)data MIMEType:(NSString *)MIMEType characterEncodingName:(NSString *)characterEncodingName baseURL:(NSURL *)baseURL API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @abstract Navigates to an item from the back-forward list and sets it
+ as the current item.
+ @param item The item to which to navigate. Must be one of the items in the
+ web view's back-forward list.
+ @result A new navigation to the requested item, or nil if it is already
+ the current item or is not part of the web view's back-forward list.
+ @seealso backForwardList
+ */
+- (nullable WKNavigation *)goToBackForwardListItem:(WKBackForwardListItem *)item;
+
+/*! @abstract The page title.
+ @discussion @link WKWebView @/link is key-value observing (KVO) compliant
+ for this property.
+ */
+@property (nullable, nonatomic, readonly, copy) NSString *title;
+
+/*! @abstract The active URL.
+ @discussion This is the URL that should be reflected in the user
+ interface.
+ @link WKWebView @/link is key-value observing (KVO) compliant for this
+ property.
+ */
+@property (nullable, nonatomic, readonly, copy) NSURL *URL;
+
+/*! @abstract A Boolean value indicating whether the view is currently
+ loading content.
+ @discussion @link WKWebView @/link is key-value observing (KVO) compliant
+ for this property.
+ */
+@property (nonatomic, readonly, getter=isLoading) BOOL loading;
+
+/*! @abstract An estimate of what fraction of the current navigation has been completed.
+ @discussion This value ranges from 0.0 to 1.0 based on the total number of
+ bytes expected to be received, including the main document and all of its
+ potential subresources. After a navigation completes, the value remains at 1.0
+ until a new navigation starts, at which point it is reset to 0.0.
+ @link WKWebView @/link is key-value observing (KVO) compliant for this
+ property.
+ */
+@property (nonatomic, readonly) double estimatedProgress;
+
+/*! @abstract A Boolean value indicating whether all resources on the page
+ have been loaded over securely encrypted connections.
+ @discussion @link WKWebView @/link is key-value observing (KVO) compliant
+ for this property.
+ */
+@property (nonatomic, readonly) BOOL hasOnlySecureContent;
+
+/*! @abstract A SecTrustRef for the currently committed navigation.
+ @discussion @link WKWebView @/link is key-value observing (KVO) compliant 
+ for this property.
+ */
+@property (nonatomic, readonly, nullable) SecTrustRef serverTrust API_AVAILABLE(macos(10.12), ios(10.0));
+
+/*! @abstract A Boolean value indicating whether there is a back item in
+ the back-forward list that can be navigated to.
+ @discussion @link WKWebView @/link is key-value observing (KVO) compliant
+ for this property.
+ @seealso backForwardList.
+ */
+@property (nonatomic, readonly) BOOL canGoBack;
+
+/*! @abstract A Boolean value indicating whether there is a forward item in
+ the back-forward list that can be navigated to.
+ @discussion @link WKWebView @/link is key-value observing (KVO) compliant
+ for this property.
+ @seealso backForwardList.
+ */
+@property (nonatomic, readonly) BOOL canGoForward;
+
+/*! @abstract Navigates to the back item in the back-forward list.
+ @result A new navigation to the requested item, or nil if there is no back
+ item in the back-forward list.
+ */
+- (nullable WKNavigation *)goBack;
+
+/*! @abstract Navigates to the forward item in the back-forward list.
+ @result A new navigation to the requested item, or nil if there is no
+ forward item in the back-forward list.
+ */
+- (nullable WKNavigation *)goForward;
+
+/*! @abstract Reloads the current page.
+ @result A new navigation representing the reload.
+ */
+- (nullable WKNavigation *)reload;
+
+/*! @abstract Reloads the current page, performing end-to-end revalidation
+ using cache-validating conditionals if possible.
+ @result A new navigation representing the reload.
+ */
+- (nullable WKNavigation *)reloadFromOrigin;
+
+/*! @abstract Stops loading all resources on the current page.
+ */
+- (void)stopLoading;
+
+/* @abstract Evaluates the given JavaScript string.
+ @param javaScriptString The JavaScript string to evaluate.
+ @param completionHandler A block to invoke when script evaluation completes or fails.
+ @discussion The completionHandler is passed the result of the script evaluation or an error.
+*/
+- (void)evaluateJavaScript:(NSString *)javaScriptString completionHandler:(void (^ _Nullable)(_Nullable id, NSError * _Nullable error))completionHandler;
+
+/*! @abstract Get a snapshot for the visible viewport of WKWebView.
+ @param snapshotConfiguration An object that specifies how the snapshot is configured.
+ @param completionHandler A block to invoke when the snapshot is ready.
+ @discussion If the WKSnapshotConfiguration is nil, the method will snapshot the bounds of the 
+ WKWebView and create an image that is the width of the bounds of the WKWebView and scaled to the 
+ device scale. The completionHandler is passed the image of the viewport contents or an error.
+ */
+#if TARGET_OS_IPHONE
+- (void)takeSnapshotWithConfiguration:(nullable WKSnapshotConfiguration *)snapshotConfiguration completionHandler:(void (^)(UIImage * _Nullable snapshotImage, NSError * _Nullable error))completionHandler API_AVAILABLE(ios(11.0));
+#else
+- (void)takeSnapshotWithConfiguration:(nullable WKSnapshotConfiguration *)snapshotConfiguration completionHandler:(void (^)(NSImage * _Nullable snapshotImage, NSError * _Nullable error))completionHandler API_AVAILABLE(macos(10.13));
+#endif
+
+/*! @abstract A Boolean value indicating whether horizontal swipe gestures
+ will trigger back-forward list navigations.
+ @discussion The default value is NO.
+ */
+@property (nonatomic) BOOL allowsBackForwardNavigationGestures;
+
+/*! @abstract The custom user agent string or nil if no custom user agent string has been set.
+*/
+@property (nullable, nonatomic, copy) NSString *customUserAgent API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @abstract A Boolean value indicating whether link preview is allowed for any
+ links inside this WKWebView.
+ @discussion The default value is YES on Mac and iOS.
+ */
+@property (nonatomic) BOOL allowsLinkPreview API_AVAILABLE(macos(10.11), ios(9.0));
+
+#if TARGET_OS_IPHONE
+/*! @abstract The scroll view associated with the web view.
+ */
+@property (nonatomic, readonly, strong) UIScrollView *scrollView;
+#endif
+
+#if !TARGET_OS_IPHONE
+/* @abstract A Boolean value indicating whether magnify gestures will
+ change the web view's magnification.
+ @discussion It is possible to set the magnification property even if
+ allowsMagnification is set to NO.
+ The default value is NO.
+ */
+@property (nonatomic) BOOL allowsMagnification;
+
+/* @abstract The factor by which the viewport of the page is currently scaled.
+ @discussion The default value is 1.0.
+ */
+@property (nonatomic) CGFloat magnification;
+
+/* @abstract Scales the page content by a specified factor and centers the
+ result on a specified point.
+ * @param magnification The factor by which to scale the content.
+ * @param point The point (in view space) on which to center magnification.
+ */
+- (void)setMagnification:(CGFloat)magnification centeredAtPoint:(CGPoint)point;
+
+#endif
+
+/* @abstract Checks whether or not WKWebViews handle the given URL scheme by default.
+ @param scheme The URL scheme to check.
+ */
++ (BOOL)handlesURLScheme:(NSString *)urlScheme API_AVAILABLE(macos(10.13), ios(11.0));
+
+@end
+
+#if !TARGET_OS_IPHONE
+
+@interface WKWebView (WKIBActions) <NSUserInterfaceValidations>
+
+/*! @abstract Action method that navigates to the back item in the
+ back-forward list.
+ @param sender The object that sent this message.
+ */
+- (IBAction)goBack:(nullable id)sender;
+
+/*! @abstract Action method that navigates to the forward item in the
+ back-forward list.
+ @param sender The object that sent this message.
+ */
+- (IBAction)goForward:(nullable id)sender;
+
+/*! @abstract Action method that reloads the current page.
+ @param sender The object that sent this message.
+ */
+- (IBAction)reload:(nullable id)sender;
+
+/*! @abstract Action method that reloads the current page, performing
+ end-to-end revalidation using cache-validating conditionals if possible.
+ @param sender The object that sent this message.
+ */
+- (IBAction)reloadFromOrigin:(nullable id)sender;
+
+/*! @abstract Action method that stops loading all resources on the current
+ page.
+ @param sender The object that sent this message.
+ */
+- (IBAction)stopLoading:(nullable id)sender;
+
+@end
+
+API_AVAILABLE(macos(10.15))
+@interface WKWebView (WKNSTextFinderClient) <NSTextFinderClient>
+@end
+
+#endif
+
+@interface WKWebView (WKDeprecated)
+
+@property (nonatomic, readonly, copy) NSArray *certificateChain API_DEPRECATED_WITH_REPLACEMENT("serverTrust", macos(10.11, 10.12), ios(9.0, 10.0));
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 215 - 0
WebKit.framework/Headers/WKWebViewConfiguration.h

@@ -0,0 +1,215 @@
+/*
+ * Copyright (C) 2014-2019 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>
+
+#import <Foundation/Foundation.h>
+#import <WebKit/WKDataDetectorTypes.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKPreferences;
+@class WKProcessPool;
+@class WKUserContentController;
+@class WKWebpagePreferences;
+@class WKWebsiteDataStore;
+@protocol WKURLSchemeHandler;
+
+#if TARGET_OS_IPHONE
+
+/*! @enum WKSelectionGranularity
+ @abstract The granularity with which a selection can be created and modified interactively.
+ @constant WKSelectionGranularityDynamic    Selection granularity varies automatically based on the selection.
+ @constant WKSelectionGranularityCharacter  Selection endpoints can be placed at any character boundary.
+ @discussion An example of how granularity may vary when WKSelectionGranularityDynamic is used is
+ that when the selection is within a single block, the granularity may be single character, and when
+ the selection is not confined to a single block, the selection granularity may be single block.
+ */
+typedef NS_ENUM(NSInteger, WKSelectionGranularity) {
+    WKSelectionGranularityDynamic,
+    WKSelectionGranularityCharacter,
+} API_AVAILABLE(ios(8.0));
+
+#else
+
+/*! @enum WKUserInterfaceDirectionPolicy
+ @abstract The policy used to determine the directionality of user interface elements inside a web view.
+ @constant WKUserInterfaceDirectionPolicyContent User interface directionality follows CSS / HTML / XHTML
+ specifications.
+ @constant WKUserInterfaceDirectionPolicySystem User interface directionality follows the view's
+ userInterfaceLayoutDirection property
+ @discussion When WKUserInterfaceDirectionPolicyContent is specified, the directionality of user interface
+ elements is affected by the "dir" attribute or the "direction" CSS property. When
+ WKUserInterfaceDirectionPolicySystem is specified, the directionality of user interface elements is
+ affected by the direction of the view.
+*/
+typedef NS_ENUM(NSInteger, WKUserInterfaceDirectionPolicy) {
+    WKUserInterfaceDirectionPolicyContent,
+    WKUserInterfaceDirectionPolicySystem,
+} API_AVAILABLE(macos(10.12));
+
+#endif
+
+/*! @enum WKAudiovisualMediaTypes
+ @abstract The types of audiovisual media which will require a user gesture to begin playing.
+ @constant WKAudiovisualMediaTypeNone No audiovisual media will require a user gesture to begin playing.
+ @constant WKAudiovisualMediaTypeAudio Audiovisual media containing audio will require a user gesture to begin playing.
+ @constant WKAudiovisualMediaTypeVideo Audiovisual media containing video will require a user gesture to begin playing.
+ @constant WKAudiovisualMediaTypeAll All audiovisual media will require a user gesture to begin playing.
+*/
+typedef NS_OPTIONS(NSUInteger, WKAudiovisualMediaTypes) {
+    WKAudiovisualMediaTypeNone = 0,
+    WKAudiovisualMediaTypeAudio = 1 << 0,
+    WKAudiovisualMediaTypeVideo = 1 << 1,
+    WKAudiovisualMediaTypeAll = NSUIntegerMax
+} API_AVAILABLE(macos(10.12), ios(10.0));
+
+/*! A WKWebViewConfiguration object is a collection of properties with
+ which to initialize a web view.
+ @helps Contains properties used to configure a @link WKWebView @/link.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKWebViewConfiguration : NSObject <NSSecureCoding, NSCopying>
+
+/*! @abstract The process pool from which to obtain the view's web content
+ process.
+ @discussion When a web view is initialized, a new web content process
+ will be created for it from the specified pool, or an existing process in
+ that pool will be used.
+*/
+@property (nonatomic, strong) WKProcessPool *processPool;
+
+/*! @abstract The preference settings to be used by the web view.
+*/
+@property (nonatomic, strong) WKPreferences *preferences;
+
+/*! @abstract The user content controller to associate with the web view.
+*/
+@property (nonatomic, strong) WKUserContentController *userContentController;
+
+/*! @abstract The website data store to be used by the web view.
+ */
+@property (nonatomic, strong) WKWebsiteDataStore *websiteDataStore API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @abstract A Boolean value indicating whether the web view suppresses
+ content rendering until it is fully loaded into memory.
+ @discussion The default value is NO.
+ */
+@property (nonatomic) BOOL suppressesIncrementalRendering;
+
+/*! @abstract The name of the application as used in the user agent string.
+*/
+@property (nullable, nonatomic, copy) NSString *applicationNameForUserAgent API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @abstract A Boolean value indicating whether AirPlay is allowed.
+ @discussion The default value is YES.
+ */
+@property (nonatomic) BOOL allowsAirPlayForMediaPlayback API_AVAILABLE(macos(10.11), ios(9.0));
+
+@property (nonatomic) WKAudiovisualMediaTypes mediaTypesRequiringUserActionForPlayback API_AVAILABLE(macos(10.12), ios(10.0));
+
+/*! @abstract The set of default webpage preferences to use when loading and rendering content.
+ @discussion These default webpage preferences are additionally passed to the navigation delegate
+ in -webView:decidePolicyForNavigationAction:preferences:decisionHandler:.
+ */
+@property (null_resettable, nonatomic, copy) WKWebpagePreferences *defaultWebpagePreferences API_AVAILABLE(macos(10.15), ios(13.0));
+
+#if TARGET_OS_IPHONE
+/*! @abstract A Boolean value indicating whether HTML5 videos play inline
+ (YES) or use the native full-screen controller (NO).
+ @discussion The default value is NO.
+ */
+@property (nonatomic) BOOL allowsInlineMediaPlayback;
+
+/*! @abstract The level of granularity with which the user can interactively
+ select content in the web view.
+ @discussion Possible values are described in WKSelectionGranularity.
+ The default value is WKSelectionGranularityDynamic.
+ */
+@property (nonatomic) WKSelectionGranularity selectionGranularity;
+
+/*! @abstract A Boolean value indicating whether HTML5 videos may play
+ picture-in-picture.
+ @discussion The default value is YES.
+ */
+@property (nonatomic) BOOL allowsPictureInPictureMediaPlayback API_AVAILABLE(ios(9_0));
+
+/*! @abstract An enum value indicating the type of data detection desired.
+ @discussion The default value is WKDataDetectorTypeNone.
+ An example of how this property may affect the content loaded in the WKWebView is that content like
+ 'Visit apple.com on July 4th or call 1 800 555-5545' will be transformed to add links around 'apple.com', 'July 4th' and '1 800 555-5545'
+ if the dataDetectorTypes property is set to WKDataDetectorTypePhoneNumber | WKDataDetectorTypeLink | WKDataDetectorTypeCalendarEvent.
+
+ */
+@property (nonatomic) WKDataDetectorTypes dataDetectorTypes API_AVAILABLE(ios(10.0));
+
+/*! @abstract A Boolean value indicating whether the WKWebView should always allow scaling of the web page, regardless of author intent.
+ @discussion This will override the user-scalable property.
+ The default value is NO.
+ */
+@property (nonatomic) BOOL ignoresViewportScaleLimits API_AVAILABLE(ios(10.0));
+
+#else
+
+/*! @abstract The directionality of user interface elements.
+ @discussion Possible values are described in WKUserInterfaceDirectionPolicy.
+ The default value is WKUserInterfaceDirectionPolicyContent.
+ */
+@property (nonatomic) WKUserInterfaceDirectionPolicy userInterfaceDirectionPolicy API_AVAILABLE(macos(10.12));
+
+#endif
+
+/* @abstract Sets the URL scheme handler object for the given URL scheme.
+ @param urlSchemeHandler The object to register.
+ @param scheme The URL scheme the object will handle.
+ @discussion Each URL scheme can only have one URL scheme handler object registered.
+ An exception will be thrown if you try to register an object for a particular URL scheme more than once.
+ URL schemes are case insensitive. e.g. "myprotocol" and "MyProtocol" are equivalent.
+ Valid URL schemes must start with an ASCII letter and can only contain ASCII letters, numbers, the '+' character,
+ the '-' character, and the '.' character.
+ An exception will be thrown if you try to register a URL scheme handler for an invalid URL scheme.
+ An exception will be thrown if you try to register a URL scheme handler for a URL scheme that WebKit handles internally.
+ You can use +[WKWebView handlesURLScheme:] to check the availability of a given URL scheme.
+ */
+- (void)setURLSchemeHandler:(nullable id <WKURLSchemeHandler>)urlSchemeHandler forURLScheme:(NSString *)urlScheme API_AVAILABLE(macos(10.13), ios(11.0));
+
+/* @abstract Returns the currently registered URL scheme handler object for the given URL scheme.
+ @param scheme The URL scheme to lookup.
+ */
+- (nullable id <WKURLSchemeHandler>)urlSchemeHandlerForURLScheme:(NSString *)urlScheme API_AVAILABLE(macos(10.13), ios(11.0));
+
+@end
+
+@interface WKWebViewConfiguration (WKDeprecated)
+
+#if TARGET_OS_IPHONE
+@property (nonatomic) BOOL mediaPlaybackRequiresUserAction API_DEPRECATED_WITH_REPLACEMENT("mediaTypesRequiringUserActionForPlayback", ios(8.0, 9.0));
+@property (nonatomic) BOOL mediaPlaybackAllowsAirPlay API_DEPRECATED_WITH_REPLACEMENT("allowsAirPlayForMediaPlayback", ios(8.0, 9.0));
+@property (nonatomic) BOOL requiresUserActionForMediaPlayback API_DEPRECATED_WITH_REPLACEMENT("mediaTypesRequiringUserActionForPlayback", ios(9.0, 10.0));
+#endif
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 60 - 0
WebKit.framework/Headers/WKWebpagePreferences.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2019 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>
+
+#import <Foundation/Foundation.h>
+
+/*! @enum WKContentMode
+ @abstract A content mode represents the type of content to load, as well as
+ additional layout and rendering adaptations that are applied as a result of
+ loading the content
+ @constant WKContentModeRecommended  The recommended content mode for the current platform
+ @constant WKContentModeMobile       Represents content targeting mobile browsers
+ @constant WKContentModeDesktop      Represents content targeting desktop browsers
+ @discussion WKContentModeRecommended behaves like WKContentModeMobile on iPhone and iPad mini
+ and WKContentModeDesktop on other iPad models as well as Mac.
+ */
+typedef NS_ENUM(NSInteger, WKContentMode) {
+    WKContentModeRecommended,
+    WKContentModeMobile,
+    WKContentModeDesktop
+} API_AVAILABLE(ios(13.0));
+
+/*! A WKWebpagePreferences object is a collection of properties that
+ determine the preferences to use when loading and rendering a page.
+ @discussion Contains properties used to determine webpage preferences.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.15), ios(13.0))
+@interface WKWebpagePreferences : NSObject
+
+/*! @abstract A WKContentMode indicating the content mode to prefer
+ when loading and rendering a webpage.
+ @discussion The default value is WKContentModeRecommended. The stated
+ preference is ignored on subframe navigation
+ */
+@property (nonatomic) WKContentMode preferredContentMode API_AVAILABLE(ios(13.0));
+
+@end

+ 74 - 0
WebKit.framework/Headers/WKWebsiteDataRecord.h

@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2015 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>
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! @constant WKWebsiteDataTypeFetchCache On-disk Fetch caches. */
+WK_EXTERN NSString * const WKWebsiteDataTypeFetchCache API_AVAILABLE(macos(10.13.4), ios(11.3));
+
+/*! @constant WKWebsiteDataTypeDiskCache On-disk caches. */
+WK_EXTERN NSString * const WKWebsiteDataTypeDiskCache API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @constant WKWebsiteDataTypeMemoryCache In-memory caches. */
+WK_EXTERN NSString * const WKWebsiteDataTypeMemoryCache API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @constant WKWebsiteDataTypeOfflineWebApplicationCache HTML offline web application caches. */
+WK_EXTERN NSString * const WKWebsiteDataTypeOfflineWebApplicationCache API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @constant WKWebsiteDataTypeCookies Cookies. */
+WK_EXTERN NSString * const WKWebsiteDataTypeCookies API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @constant WKWebsiteDataTypeSessionStorage HTML session storage. */
+WK_EXTERN NSString * const WKWebsiteDataTypeSessionStorage API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @constant WKWebsiteDataTypeLocalStorage HTML local storage. */
+WK_EXTERN NSString * const WKWebsiteDataTypeLocalStorage API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @constant WKWebsiteDataTypeWebSQLDatabases WebSQL databases. */
+WK_EXTERN NSString * const WKWebsiteDataTypeWebSQLDatabases API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @constant WKWebsiteDataTypeIndexedDBDatabases IndexedDB databases. */
+WK_EXTERN NSString * const WKWebsiteDataTypeIndexedDBDatabases API_AVAILABLE(macos(10.11), ios(9.0));
+
+/*! @constant WKWebsiteDataTypeServiceWorkerRegistrations Service worker registrations. */
+WK_EXTERN NSString * const WKWebsiteDataTypeServiceWorkerRegistrations API_AVAILABLE(macos(10.13.4), ios(11.3));
+
+/*! 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
+
+/*! @abstract The display name for the data record. This is usually the domain name. */
+@property (nonatomic, readonly, copy) NSString *displayName;
+
+/*! @abstract The various types of website data that exist for this data record. */
+@property (nonatomic, readonly, copy) NSSet<NSString *> *dataTypes;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 83 - 0
WebKit.framework/Headers/WKWebsiteDataStore.h

@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2014-2017 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>
+
+#import <WebKit/WKWebsiteDataRecord.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class WKHTTPCookieStore;
+
+/*! A WKWebsiteDataStore represents various types of data that a website might
+ make use of. This includes cookies, disk and memory caches, and persistent data such as WebSQL,
+ IndexedDB databases, and local storage.
+ */
+WK_EXTERN API_AVAILABLE(macos(10.11), ios(9.0))
+@interface WKWebsiteDataStore : NSObject <NSSecureCoding>
+
+/* @abstract Returns the default data store. */
++ (WKWebsiteDataStore *)defaultDataStore;
+
+/** @abstract Returns a new non-persistent data store.
+ @discussion If a WKWebView is associated with a non-persistent data store, no data will
+ be written to the file system. This is useful for implementing "private browsing" in a web view.
+*/
++ (WKWebsiteDataStore *)nonPersistentDataStore;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*! @abstract Whether the data store is persistent or not. */
+@property (nonatomic, readonly, getter=isPersistent) BOOL persistent;
+
+/*! @abstract Returns a set of all available website data types. */
++ (NSSet<NSString *> *)allWebsiteDataTypes;
+
+/*! @abstract Fetches data records containing the given website data types.
+  @param dataTypes The website data types to fetch records for.
+  @param completionHandler A block to invoke when the data records have been fetched.
+*/
+- (void)fetchDataRecordsOfTypes:(NSSet<NSString *> *)dataTypes completionHandler:(void (^)(NSArray<WKWebsiteDataRecord *> *))completionHandler;
+
+/*! @abstract Removes website data of the given types for the given data records.
+ @param dataTypes The website data types that should be removed.
+ @param dataRecords The website data records to delete website data for.
+ @param completionHandler A block to invoke when the website data for the records has been removed.
+*/
+- (void)removeDataOfTypes:(NSSet<NSString *> *)dataTypes forDataRecords:(NSArray<WKWebsiteDataRecord *> *)dataRecords completionHandler:(void (^)(void))completionHandler;
+
+/*! @abstract Removes all website data of the given types that has been modified since the given date.
+ @param dataTypes The website data types that should be removed.
+ @param date A date. All website data modified after this date will be removed.
+ @param completionHandler A block to invoke when the website data has been removed.
+*/
+- (void)removeDataOfTypes:(NSSet<NSString *> *)dataTypes modifiedSince:(NSDate *)date completionHandler:(void (^)(void))completionHandler;
+
+/*! @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));
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 71 - 0
WebKit.framework/Headers/WKWindowFeatures.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2014 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>
+
+#import <Foundation/Foundation.h>
+
+/*! WKWindowFeatures specifies optional attributes for the containing window when a new WKWebView is requested.
+ */
+NS_ASSUME_NONNULL_BEGIN
+
+WK_EXTERN API_AVAILABLE(macos(10.10), ios(8.0))
+@interface WKWindowFeatures : NSObject
+
+/*! @abstract BOOL. Whether the menu bar should be visible. nil if menu bar visibility was not specified.
+ */
+@property (nullable, nonatomic, readonly) NSNumber *menuBarVisibility;
+
+/*! @abstract BOOL. Whether the status bar should be visible. nil if status bar visibility was not specified.
+ */
+@property (nullable, nonatomic, readonly) NSNumber *statusBarVisibility;
+
+/*! @abstract BOOL. Whether toolbars should be visible. nil if toolbar visibility was not specified.
+ */
+@property (nullable, nonatomic, readonly) NSNumber *toolbarsVisibility;
+
+/*! @abstract BOOL. Whether the containing window should be resizable. nil if resizability was not specified.
+ */
+@property (nullable, nonatomic, readonly) NSNumber *allowsResizing;
+
+/*! @abstract CGFloat. The x coordinate of the containing window. nil if the x coordinate was not specified.
+ */
+@property (nullable, nonatomic, readonly) NSNumber *x;
+
+/*! @abstract CGFloat. The y coordinate of the containing window. nil if the y coordinate was not specified.
+ */
+@property (nullable, nonatomic, readonly) NSNumber *y;
+
+/*! @abstract CGFloat. The width coordinate of the containing window. nil if the width was not specified.
+ */
+@property (nullable, nonatomic, readonly) NSNumber *width;
+
+/*! @abstract CGFloat. The height coordinate of the containing window. nil if the height was not specified.
+ */
+@property (nullable, nonatomic, readonly) NSNumber *height;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 204 - 0
WebKit.framework/Headers/WebKit.apinotes

@@ -0,0 +1,204 @@
+---
+Name: WebKit
+Classes:
+- Name: WebFrame
+  Properties:
+  - Name: dataSource
+    Nullability: O
+- Name: WebView
+  Methods:
+  - Selector: 'alignCenter:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'alignJustified:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'alignLeft:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'alignRight:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'changeAttributes:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'changeColor:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'changeDocumentBackgroundColor:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'changeFont:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'checkSpelling:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'copy:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'copyFont:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'cut:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'delete:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'goBack:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'goForward:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'makeTextLarger:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'makeTextSmaller:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'makeTextStandardSize:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'moveToBeginningOfSentence:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'moveToBeginningOfSentenceAndModifySelection:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'moveToEndOfSentence:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'moveToEndOfSentenceAndModifySelection:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'overWrite:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'paste:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'pasteAsPlainText:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'pasteAsRichText:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'pasteFont:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'performFindPanelAction:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'reload:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'reloadFromOrigin:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'selectSentence:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'showGuessPanel:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'startSpeaking:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'stopLoading:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'stopSpeaking:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'takeStringURLFrom:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'toggleContinuousSpellChecking:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+  - Selector: 'toggleSmartInsertDelete:'
+    MethodKind: Instance
+    Nullability:
+    - O
+    NullabilityOfRet: S
+Tags:
+- Name: WKErrorCode
+  NSErrorDomain: WKErrorDomain
+- Name: WKContentMode
+  SwiftName: WKWebpagePreferences.ContentMode

+ 64 - 0
WebKit.framework/Headers/WebKit.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2014 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/NSAttributedString.h>
+#import <WebKit/WKBackForwardList.h>
+#import <WebKit/WKBackForwardListItem.h>
+#import <WebKit/WKContentRuleList.h>
+#import <WebKit/WKContentRuleListStore.h>
+#import <WebKit/WKContextMenuElementInfo.h>
+#import <WebKit/WKError.h>
+#import <WebKit/WKFoundation.h>
+#import <WebKit/WKFrameInfo.h>
+#import <WebKit/WKHTTPCookieStore.h>
+#import <WebKit/WKNavigation.h>
+#import <WebKit/WKNavigationAction.h>
+#import <WebKit/WKNavigationDelegate.h>
+#import <WebKit/WKNavigationResponse.h>
+#import <WebKit/WKOpenPanelParameters.h>
+#import <WebKit/WKPreferences.h>
+#import <WebKit/WKPreviewActionItem.h>
+#import <WebKit/WKPreviewActionItemIdentifiers.h>
+#import <WebKit/WKPreviewElementInfo.h>
+#import <WebKit/WKProcessPool.h>
+#import <WebKit/WKScriptMessage.h>
+#import <WebKit/WKScriptMessageHandler.h>
+#import <WebKit/WKSecurityOrigin.h>
+#import <WebKit/WKSnapshotConfiguration.h>
+#import <WebKit/WKUIDelegate.h>
+#import <WebKit/WKURLSchemeHandler.h>
+#import <WebKit/WKURLSchemeTask.h>
+#import <WebKit/WKUserContentController.h>
+#import <WebKit/WKUserScript.h>
+#import <WebKit/WKWebView.h>
+#import <WebKit/WKWebViewConfiguration.h>
+#import <WebKit/WKWebpagePreferences.h>
+#import <WebKit/WKWebsiteDataRecord.h>
+#import <WebKit/WKWebsiteDataStore.h>
+#import <WebKit/WKWindowFeatures.h>
+
+#if !defined(TARGET_OS_MACCATALYST) || !TARGET_OS_MACCATALYST
+#import <WebKit/WebKitLegacy.h>
+#endif

+ 3 - 0
WebKit.framework/Headers/WebKitLegacy.h

@@ -0,0 +1,3 @@
+#if defined(__has_include) && __has_include(<WebKitLegacy/WebKit.h>)
+#import <WebKitLegacy/WebKit.h>
+#endif

+ 5 - 0
WebKit.framework/Modules/module.modulemap

@@ -0,0 +1,5 @@
+framework module WebKit [system] [extern_c] {
+  umbrella header "WebKit.h"
+  module * { export * }
+  export *
+}

File diff suppressed because it is too large
+ 1051 - 0
WebKit.framework/WebKit.tbd


+ 1 - 1
layout/DEBIAN/control

@@ -2,7 +2,7 @@ Package: libflex
 Section: Development
 Maintainer: Kevin Bradley
 Architecture: appletvos-arm64
-Version: 4.1.2-1
+Version: 4.1.2-2
 Depends: firmware (>= 9.0), mobilesubstrate
 Description: A library for Flipboard Explorer on tvOS
 Name: libFLEX

BIN
layout/Library/Frameworks/FLEX.framework/FLEX


+ 21 - 0
layout/Library/Frameworks/FLEX.framework/PrivateHeaders/FLEXWebViewController.h

@@ -8,6 +8,27 @@
 
 #import <UIKit/UIKit.h>
 
+#if TARGET_OS_TV
+@protocol KBWebViewDelegate;
+
+@interface KBWebView: UIView
+@property (nullable, nonatomic, assign) id <KBWebViewDelegate> delegate;
+
+- (void)loadRequest:(NSURLRequest *)request;
+- (void)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;
+- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;
+
+@property (nullable, nonatomic, readonly, strong) NSURLRequest *request;
+
+- (void)reload;
+- (void)stopLoading;
+
+- (void)goBack;
+- (void)goForward;
+@end
+
+#endif
+
 @interface FLEXWebViewController : UIViewController
 
 - (id)initWithURL:(NSURL *)url;

+ 1 - 0
tvOS/KBDatePickerView.m

@@ -241,6 +241,7 @@ DEFINE_ENUM(KBDatePickerMode, PICKER_MODE)
     self.minuteTable = [[KBTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
     self.minuteTable.tag = KBTableViewTagMinutes;
     self.amPMTable = [[KBTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
+    self.amPMTable.contentInset = UIEdgeInsetsMake(0, 0, 40, 0);
     self.amPMTable.tag = KBTableViewTagAMPM;
     self.hourTable.delegate = self;
     self.hourTable.dataSource = self;