Merge the three UIKitSPI.h files into a single one in PAL
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 5 May 2019 03:01:51 +0000 (03:01 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 5 May 2019 03:01:51 +0000 (03:01 +0000)
https://bugs.webkit.org/show_bug.cgi?id=197534

Reviewed by Darin Adler.

Source/WebCore:

* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::changeCount const):
(WebCore::PlatformPasteboard::write):

Source/WebCore/PAL:

* pal/spi/ios/UIKitSPI.h:
(currentUserInterfaceIdiomIsPad):

Source/WebKit:

* Platform/spi/ios/PDFKitSPI.h:
* Platform/spi/ios/UIKitSPI.h: Removed.
* Shared/DocumentEditingContext.mm:
* Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
* Shared/ios/NativeWebKeyboardEventIOS.mm:
* Shared/ios/NativeWebTouchEventIOS.mm:
* Shared/ios/WebIconUtilities.mm:
* UIProcess/API/Cocoa/NSAttributedString.mm:
* UIProcess/API/Cocoa/WKWebView.mm:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/ApplicationStateTracker.mm:
* UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
* UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
* UIProcess/Cocoa/WKShareSheet.mm:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
* UIProcess/Gamepad/ios/UIGamepadProviderIOS.mm:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
* UIProcess/WKImagePreviewViewController.mm:
* UIProcess/_WKTouchEventGenerator.mm:
* UIProcess/ios/DragDropInteractionState.h:
* UIProcess/ios/InputViewUpdateDeferrer.mm:
* UIProcess/ios/PageClientImplIOS.mm:
* UIProcess/ios/SmartMagnificationController.mm:
* UIProcess/ios/TextCheckerIOS.mm:
* UIProcess/ios/ViewGestureControllerIOS.mm:
* UIProcess/ios/WKActionSheet.mm:
* UIProcess/ios/WKActionSheetAssistant.mm:
* UIProcess/ios/WKContentView.mm:
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
* UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:
* UIProcess/ios/WKKeyboardScrollingAnimator.mm:
* UIProcess/ios/WKPDFPageNumberIndicator.mm:
* UIProcess/ios/WKPDFView.mm:
* UIProcess/ios/WKPasswordView.mm:
* UIProcess/ios/WKScrollView.h:
* UIProcess/ios/WKScrollView.mm:
* UIProcess/ios/WKSyntheticTapGestureRecognizer.h:
* UIProcess/ios/WKWebEvent.mm:
* UIProcess/ios/WebDataListSuggestionsDropdownIOS.h:
* UIProcess/ios/WebPageProxyIOS.mm:
* UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
* UIProcess/ios/forms/WKFileUploadPanel.mm:
* UIProcess/ios/forms/WKFocusedFormControlView.h:
* UIProcess/ios/forms/WKFormColorControl.mm:
* UIProcess/ios/forms/WKFormColorPicker.mm:
* UIProcess/ios/forms/WKFormInputControl.mm:
* UIProcess/ios/forms/WKFormPopover.mm:
* UIProcess/ios/forms/WKFormSelectControl.h:
* UIProcess/ios/forms/WKFormSelectControl.mm:
* UIProcess/ios/forms/WKFormSelectPicker.mm:
* UIProcess/ios/forms/WKFormSelectPopover.mm:
* UIProcess/ios/forms/WKNumberPadViewController.mm:
* UIProcess/ios/forms/WKQuickboardListViewController.h:
* UIProcess/ios/forms/WKSelectMenuListViewController.mm:
* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
* UIProcess/ios/fullscreen/WKFullscreenStackView.mm:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
* WebProcess/WebPage/ios/WebPageIOS.mm:
* WebProcess/cocoa/WebProcessCocoa.mm:

Tools:

* DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
* DumpRenderTree/mac/DumpRenderTree.mm:
* DumpRenderTree/mac/DumpRenderTreeWindow.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm:
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
* TestWebKitAPI/ios/UIKitSPI.h: Removed.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
* WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm:
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
* WebKitTestRunner/ios/TestControllerIOS.mm:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
* WebKitTestRunner/ios/mainIOS.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244953 268f45cc-cd09-0410-ab3c-d52691b4dbfc

104 files changed:
Source/WebCore/ChangeLog
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h
Source/WebCore/platform/ios/PlatformPasteboardIOS.mm
Source/WebKit/ChangeLog
Source/WebKit/Platform/spi/ios/PDFKitSPI.h
Source/WebKit/Platform/spi/ios/UIKitSPI.h [deleted file]
Source/WebKit/Shared/DocumentEditingContext.mm
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm
Source/WebKit/Shared/ios/NativeWebKeyboardEventIOS.mm
Source/WebKit/Shared/ios/NativeWebTouchEventIOS.mm
Source/WebKit/Shared/ios/WebIconUtilities.mm
Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm
Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
Source/WebKit/UIProcess/ApplicationStateTracker.mm
Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm
Source/WebKit/UIProcess/Cocoa/WKSafeBrowsingWarning.mm
Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm
Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
Source/WebKit/UIProcess/Gamepad/ios/UIGamepadProviderIOS.mm
Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm
Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h
Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm
Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm
Source/WebKit/UIProcess/WKImagePreviewViewController.mm
Source/WebKit/UIProcess/_WKTouchEventGenerator.mm
Source/WebKit/UIProcess/ios/DragDropInteractionState.h
Source/WebKit/UIProcess/ios/InputViewUpdateDeferrer.mm
Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
Source/WebKit/UIProcess/ios/SmartMagnificationController.mm
Source/WebKit/UIProcess/ios/TextCheckerIOS.mm
Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm
Source/WebKit/UIProcess/ios/WKActionSheet.mm
Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm
Source/WebKit/UIProcess/ios/WKContentView.mm
Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
Source/WebKit/UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm
Source/WebKit/UIProcess/ios/WKKeyboardScrollingAnimator.mm
Source/WebKit/UIProcess/ios/WKPDFPageNumberIndicator.mm
Source/WebKit/UIProcess/ios/WKPDFView.mm
Source/WebKit/UIProcess/ios/WKPasswordView.mm
Source/WebKit/UIProcess/ios/WKScrollView.h
Source/WebKit/UIProcess/ios/WKScrollView.mm
Source/WebKit/UIProcess/ios/WKSyntheticTapGestureRecognizer.h
Source/WebKit/UIProcess/ios/WKWebEvent.mm
Source/WebKit/UIProcess/ios/WebDataListSuggestionsDropdownIOS.h
Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
Source/WebKit/UIProcess/ios/forms/WKAirPlayRoutePicker.mm
Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm
Source/WebKit/UIProcess/ios/forms/WKFocusedFormControlView.h
Source/WebKit/UIProcess/ios/forms/WKFormColorControl.mm
Source/WebKit/UIProcess/ios/forms/WKFormColorPicker.mm
Source/WebKit/UIProcess/ios/forms/WKFormInputControl.mm
Source/WebKit/UIProcess/ios/forms/WKFormPopover.mm
Source/WebKit/UIProcess/ios/forms/WKFormSelectControl.h
Source/WebKit/UIProcess/ios/forms/WKFormSelectControl.mm
Source/WebKit/UIProcess/ios/forms/WKFormSelectPicker.mm
Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm
Source/WebKit/UIProcess/ios/forms/WKNumberPadViewController.mm
Source/WebKit/UIProcess/ios/forms/WKQuickboardListViewController.h
Source/WebKit/UIProcess/ios/forms/WKSelectMenuListViewController.mm
Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm
Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
Source/WebKit/UIProcess/ios/fullscreen/WKFullscreenStackView.mm
Source/WebKit/WebKit.xcodeproj/project.pbxproj
Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm
Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm
Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Tools/ChangeLog
Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.h
Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm
Tools/DumpRenderTree/mac/DumpRenderTree.mm
Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h
Tools/DumpRenderTree/mac/TestRunnerMac.mm
Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
Tools/TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm
Tools/TestWebKitAPI/Tests/ios/ActionSheetTests.mm
Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm
Tools/TestWebKitAPI/Tests/ios/FocusPreservationTests.mm
Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm
Tools/TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm
Tools/TestWebKitAPI/Tests/ios/UIPasteboardTests.mm
Tools/TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm
Tools/TestWebKitAPI/cocoa/DragAndDropSimulator.h
Tools/TestWebKitAPI/cocoa/TestWKWebView.mm
Tools/TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm
Tools/TestWebKitAPI/ios/UIKitSPI.h [deleted file]
Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm
Tools/WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm
Tools/WebKitTestRunner/ios/HIDEventGenerator.h
Tools/WebKitTestRunner/ios/HIDEventGenerator.mm
Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm
Tools/WebKitTestRunner/ios/TestControllerIOS.mm
Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm
Tools/WebKitTestRunner/ios/mainIOS.mm

index 3552e30..d47d4ce 100644 (file)
@@ -1,3 +1,14 @@
+2019-05-04  Alex Christensen  <achristensen@webkit.org>
+
+        Merge the three UIKitSPI.h files into a single one in PAL
+        https://bugs.webkit.org/show_bug.cgi?id=197534
+
+        Reviewed by Darin Adler.
+
+        * platform/ios/PlatformPasteboardIOS.mm:
+        (WebCore::PlatformPasteboard::changeCount const):
+        (WebCore::PlatformPasteboard::write):
+
 2019-05-04  Youenn Fablet  <youenn@apple.com>
 
         Convert some RealtimeOutgoingVideoSourceCocoa logging to ERROR_LOG
index 93052c3..55d63dc 100644 (file)
@@ -1,3 +1,13 @@
+2019-05-04  Alex Christensen  <achristensen@webkit.org>
+
+        Merge the three UIKitSPI.h files into a single one in PAL
+        https://bugs.webkit.org/show_bug.cgi?id=197534
+
+        Reviewed by Darin Adler.
+
+        * pal/spi/ios/UIKitSPI.h:
+        (currentUserInterfaceIdiomIsPad):
+
 2019-05-03  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r244881.
index 12f351a..5400ade 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
+ * Copyright (C) 2015-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
 
 #if PLATFORM(IOS_FAMILY)
 
-WTF_EXTERN_C_BEGIN
-typedef struct __GSKeyboard* GSKeyboardRef;
-WTF_EXTERN_C_END
+#import <UIKit/UIKit.h>
+
+#if __has_include(<UIKit/UIFocusRingStyle.h>)
+#import <UIKit/UIFocusRingStyle.h>
+#endif
+
+#if __has_include(<UIKit/UITextAutofillSuggestion.h>)
+#import <UIKit/UITextAutofillSuggestion.h>
+// FIXME: Move this import under USE(APPLE_INTERNAL_SDK) once <rdar://problem/34583628> lands in the SDK.
+NS_ASSUME_NONNULL_BEGIN
+@interface UITextAutofillSuggestion ()
++ (instancetype)autofillSuggestionWithUsername:(NSString *)username password:(NSString *)password;
+@end
+NS_ASSUME_NONNULL_END
+#else
+NS_ASSUME_NONNULL_BEGIN
+@interface UITextSuggestion : NSObject
++ (instancetype)textSuggestionWithInputText:(NSString *)inputText;
+@property (nonatomic, copy, readonly) NSString *inputText;
+@end
+@interface UITextAutofillSuggestion : UITextSuggestion
+@property (nonatomic, assign) NSString *username;
+@property (nonatomic, assign) NSString *password;
++ (instancetype)autofillSuggestionWithUsername:(NSString *)username password:(NSString *)password;
+@end
+NS_ASSUME_NONNULL_END
+#endif
 
 #if USE(APPLE_INTERNAL_SDK)
 
-#import <UIKit/NSParagraphStyle_Private.h>
-#import <UIKit/NSTextAttachment_Private.h>
-#import <UIKit/NSTextList.h>
-#import <UIKit/UIApplicationSceneConstants.h>
+#import <UIKit/UIAlertController_Private.h>
 #import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIColor_Private.h>
+#import <UIKit/UIBarButtonItemGroup_Private.h>
+#import <UIKit/UIBarButtonItem_Private.h>
+#import <UIKit/UIBlurEffect_Private.h>
+#import <UIKit/UICalloutBar.h>
+#import <UIKit/UIColorEffect.h>
+#import <UIKit/UIDatePicker_Private.h>
+#import <UIKit/UIDevice_Private.h>
+#import <UIKit/UIDocumentMenuViewController_Private.h>
+#import <UIKit/UIDocumentPasswordView.h>
 #import <UIKit/UIFont_Private.h>
+#import <UIKit/UIGeometry_Private.h>
+#import <UIKit/UIGestureRecognizer_Private.h>
+#import <UIKit/UIImagePickerController_Private.h>
+#import <UIKit/UIImage_Private.h>
 #import <UIKit/UIInterface_Private.h>
-#import <UIKit/UIScreen_Private.h>
+#import <UIKit/UIKeyboardImpl.h>
+#import <UIKit/UIKeyboardInputModeController.h>
+#import <UIKit/UIKeyboardIntl.h>
+#import <UIKit/UIKeyboard_Private.h>
+#import <UIKit/UILongPressGestureRecognizer_Private.h>
+#import <UIKit/UIMenuController_Private.h>
+#import <UIKit/UIPeripheralHost.h>
+#import <UIKit/UIPeripheralHost_Private.h>
+#import <UIKit/UIPickerContentView_Private.h>
+#import <UIKit/UIPickerView_Private.h>
+#import <UIKit/UIPopoverPresentationController_Private.h>
+#import <UIKit/UIPresentationController_Private.h>
+#import <UIKit/UIResponder_Private.h>
+#import <UIKit/UIScrollView_Private.h>
+#import <UIKit/UIStringDrawing_Private.h>
+#import <UIKit/UITableViewCell_Private.h>
+#import <UIKit/UITapGestureRecognizer_Private.h>
+#import <UIKit/UITextChecker_Private.h>
+#import <UIKit/UITextEffectsWindow.h>
+#import <UIKit/UITextInput_Private.h>
+#import <UIKit/UITextInteractionAssistant_Private.h>
+#import <UIKit/UIViewControllerTransitioning_Private.h>
 #import <UIKit/UIViewController_Private.h>
+#import <UIKit/UIViewController_ViewService.h>
+#import <UIKit/UIView_Private.h>
+#import <UIKit/UIVisualEffect_Private.h>
+#import <UIKit/UIWKSelectionAssistant.h>
+#import <UIKit/UIWKTextInteractionAssistant.h>
+#import <UIKit/UIWebBrowserView.h>
+#import <UIKit/UIWebDocumentView.h>
+#import <UIKit/UIWebFormAccessory.h>
+#import <UIKit/UIWebGeolocationPolicyDecider.h>
+#import <UIKit/UIWebScrollView.h>
+#import <UIKit/UIWebTiledView.h>
+#import <UIKit/UIWebTouchEventsGestureRecognizer.h>
+#import <UIKit/UIWindow_Private.h>
+#import <UIKit/_UIApplicationRotationFollowing.h>
+#import <UIKit/_UIBackdropViewSettings.h>
+#import <UIKit/_UIBackdropView_Private.h>
+#import <UIKit/_UIHighlightView.h>
+#import <UIKit/_UINavigationInteractiveTransition.h>
+#import <UIKit/_UINavigationParallaxTransition.h>
 
 #if ENABLE(DATA_INTERACTION)
 #import <UIKit/NSItemProvider+UIKitAdditions.h>
@@ -48,30 +121,53 @@ WTF_EXTERN_C_END
 #import <UIKit/NSURL+UIItemProvider.h>
 #endif
 
-@interface UIApplication ()
-+ (UIApplicationSceneClassicMode)_classicMode;
-- (GSKeyboardRef)_hardwareKeyboard;
-- (CGFloat)_iOSMacScale;
-@end
-
-#if __has_include(<UIKit/UIFocusRingStyle.h>)
-#import <UIKit/UIFocusRingStyle.h>
+#if ENABLE(DRAG_SUPPORT)
+#import <UIKit/UIDragInteraction.h>
+#import <UIKit/UIDragInteraction_Private.h>
+#import <UIKit/UIDragItem_Private.h>
+#import <UIKit/UIDragPreviewParameters.h>
+#import <UIKit/UIDragPreview_Private.h>
+#import <UIKit/UIDragSession.h>
+#import <UIKit/UIDragging.h>
+#import <UIKit/UIDropInteraction.h>
+#import <UIKit/UIPreviewInteraction.h>
+#import <UIKit/UIURLDragPreviewView.h>
+#import <UIKit/_UITextDragCaretView.h>
 #endif
 
+NS_ASSUME_NONNULL_BEGIN
+
 #else // USE(APPLE_INTERNAL_SDK)
 
-#import <UIKit/UIKit.h>
+NS_ASSUME_NONNULL_BEGIN
 
-#if ENABLE(DRAG_SUPPORT)
-#import <UIKit/NSItemProvider+UIKitAdditions.h>
-#endif
+typedef NS_ENUM(NSInteger, UIWKSelectionFlags) {
+    UIWKNone = 0,
+    UIWKWordIsNearTap = 1,
+    UIWKPhraseBoundaryChanged = 4,
+};
 
-NS_ASSUME_NONNULL_BEGIN
+typedef struct __IOHIDEvent* IOHIDEventRef;
+typedef struct __GSKeyboard* GSKeyboardRef;
 
 typedef NS_ENUM(NSInteger, UIApplicationSceneClassicMode) {
     UIApplicationSceneClassicModeOriginalPad = 4,
 };
 
+@protocol UIKeyboardCandidateListDelegate <NSObject>
+@optional
+- (void)setCandidateList:(id)candidateList updateCandidateView:(BOOL)updateCandidateView;
+- (void)candidateListAcceptCandidate:(id)candidateList;
+- (void)candidateListSelectionDidChange:(id)candidateList;
+- (void)candidateListShouldBeDismissed:(id)candidateList;
+@end
+
+@interface UIKeyboardImpl : UIView <UIKeyboardCandidateListDelegate>
+- (void)replaceText:(id)replacement;
+- (BOOL)smartInsertDeleteIsEnabled;
+@property (nonatomic, readwrite, retain) UIResponder <UIKeyInput> *delegate;
+@end
+
 typedef enum {
     UIFontTraitPlain       = 0x00000000,
     UIFontTraitItalic      = 0x00000001, // 1 << 0
@@ -81,18 +177,894 @@ typedef enum {
     UIFontTraitUltraLight  = (1 << 4)
 } UIFontTrait;
 
-@interface NSParagraphStyle ()
-- (NSArray *)textLists;
+typedef enum {
+    kUIKeyboardInputRepeat                 = 1 << 0,
+    kUIKeyboardInputPopupVariant           = 1 << 1,
+    kUIKeyboardInputMultitap               = 1 << 2,
+    kUIKeyboardInputSkipCandidateSelection = 1 << 3,
+    kUIKeyboardInputDeadKey                = 1 << 4,
+    kUIKeyboardInputModifierFlagsChanged   = 1 << 5,
+    kUIKeyboardInputFlick                  = 1 << 6,
+    kUIKeyboardInputPreProcessed           = 1 << 7,
+} UIKeyboardInputFlags;
+
+typedef NS_ENUM(NSInteger, UIWKGestureType) {
+    UIWKGestureLoupe = 0,
+    UIWKGestureOneFingerTap = 1,
+    UIWKGestureTapAndAHalf = 2,
+    UIWKGestureDoubleTap = 3,
+    UIWKGestureTapAndHalf = 4,
+    UIWKGestureDoubleTapInUneditable = 5,
+    UIWKGestureOneFingerTapInUneditable = 6,
+    UIWKGestureOneFingerTapSelectsAll = 7,
+    UIWKGestureOneFingerDoubleTap = 8,
+    UIWKGestureOneFingerTripleTap = 9,
+    UIWKGestureTwoFingerSingleTap = 10,
+    UIWKGestureTwoFingerRangedSelectGesture = 11,
+    UIWKGestureTapOnLinkWithGesture = 12,
+    UIWKGestureMakeWebSelection = 13,
+    UIWKGesturePhraseBoundary = 14,
+};
+
+typedef NS_ENUM(NSInteger, UIWKSelectionTouch) {
+    UIWKSelectionTouchStarted = 0,
+    UIWKSelectionTouchMoved = 1,
+    UIWKSelectionTouchEnded = 2,
+    UIWKSelectionTouchEndedMovingForward = 3,
+    UIWKSelectionTouchEndedMovingBackward = 4,
+    UIWKSelectionTouchEndedNotMoving = 5,
+};
+
+@interface UIFont ()
++ (UIFont *)fontWithFamilyName:(NSString *)familyName traits:(UIFontTrait)traits size:(CGFloat)fontSize;
+- (UIFontTrait)traits;
 @end
 
-@interface NSMutableParagraphStyle ()
-- (void)setTextLists:(NSArray *)textLists;
+@interface UIScreen ()
+@property (nonatomic, readonly) CGRect _referenceBounds;
+@end
+
+@interface UIViewController ()
++ (UIViewController *)viewControllerForView:(UIView *)view;
++ (UIViewController *)_viewControllerForFullScreenPresentationFromView:(UIView *)view;
+@end
+
+@interface NSURL ()
+@property (nonatomic, copy, nullable, setter=_setTitle:) NSString *_title;
+@end
+
+@class BKSAnimationFenceHandle;
+@interface UIWindow ()
++ (BKSAnimationFenceHandle *)_synchronizedDrawingFence;
++ (mach_port_t)_synchronizeDrawingAcrossProcesses;
+- (void)_setWindowResolution:(CGFloat)resolution displayIfChanged:(BOOL)displayIfChanged;
+- (uint32_t)_contextId;
+@end
+
+@interface UIWKDocumentContext : NSObject
+@property (nonatomic, copy) NSObject *contextBefore;
+@property (nonatomic, copy) NSObject *selectedText;
+@property (nonatomic, copy) NSObject *contextAfter;
+@property (nonatomic, copy) NSObject *markedText;
+@property (nonatomic, assign) NSRange selectedRangeInMarkedText;
+@property (nonatomic, copy) NSAttributedString *annotatedText;
+- (void)addTextRect:(CGRect)rect forCharacterRange:(NSRange)range;
+- (NSArray<NSValue *> *)characterRectsForCharacterRange:(NSRange)range;
+@end
+
+@interface UIViewController (ViewService)
+- (pid_t)_hostProcessIdentifier;
+@property (readonly) NSString *_hostApplicationBundleIdentifier;
+@end
+
+@interface UITextInteractionAssistant : NSObject
+@end
+@interface UIWKTextInteractionAssistant : UITextInteractionAssistant <UIResponderStandardEditActions>
+@end
+@interface UIWKTextInteractionAssistant ()
+- (void)selectionChangedWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState withFlags:(UIWKSelectionFlags)flags;
+- (void)showDictionaryFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
+- (void)selectionChangedWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch withFlags:(UIWKSelectionFlags)flags;
+- (void)showTextStyleOptions;
+- (void)hideTextStyleOptions;
+- (void)lookup:(NSString *)textWithContext withRange:(NSRange)range fromRect:(CGRect)presentationRect;
+- (void)showShareSheetFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
+- (void)showTextServiceFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
+- (void)scheduleReplacementsForText:(NSString *)text;
+- (void)scheduleChineseTransliterationForText:(NSString *)text;
+@property (nonatomic, readonly, assign) UILongPressGestureRecognizer *forcePressGesture;
+@property (nonatomic, readonly, assign) UILongPressGestureRecognizer *loupeGesture;
+@property (nonatomic, readonly, assign) UITapGestureRecognizer *singleTapGesture;
+@end
+
+@interface UIWKAutocorrectionRects : NSObject
+@end
+@interface UIWKAutocorrectionRects (UIWKAutocorrectionRectsDetails)
+@property (nonatomic, assign) CGRect firstRect;
+@property (nonatomic, assign) CGRect lastRect;
+@end
+
+typedef enum {
+    UIWebTouchEventTouchBegin = 0,
+    UIWebTouchEventTouchChange = 1,
+    UIWebTouchEventTouchEnd = 2,
+    UIWebTouchEventTouchCancel = 3,
+} UIWebTouchEventType;
+
+struct _UIWebTouchEvent {
+    UIWebTouchEventType type;
+    NSTimeInterval timestamp;
+    CGPoint locationInScreenCoordinates;
+    CGPoint locationInDocumentCoordinates;
+    CGFloat scale;
+    CGFloat rotation;
+    bool inJavaScriptGesture;
+    struct _UIWebTouchPoint* touchPoints;
+    unsigned touchPointCount;
+    bool isPotentialTap;
+};
+
+typedef enum {
+    UIWebTouchPointTypeDirect = 0,
+    UIWebTouchPointTypeStylus
+} UIWebTouchPointType;
+
+struct _UIWebTouchPoint {
+    CGPoint locationInScreenCoordinates;
+    CGPoint locationInDocumentCoordinates;
+    unsigned identifier;
+    UITouchPhase phase;
+    CGFloat majorRadiusInScreenCoordinates;
+    CGFloat force;
+    CGFloat altitudeAngle;
+    CGFloat azimuthAngle;
+    UIWebTouchPointType touchType;
+};
+
+@interface UIKeyboardInputMode : UITextInputMode <NSCopying>
++ (UIKeyboardInputMode *)keyboardInputModeWithIdentifier:(NSString *)identifier;
+@property (nonatomic, readonly, retain) NSArray <NSString *> *multilingualLanguages;
+@property (nonatomic, readonly, retain) NSString *languageWithRegion;
+@end
+
+@interface UIApplication ()
+- (UIInterfaceOrientation)interfaceOrientation;
+- (void)_cancelAllTouches;
+- (CGFloat)statusBarHeight;
+- (BOOL)isSuspendedUnderLock;
+- (void)_enqueueHIDEvent:(IOHIDEventRef)event;
+- (void)_handleHIDEvent:(IOHIDEventRef)event;
+- (void)handleKeyUIEvent:(UIEvent *)event;
+@end
+
+@interface UIPeripheralHost : NSObject <UIGestureRecognizerDelegate>
+@end
+
+@protocol _UINavigationInteractiveTransitionBaseDelegate;
+@interface _UINavigationInteractiveTransitionBase : UIPercentDrivenInteractiveTransition <UIGestureRecognizerDelegate>
+@end
+
+@interface UIDragItem ()
+@property (nonatomic, strong, setter=_setPrivateLocalContext:, getter=_privateLocalContext) id privateLocalContext;
+@end
+
+@interface UIURLDragPreviewView : UIView
++ (instancetype)viewWithTitle:(NSString *)title URL:(NSURL *)url;
+@end
+
+@interface UIDragInteraction ()
+@property (nonatomic, assign, getter=_liftDelay, setter=_setLiftDelay:) NSTimeInterval liftDelay;
+@end
+
+@protocol UITextInput;
+
+@interface _UITextDragCaretView : UIView
+- (instancetype)initWithTextInputView:(UIView<UITextInput> *)textInputView;
+-(void)insertAtPosition:(UITextPosition *)position;
+-(void)updateToPosition:(UITextPosition *)position;
+-(void)remove;
+@end
+
+@interface UIBarButtonItemGroup ()
+@property (nonatomic, readwrite, assign, getter=_isHidden, setter=_setHidden:) BOOL hidden;
+@end
+
+@interface _UILookupGestureRecognizer : UIGestureRecognizer
+@end
+
+@class UIWebTouchEventsGestureRecognizer;
+
+@protocol UIWebTouchEventsGestureRecognizerDelegate <NSObject>
+- (BOOL)isAnyTouchOverActiveArea:(NSSet *)touches;
+@optional
+- (BOOL)gestureRecognizer:(UIWebTouchEventsGestureRecognizer *)gestureRecognizer shouldIgnoreWebTouchWithEvent:(UIEvent *)event;
+@end
+
+@interface UIWebTouchEventsGestureRecognizer : UIGestureRecognizer
+@end
+
+@interface UIWebTouchEventsGestureRecognizer ()
+- (id)initWithTarget:(id)target action:(SEL)action touchDelegate:(id <UIWebTouchEventsGestureRecognizerDelegate>)delegate;
+- (void)cancel;
+@property (nonatomic, getter=isDefaultPrevented) BOOL defaultPrevented;
+@property (nonatomic, readonly) BOOL inJavaScriptGesture;
+@property (nonatomic, readonly) CGPoint locationInWindow;
+@property (nonatomic, readonly) UIWebTouchEventType type;
+@property (nonatomic, readonly) const struct _UIWebTouchEvent *lastTouchEvent;
+@property (nonatomic, readonly) NSMapTable<NSNumber *, UITouch *> *activeTouchesByIdentifier;
+@end
+
+typedef NS_ENUM(NSInteger, _UIBackdropViewStylePrivate) {
+    _UIBackdropViewStyle_Light = 2020,
+    _UIBackdropViewStyle_Dark = 2030
+};
+
+@interface _UIBackdropViewSettings : NSObject
+@end
+
+@interface _UIBackdropViewSettings ()
++ (_UIBackdropViewSettings *)settingsForPrivateStyle:(_UIBackdropViewStylePrivate)style;
+@property (nonatomic, assign) CGFloat scale;
+@end
+
+@interface _UIBackdropView : UIView
+@end
+
+@interface _UIBackdropView ()
+- (instancetype)initWithPrivateStyle:(_UIBackdropViewStylePrivate)style;
+- (instancetype)initWithSettings:(_UIBackdropViewSettings *)settings;
+- (instancetype)initWithFrame:(CGRect)frame privateStyle:(_UIBackdropViewStylePrivate)style;
+@property (nonatomic, strong, readonly) UIView *contentView;
+@end
+
+@interface _UIHighlightView : UIView
+@end
+
+@interface _UIHighlightView ()
+- (void)setColor:(UIColor *)aColor;
+- (void)setCornerRadii:(NSArray *)cornerRadii;
+- (void)setCornerRadius:(CGFloat)aCornerRadius;
+- (void)setFrames:(NSArray *)frames boundaryRect:(CGRect)aBoundarRect;
+- (void)setQuads:(NSArray *)quads boundaryRect:(CGRect)aBoundaryRect;
+@end
+
+@protocol UIViewControllerContextTransitioningEx <UIViewControllerContextTransitioning>
+- (void)__runAlongsideAnimations;
+- (void)_interactivityDidChange:(BOOL)isInteractive;
+@property (nonatomic, assign, setter=_setAllowUserInteraction:, getter=_allowUserInteraction) BOOL _allowUserInteraction;
+@property (nonatomic, assign, setter=_setPercentOffset:) CGFloat _percentOffset;
+@end
+
+@interface _UIViewControllerTransitionContext : NSObject <UIViewControllerContextTransitioningEx>
+@end
+
+// FIXME: Separate the parts we are simply re-declaring from the ones we are overriding.
+@interface _UIViewControllerTransitionContext (Details)
+- (void) _setTransitionIsInFlight:(BOOL)flag;
+@property (nonatomic, assign, setter=_setAllowUserInteraction:, getter=_allowUserInteraction) BOOL _allowUserInteraction;
+@property (nonatomic, assign, nullable, setter=_setAnimator:) id <UIViewControllerAnimatedTransitioning> _animator;
+@property (nonatomic, assign, setter=_setContainerView:) UIView *containerView;
+@property (nonatomic, assign, nullable, setter=_setInteractor:) id <UIViewControllerInteractiveTransitioning> _interactor;
+@property (nonatomic, assign, setter=_setPercentOffset:) CGFloat _percentOffset;
+@property (nonatomic, copy, setter=_setCompletionHandler:)  void (^_completionHandler)(_UIViewControllerTransitionContext *context, BOOL transitionCompleted);
+@property (nonatomic, retain, setter=_setContainerViews:) NSArray *_containerViews;
+@end
+
+@interface _UIViewControllerOneToOneTransitionContext : _UIViewControllerTransitionContext
+@end
+
+@interface _UIViewControllerOneToOneTransitionContext ()
+@property (nonatomic, assign, setter=_setFromEndFrame:) CGRect fromEndFrame;
+@property (nonatomic, assign, setter=_setFromStartFrame:) CGRect fromStartFrame;
+@property (nonatomic, assign, setter=_setToEndFrame:) CGRect toEndFrame;
+@property (nonatomic, assign, setter=_setToStartFrame:) CGRect toStartFrame;
+@property (nonatomic, retain, setter=_setFromViewController:) UIViewController *fromViewController;
+@property (nonatomic, retain, setter=_setToViewController:) UIViewController *toViewController;
+@end
+
+@protocol UIViewControllerAnimatedTransitioningEx <UIViewControllerAnimatedTransitioning>
+- (BOOL)interactionAborted;
+- (UINavigationControllerOperation) operation;
+- (UIPercentDrivenInteractiveTransition *)interactionController;
+- (void)setInteractionAborted:(BOOL)aborted;
+- (void)setInteractionController:(UIPercentDrivenInteractiveTransition *)controller;
+- (void)setOperation:(UINavigationControllerOperation)operation;
+@optional
+- (UIWindow *)window;
+@end
+
+@interface _UINavigationParallaxTransition : NSObject <UIViewControllerAnimatedTransitioningEx>
+@end
+
+@interface _UINavigationParallaxTransition ()
+- (instancetype) initWithCurrentOperation:(UINavigationControllerOperation)operation;
+@end
+
+WTF_EXTERN_C_BEGIN
+void UIApplicationInitialize(void);
+BOOL _UIApplicationIsExtension(void);
+void _UIApplicationLoadWebKit(void);
+void UIImageDataWriteToSavedPhotosAlbum(NSData *imageData, id _Nullable completionTarget, SEL _Nullable completionSelector, void * _Nullable contextInfo);
+UIImage *_UIImageGetWebKitPhotoLibraryIcon(void);
+UIImage *_UIImageGetWebKitTakePhotoOrVideoIcon(void);
+BOOL UIKeyboardEnabledInputModesAllowOneToManyShortcuts(void);
+BOOL UIKeyboardEnabledInputModesAllowChineseTransliterationForText(NSString *);
+BOOL UIKeyboardIsRightToLeftInputModeActive(void);
+
+extern UIApplication* UIApp;
+extern const float UITableCellDefaultFontSize;
+extern const float UITableViewCellDefaultFontSize;
+extern NSString * const _UIApplicationDidFinishSuspensionSnapshotNotification;
+extern NSString * const UIWindowDidMoveToScreenNotification;
+extern NSString * const UIWindowDidRotateNotification;
+extern NSString * const UIWindowNewScreenUserInfoKey;
+extern NSString * const UIWindowWillRotateNotification;
+extern NSString * const UIKeyboardPrivateDidRequestDismissalNotification;
+extern NSString * const UIKeyboardIsLocalUserInfoKey;
+extern NSString * const UIBacklightLevelChangedNotification;
+extern const float UIWebViewGrowsAndShrinksToFitHeight;
+extern const float UIWebViewScalesToFitScale;
+extern const float UIWebViewStandardViewportWidth;
+UIEdgeInsets UIEdgeInsetsAdd(UIEdgeInsets lhs, UIEdgeInsets rhs, UIRectEdge);
+
+WTF_EXTERN_C_END
+
+@interface UIWebScrollView : UIScrollView
+@end
+
+@interface UIWebTiledView : UIView
+@end
+
+@class WAKWindow;
+
+@interface UIWebTiledView ()
+- (void)setWAKWindow:(WAKWindow *)window;
+@end
+
+@interface UIWebDocumentView : UIWebTiledView
+@end
+
+typedef enum {
+    UIEveryDocumentMask = 0xFFFFFF,
+} UIDocumentMask;
+
+@interface UIWebDocumentView ()
+- (void)setDelegate:(id _Nullable)delegate;
+- (void)setAutoresizes:(BOOL)flag;
+- (void)setMinimumSize:(CGSize)aSize;
+- (void)setInitialScale:(float)aScale forDocumentTypes:(UIDocumentMask)aDocumentMask;
+- (void)setViewportSize:(CGSize)aSize forDocumentTypes:(UIDocumentMask)aDocumentMask;
+- (void)setMinimumScale:(float)aScale forDocumentTypes:(UIDocumentMask)aDocumentMask;
+- (void)setMaximumScale:(float)aScale forDocumentTypes:(UIDocumentMask)aDocumentMask;
+@end
+
+@interface UIWebBrowserView : UIWebDocumentView
+@end
+
+@class WebView;
+
+@interface UIWebBrowserView ()
+- (WebView *)webView;
+- (void)setPaused:(BOOL)paused;
+- (void)sendScrollEventIfNecessaryWasUserScroll:(BOOL)userScroll;
+@property (nonatomic) BOOL inputViewObeysDOMFocus;
+@end
+
+@interface UIDocumentMenuViewController ()
+- (instancetype)_initIgnoringApplicationEntitlementForImportOfTypes:(NSArray *)types;
+@end
+
+@protocol UIDocumentPasswordViewDelegate;
+
+@interface UIDocumentPasswordView : UIView <UITextFieldDelegate>
+@end
+
+@interface UIDocumentPasswordView ()
+
+- (id)initWithDocumentName:(NSString *)documentName;
+
+@property (nonatomic, assign) NSObject<UIDocumentPasswordViewDelegate> *passwordDelegate;
+@property (nonatomic, readonly) UITextField *passwordField;
+
+@end
+
+@protocol UIDocumentPasswordViewDelegate
+
+@required
+
+- (void)userDidEnterPassword:(NSString *)password forPasswordView:(UIDocumentPasswordView *)passwordView;
+
+@optional
+
+- (void)didBeginEditingPassword:(UITextField *)passwordField inView:(UIDocumentPasswordView *)passwordView;
+- (void)didEndEditingPassword:(UITextField *)passwordField inView:(UIDocumentPasswordView *)passwordView;
+
+@end
+
+@interface UIViewControllerPreviewAction : NSObject <NSCopying>
+@end
+
+@interface UIViewControllerPreviewAction ()
++ (instancetype)actionWithTitle:(NSString *)title handler:(void (^)(UIViewControllerPreviewAction *action, UIViewController *previewViewController))handler;
+@end
+
+@interface UITextChecker ()
+- (id)_initWithAsynchronousLoading:(BOOL)asynchronousLoading;
+- (BOOL)_doneLoading;
+- (NSRange)rangeOfMisspelledWordInString:(NSString *)stringToCheck range:(NSRange)range startingAt:(NSInteger)startingOffset wrap:(BOOL)wrapFlag languages:(NSArray *)languagesArray;
+@end
+
+@interface UIKeyboardInputModeController : NSObject
+@end
+
+@interface UIKeyboardInputModeController ()
++ (UIKeyboardInputModeController *)sharedInputModeController;
+@property (readwrite, retain) UIKeyboardInputMode *currentInputMode;
+@end
+
+@interface UIApplicationRotationFollowingWindow : UIWindow
+@end
+
+@interface UIApplicationRotationFollowingController : UIViewController
+@end
+
+@interface UIApplicationRotationFollowingControllerNoTouches : UIApplicationRotationFollowingController
+@end
+
+@interface UIWKAutocorrectionContext : NSObject
+@end
+
+@interface UIWKAutocorrectionContext (UIWKAutocorrectionContextDetails)
+@property (nonatomic, copy) NSString *contextBeforeSelection;
+@property (nonatomic, copy) NSString *selectedText;
+@property (nonatomic, copy) NSString *contextAfterSelection;
+@property (nonatomic, copy) NSString *markedText;
+@property (nonatomic, assign) NSRange rangeInMarkedText;
+@end
+
+@protocol UIWKInteractionViewProtocol
+- (void)changeSelectionWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)state;
+- (void)changeSelectionWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch baseIsStart:(BOOL)baseIsStart withFlags:(UIWKSelectionFlags)flags;
+- (void)changeSelectionWithTouchesFrom:(CGPoint)from to:(CGPoint)to withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState;
+- (CGRect)textFirstRect;
+- (CGRect)textLastRect;
+- (void)requestAutocorrectionContextWithCompletionHandler:(void (^)(UIWKAutocorrectionContext *autocorrectionContext))completionHandler;
+- (void)requestAutocorrectionRectsForString:(NSString *)input withCompletionHandler:(void (^)(UIWKAutocorrectionRects *rectsForInput))completionHandler;
+- (void)applyAutocorrection:(NSString *)correction toString:(NSString *)input withCompletionHandler:(void (^)(UIWKAutocorrectionRects *rectsForCorrection))completionHandler;
+- (NSString *)markedText;
+- (BOOL)hasMarkedText;
+- (BOOL)hasSelectablePositionAtPoint:(CGPoint)point;
+- (NSArray *)webSelectionRects;
+- (void)_cancelLongPressGestureRecognizer;
+@optional
+- (void)clearSelection;
+- (void)replaceDictatedText:(NSString *)oldText withText:(NSString *)newText;
+- (void)requestDictationContext:(void (^)(NSString *selectedText, NSString *prefixText, NSString *postfixText))completionHandler;
+- (BOOL)pointIsNearMarkedText:(CGPoint)point;
+- (NSString *)selectedText;
+- (void)replaceText:(NSString *)text withText:(NSString *)word;
+- (void)selectWordForReplacement;
+- (BOOL)isReplaceAllowed;
+- (void)selectWordBackward;
+- (UIView *)unscaledView;
+- (CGFloat)inverseScale;
+- (CGRect)unobscuredContentRect;
+@end
+
+@protocol UITextAutoscrolling
+- (void)startAutoscroll:(CGPoint)point;
+- (void)cancelAutoscroll;
+- (void)scrollSelectionToVisible:(BOOL)animated;
+@end
+
+@protocol UIWebFormAccessoryDelegate;
+
+@interface UIWebFormAccessory : UIInputView
+@end
+
+@interface UIWebFormAccessory ()
+- (void)hideAutoFillButton;
+- (void)setClearVisible:(BOOL)flag;
+- (void)showAutoFillButtonWithTitle:(NSString *)title;
+@property (nonatomic, retain) UIBarButtonItem *_autofill;
+@property (nonatomic, assign) id <UIWebFormAccessoryDelegate> delegate;
+@property (nonatomic, assign, getter=isNextEnabled) BOOL nextEnabled;
+@property (nonatomic, assign, getter=isPreviousEnabled) BOOL previousEnabled;
+- (id)initWithInputAssistantItem:(UITextInputAssistantItem *)inputAssistantItem;
+@end
+
+@protocol UIWebFormAccessoryDelegate
+- (void)accessoryAutoFill;
+- (void)accessoryClear;
+- (void)accessoryDone;
+- (void)accessoryTab:(BOOL)isNext;
+@end
+
+@interface UIWebGeolocationPolicyDecider : NSObject
+@end
+@interface UIWebGeolocationPolicyDecider ()
++ (instancetype)sharedPolicyDecider;
+- (void)decidePolicyForGeolocationRequestFromOrigin:(id)securityOrigin requestingURL:(NSURL *)requestingURL window:(UIWindow *)window listener:(id)listener;
+@end
+
+@protocol UITextInputMultiDocument <NSObject>
+@optional
+- (void)_preserveFocusWithToken:(id <NSCopying, NSSecureCoding> _Nullable)token destructively:(BOOL)destructively;
+- (BOOL)_restoreFocusWithToken:(id <NSCopying, NSSecureCoding>)token;
+- (void)_clearToken:(id <NSCopying, NSSecureCoding> _Nullable)token;
+@end
+
+typedef enum {
+    UITextShortcutConversionTypeDefault = 0,
+    UITextShortcutConversionTypeNo = 1,
+    UITextShortcutConversionTypeYes = 2,
+} UITextShortcutConversionType;
+
+@protocol UITextInputTraits_Private <NSObject, UITextInputTraits>
+- (void)takeTraitsFrom:(id <UITextInputTraits>)traits;
+@optional
+@property (nonatomic) UITextShortcutConversionType shortcutConversionType;
+@property (nonatomic, readonly, retain) UIColor *insertionPointColor;
+@property (nonatomic, readonly, retain) UIColor *selectionBarColor;
+@property (nonatomic, retain) UIColor *selectionHighlightColor;
+@end
+
+@class WebEvent;
+@protocol UITextInputPrivate <UITextInput, UITextInputTokenizer, UITextInputTraits_Private>
+- (UITextInputTraits *)textInputTraits;
+- (void)insertTextSuggestion:(UITextSuggestion *)textSuggestion;
+- (void)handleKeyWebEvent:(WebEvent *)theEvent withCompletionHandler:(void (^)(WebEvent *, BOOL))completionHandler;
+- (BOOL)_shouldSuppressSelectionCommands;
+- (NSDictionary *)_autofillContext;
+@optional
+- (BOOL)requiresKeyEvents;
+- (NSArray *)metadataDictionariesForDictationResults;
+- (UIColor *)textColorForCaretSelection;
+- (UIFont *)fontForCaretSelection;
+- (UIView *)automaticallySelectedOverlay;
+- (void)handleKeyWebEvent:(WebEvent *)event;
+- (void)insertDictationResult:(NSArray *)dictationResult withCorrectionIdentifier:(id)correctionIdentifier;
+- (void)replaceRangeWithTextWithoutClosingTyping:(UITextRange *)range replacementText:(NSString *)text;
+- (void)setBottomBufferHeight:(CGFloat)bottomBuffer;
+#if USE(UIKIT_KEYBOARD_ADDITIONS)
+- (void)modifierFlagsDidChangeFrom:(UIKeyModifierFlags)oldFlags to:(UIKeyModifierFlags)newFlags;
+#endif
+@property (nonatomic) UITextGranularity selectionGranularity;
+@required
+- (BOOL)hasContent;
+- (BOOL)hasSelection;
+- (void)selectAll;
+@end
+
+@interface UIResponder ()
+- (UIResponder *)firstResponder;
+- (void)pasteAndMatchStyle:(id)sender;
+- (void)makeTextWritingDirectionNatural:(id _Nullable)sender;
+- (void)_handleKeyUIEvent:(UIEvent *)event;
+- (void)_wheelChangedWithEvent:(UIEvent *)event;
+- (void)_beginPinningInputViews;
+- (void)_endPinningInputViews;
+@end
+
+@interface UIEvent ()
+- (void *)_hidEvent;
+- (NSString *)_unmodifiedInput;
+- (NSString *)_modifiedInput;
+- (BOOL)_isKeyDown;
+@end
+
+@class FBSDisplayConfiguration;
+@interface UIScreen ()
+- (void)_setScale:(CGFloat)scale;
+@property (nonatomic, readonly, retain) FBSDisplayConfiguration *displayConfiguration;
+@end
+
+@interface _UINavigationInteractiveTransitionBase ()
+- (id)initWithGestureRecognizerView:(UIView *)gestureRecognizerView animator:(id<UIViewControllerAnimatedTransitioning> _Nullable)animator delegate:(id<_UINavigationInteractiveTransitionBaseDelegate>)delegate;
+- (void)_completeStoppedInteractiveTransition;
+@property (nonatomic, weak) UIPanGestureRecognizer *gestureRecognizer;
+@property (nonatomic, assign) BOOL shouldReverseTranslation;
+@property (nonatomic, retain) _UINavigationParallaxTransition *animationController;
+@end
+
+@protocol _UINavigationInteractiveTransitionBaseDelegate <NSObject>
+- (void)startInteractiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition;
+- (BOOL)shouldBeginInteractiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition;
+- (BOOL)interactiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
+- (BOOL)interactiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;
+- (UIPanGestureRecognizer *)gestureRecognizerForInteractiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition WithTarget:(id)target action:(SEL)action;
+@end
+
+@interface UIAlertController ()
+- (void)_addActionWithTitle:(NSString *)title style:(UIAlertActionStyle)style handler:(void (^)(void))handler;
+- (void)_addActionWithTitle:(NSString *)title style:(UIAlertActionStyle)style handler:(void (^)(void))handler shouldDismissHandler:(BOOL (^)(void))shouldDismissHandler;
+@property (nonatomic) UIAlertControllerStyle preferredStyle;
+@end
+
+typedef enum {
+    UIAllCorners = 0xFF,
+} UIRectCorners;
+
+typedef NS_ENUM (NSInteger, _UIBackdropMaskViewFlags) {
+    _UIBackdropMaskViewNone = 0,
+    _UIBackdropMaskViewGrayscaleTint = 1 << 0,
+    _UIBackdropMaskViewColorTint = 1 << 1,
+    _UIBackdropMaskViewFilters = 1 << 2,
+    _UIBackdropMaskViewAll = _UIBackdropMaskViewGrayscaleTint | _UIBackdropMaskViewColorTint | _UIBackdropMaskViewFilters,
+};
+
+@interface UIWebSelectionView : UIView
+@end
+
+@interface UIWebSelectionAssistant : NSObject <UIGestureRecognizerDelegate>
+@end
+
+@protocol UISelectionInteractionAssistant
+- (void)showSelectionCommands;
+@end
+
+@interface UIWebSelectionAssistant ()
+- (BOOL)isSelectionGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer;
+- (id)initWithView:(UIView *)view;
+- (void)clearSelection;
+- (void)didEndScrollingOrZoomingPage;
+- (void)didEndScrollingOverflow;
+- (void)resignedFirstResponder;
+- (void)selectionChanged;
+- (void)setGestureRecognizers;
+- (void)willStartScrollingOrZoomingPage;
+- (void)willStartScrollingOverflow;
+#if !PLATFORM(IOSMAC)
+@property (nonatomic, retain) UIWebSelectionView *selectionView;
+#endif
+@property (nonatomic, readonly) CGRect selectionFrame;
+@end
+
+@interface UIWKSelectionAssistant : UIWebSelectionAssistant
+@end
+
+@interface UIWKSelectionAssistant ()
+- (BOOL)shouldHandleSingleTapAtPoint:(CGPoint)point;
+- (void)selectionChangedWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState withFlags:(UIWKSelectionFlags)flags;
+- (void)selectionChangedWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch withFlags:(UIWKSelectionFlags)flags;
+- (void)showDictionaryFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
+- (void)showShareSheetFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
+- (void)showTextServiceFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
+- (void)lookup:(NSString *)textWithContext withRange:(NSRange)range fromRect:(CGRect)presentationRect;
+@property (nonatomic, readonly) UILongPressGestureRecognizer *selectionLongPressRecognizer;
+@end
+
+@protocol UIKeyboardImplGeometryDelegate
+@property (nonatomic, readwrite, getter=isMinimized) BOOL minimized;
+- (void)prepareForImplBoundsHeightChange:(CGFloat)endDelta suppressNotification:(BOOL)suppressNotification;
+- (void)implBoundsHeightChangeDone:(CGFloat)endDelta suppressNotification:(BOOL)suppressNotification;
+- (BOOL)shouldSaveMinimizationState;
+- (BOOL)canDismiss;
+- (BOOL)isActive;
+@end
+
+@interface UIKeyboard : UIView <UIKeyboardImplGeometryDelegate>
+@end
+
+@interface UIKeyboard ()
++ (CGSize)defaultSizeForInterfaceOrientation:(UIInterfaceOrientation)orientation;
+- (void)activate;
+- (void)geometryChangeDone:(BOOL)keyboardVisible;
+- (void)prepareForGeometryChange;
++ (BOOL)isInHardwareKeyboardMode;
++ (void)removeAllDynamicDictionaries;
+@end
+
+@interface UIKeyCommand ()
+@property (nonatomic, readonly) UIEvent *_triggeringEvent;
+@end
+
+@interface UIImage ()
+- (id)initWithCGImage:(CGImageRef)CGImage imageOrientation:(UIImageOrientation)imageOrientation;
+@end
+
+@interface UIImagePickerController ()
+@property (nonatomic, setter=_setAllowsMultipleSelection:) BOOL _allowsMultipleSelection;
+@end
+
+@interface UIPickerContentView : UIView
+@end
+
+@interface UIPickerContentView ()
++(CGFloat)_checkmarkOffset;
+-(CGFloat)labelWidthForBounds:(CGRect)bounds;
+@property (nonatomic, getter=isChecked) BOOL checked;
+@property (nonatomic, readonly) UILabel *titleLabel;
+@end
+
+@interface UIPickerView ()
++ (CGSize)defaultSizeForCurrentOrientation;
+- (void)_setUsesCheckedSelection:(BOOL)usesCheckedSelection;
+@property (nonatomic, setter=_setMagnifierEnabled:) BOOL _magnifierEnabled;
+@end
+
+typedef NS_ENUM(NSInteger, UIDatePickerPrivateMode)  {
+    UIDatePickerModeYearAndMonth = 4269,
+};
+
+@interface UIDatePicker ()
+@property (nonatomic, readonly, getter=_contentWidth) CGFloat contentWidth;
+@end
+
+@interface NSString (UIKitDetails)
+- (CGSize)_legacy_sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode;
+- (CGSize)_legacy_sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode;
+@end
+
+@interface UITextInputTraits : NSObject <UITextInputTraits, UITextInputTraits_Private, NSCopying>
+- (void)_setColorsToMatchTintColor:(UIColor *)tintColor;
+@end
+
+@interface UITextInteractionAssistant ()
+- (void)activateSelection;
+- (void)deactivateSelection;
+- (void)didEndScrollingOverflow;
+- (void)selectionChanged;
+- (void)setGestureRecognizers;
+- (void)willStartScrollingOverflow;
+@end
+
+@interface UIMenuItem (UIMenuController_SPI)
+@property (nonatomic) BOOL dontDismiss;
+@end
+
+@interface UICalloutBar : UIView
++ (UICalloutBar *)activeCalloutBar;
++ (void)fadeSharedCalloutBar;
++ (UICalloutBar *)sharedCalloutBar;
+@end
+
+@interface UIAutoRotatingWindow : UIApplicationRotationFollowingWindow
+@end
+
+@interface UITextEffectsWindow : UIAutoRotatingWindow
++ (UITextEffectsWindow *)sharedTextEffectsWindow;
+@end
+
+@interface _UIVisualEffectLayerConfig : NSObject
++ (instancetype)layerWithFillColor:(UIColor *)fillColor opacity:(CGFloat)opacity filterType:(NSString *)filterType;
+- (void)configureLayerView:(UIView *)view;
+@end
+
+@interface _UIVisualEffectTintLayerConfig : _UIVisualEffectLayerConfig
++ (instancetype)layerWithTintColor:(UIColor *)tintColor;
++ (instancetype)layerWithTintColor:(UIColor *)tintColor filterType:(NSString *)filterType NS_AVAILABLE_IOS(9_0);
+@end
+
+@interface _UIVisualEffectConfig : NSObject
+@property (nonatomic, readonly) _UIVisualEffectLayerConfig *contentConfig;
++ (_UIVisualEffectConfig *)configWithContentConfig:(_UIVisualEffectLayerConfig *)contentConfig;
+@end
+
+typedef NSInteger UICompositingMode;
+
+@interface UIVisualEffect ()
++ (UIVisualEffect *)emptyEffect;
++ (UIVisualEffect *)effectCombiningEffects:(NSArray<UIVisualEffect *> *)effects;
++ (UIVisualEffect *)effectCompositingColor:(UIColor *)color withMode:(UICompositingMode)compositingMode alpha:(CGFloat)alpha;
+@end
+
+@interface UIColorEffect : UIVisualEffect
++ (UIColorEffect *)colorEffectSaturate:(CGFloat)saturationAmount;
+@end
+
+@interface UIBlurEffect ()
++ (UIBlurEffect *)effectWithBlurRadius:(CGFloat)blurRadius;
+@end
+
+@interface UIPopoverPresentationController ()
+@property (assign, nonatomic, setter=_setCentersPopoverIfSourceViewNotSet:, getter=_centersPopoverIfSourceViewNotSet) BOOL _centersPopoverIfSourceViewNotSet;
+@end
+
+@protocol UITextInputSuggestionDelegate <UITextInputDelegate>
+- (void)setSuggestions:(NSArray <UITextSuggestion*> * _Nullable)suggestions;
+@end
+
+@class UITextInputArrowKeyHistory;
+
+@interface UILongPressGestureRecognizer ()
+@property (nonatomic) CFTimeInterval delay;
+@property (nonatomic, readonly) CGPoint startPoint;
+@property (nonatomic, assign, setter=_setRequiresQuietImpulse:) BOOL _requiresQuietImpulse;
+@end
+
+@interface _UIWebHighlightLongPressGestureRecognizer : UILongPressGestureRecognizer
+@end
+
+@interface _UIWebHighlightLongPressGestureRecognizer ()
+- (void)cancel;
+@end
+
+@interface UITapGestureRecognizer ()
+@property (nonatomic, getter=_allowableSeparation, setter=_setAllowableSeparation:) CGFloat allowableSeparation;
+@property (nonatomic, readonly) CGPoint location;
+@property (nonatomic) CGFloat allowableMovement;
+@property (nonatomic, readonly) CGPoint centroid;
+@end
+
+@interface UIWebFormAccessory (Staging_49666643)
+- (void)setNextPreviousItemsVisible:(BOOL)visible;
+@end
+
+@interface UIGestureRecognizer (Staging_45970040)
+@property (nonatomic, readonly, getter=_modifierFlags) UIKeyModifierFlags modifierFlags;
+@end
+
+typedef NS_ENUM(NSInteger, UIScrollViewIndicatorInsetAdjustmentBehavior) {
+    UIScrollViewIndicatorInsetAdjustmentAutomatic,
+    UIScrollViewIndicatorInsetAdjustmentAlways,
+    UIScrollViewIndicatorInsetAdjustmentNever
+};
+
+@interface UIDevice ()
+- (void)setOrientation:(UIDeviceOrientation)orientation animated:(BOOL)animated;
+@property (nonatomic, readonly, retain) NSString *buildVersion;
+@end
+
+typedef NS_OPTIONS(NSInteger, UIWKDocumentRequestFlags) {
+    UIWKDocumentRequestNone = 0,
+    UIWKDocumentRequestText = 1 << 0,
+    UIWKDocumentRequestAttributed = 1 << 1,
+    UIWKDocumentRequestRects = 1 << 2,
+    UIWKDocumentRequestSpatial = 1 << 3,
+    UIWKDocumentRequestAnnotation = 1 << 4,
+};
+@interface UIWKDocumentRequest : NSObject
+@property (nonatomic, assign) UIWKDocumentRequestFlags flags;
+@property (nonatomic, assign) UITextGranularity surroundingGranularity;
+@property (nonatomic, assign) NSInteger granularityCount;
+@property (nonatomic, assign) CGRect documentRect;
+@property (nonatomic, retain) id <NSCopying> inputElementIdentifier;
+@end
+
+@protocol UIDragInteractionDelegate_ForWebKitOnly <UIDragInteractionDelegate>
+@optional
+- (void)_dragInteraction:(UIDragInteraction *)interaction prepareForSession:(id<UIDragSession>)session completion:(void(^)(void))completion;
+- (void)_dragInteraction:(UIDragInteraction *)interaction itemsForAddingToSession:(id <UIDragSession>)session withTouchAtPoint:(CGPoint)point completion:(void(^)(NSArray<UIDragItem *> *))completion;
+@end
+
+#endif // USE(APPLE_INTERNAL_SDK)
+
+@class UIKeyboardRotationState;
+
+@interface UIPeripheralHost (IPI)
++ (UIPeripheralHost *)sharedInstance;
++ (UIPeripheralHost *)activeInstance;
++ (CGRect)visiblePeripheralFrame;
+- (BOOL)isOnScreen;
+- (BOOL)isUndocked;
+- (UIKeyboardRotationState *)rotationState;
+- (CGFloat)getVerticalOverlapForView:(UIView *)view usingKeyboardInfo:(NSDictionary *)info;
+@end
+
+@interface _UINavigationInteractiveTransitionBase ()
+- (void)_stopInteractiveTransition;
+@end
+
+@interface UIApplication ()
+- (BOOL)_isClassic;
++ (UIApplicationSceneClassicMode)_classicMode;
+- (GSKeyboardRef)_hardwareKeyboard;
+- (CGFloat)_iOSMacScale;
+@end
+
+@interface NSParagraphStyle ()
+- (NSArray *)textLists;
 @end
 
 @interface NSTextAttachment ()
 - (id)initWithFileWrapper:(NSFileWrapper *)fileWrapper;
 @end
 
+@interface NSMutableParagraphStyle ()
+- (void)setTextLists:(NSArray *)textLists;
+@end
+
 @interface NSTextList : NSObject
 - (instancetype)initWithMarkerFormat:(NSString *)format options:(NSUInteger)mask;
 @property (readonly, copy) NSString *markerFormat;
@@ -100,14 +1072,19 @@ typedef enum {
 - (NSString *)markerForItemNumber:(NSInteger)itemNum;
 @end
 
-@interface UIApplication ()
-- (BOOL)_isClassic;
-+ (UIApplicationSceneClassicMode)_classicMode;
-- (GSKeyboardRef)_hardwareKeyboard;
+#if ENABLE(FULL_KEYBOARD_ACCESS)
+@interface UIColor (IPI)
++ (UIColor *)keyboardFocusIndicatorColor;
 @end
 
-@interface UIColor ()
+@interface UIFocusRingStyle (Staging_47831886)
++ (CGFloat)cornerRadius;
++ (CGFloat)maxAlpha;
++ (CGFloat)alphaThreshold;
+@end
+#endif // ENABLE(FULL_KEYBOARD_ACCESS)
 
+@interface UIColor ()
 + (UIColor *)systemBlueColor;
 + (UIColor *)systemGrayColor;
 + (UIColor *)systemGreenColor;
@@ -116,49 +1093,179 @@ typedef enum {
 + (UIColor *)systemPurpleColor;
 + (UIColor *)systemRedColor;
 + (UIColor *)systemYellowColor;
-
 + (UIColor *)_disambiguated_due_to_CIImage_colorWithCGColor:(CGColorRef)cgColor;
-
 - (CGFloat)alphaComponent;
+@end
 
+@interface _UILayerHostView : UIView
+- (instancetype)initWithFrame:(CGRect)frame pid:(pid_t)pid contextID:(uint32_t)contextID;
 @end
 
-@interface UIFont ()
+@interface _UIRemoteView : _UILayerHostView
+- (instancetype)initWithFrame:(CGRect)frame pid:(pid_t)pid contextID:(uint32_t)contextID;
+@end
 
-+ (UIFont *)fontWithFamilyName:(NSString *)familyName traits:(UIFontTrait)traits size:(CGFloat)fontSize;
+#if HAVE(LINK_PREVIEW)
+typedef NS_ENUM(NSInteger, UIPreviewItemType) {
+    UIPreviewItemTypeNone,
+    UIPreviewItemTypeClientCustom,
+    UIPreviewItemTypeLink,
+    UIPreviewItemTypeImage,
+    UIPreviewItemTypeText,
+    UIPreviewItemTypeAttachment,
+};
+
+@class UIPreviewItemController;
 
+@protocol UIPreviewItemDelegate <NSObject>
+- (NSDictionary *)_dataForPreviewItemController:(UIPreviewItemController *)controller atPosition:(CGPoint)position type:(UIPreviewItemType *)type;
+@optional
+- (BOOL)_interactionShouldBeginFromPreviewItemController:(UIPreviewItemController *)controller forPosition:(CGPoint)position;
+- (void)_interactionStartedFromPreviewItemController:(UIPreviewItemController *)controller;
+- (void)_interactionStoppedFromPreviewItemController:(UIPreviewItemController *)controller;
+- (UIViewController *)_presentedViewControllerForPreviewItemController:(UIPreviewItemController *)controller;
+- (void)_previewItemController:(UIPreviewItemController *)controller didDismissPreview:(UIViewController *)viewController committing:(BOOL)committing;
+- (void)_previewItemController:(UIPreviewItemController *)controller commitPreview:(UIViewController *)viewController;
+- (void)_previewItemControllerDidCancelPreview:(UIPreviewItemController *)controller;
+- (UIImage *)_presentationSnapshotForPreviewItemController:(UIPreviewItemController *)controller;
+- (NSArray *)_presentationRectsForPreviewItemController:(UIPreviewItemController *)controller;
+- (CGRect)_presentationRectForPreviewItemController:(UIPreviewItemController *)controller;
 @end
 
-@interface UIScreen ()
+@interface UIPreviewItemController : NSObject
+- (instancetype)initWithView:(UIView *)view;
+@property (assign, nonatomic, nullable) id<UIPreviewItemDelegate> delegate;
+@property (assign, nonatomic, readonly) UIPreviewItemType type;
+@property (strong, nonatomic, readonly) NSDictionary *previewData;
+@property (strong, nonatomic, readonly) UIGestureRecognizer *presentationGestureRecognizer;
+@property (strong, nonatomic, readonly) UIGestureRecognizer *presentationSecondaryGestureRecognizer;
+@end
+#endif // HAVE(LINK_PREVIEW)
 
-@property (nonatomic, readonly) CGRect _referenceBounds;
+extern NSString * const NSTextEncodingNameDocumentOption;
+extern NSString * const NSBaseURLDocumentOption;
+extern NSString * const NSTimeoutDocumentOption;
+extern NSString * const NSWebPreferencesDocumentOption;
+extern NSString * const NSWebResourceLoadDelegateDocumentOption;
+extern NSString * const NSTextSizeMultiplierDocumentOption;
+extern NSString * const UIKeyInputPageUp;
+extern NSString * const UIKeyInputPageDown;
+extern NSString * const UIPreviewDataLink;
+extern NSString * const UIPreviewDataDDResult;
+extern NSString * const UIPreviewDataDDContext;
+extern NSString * const UIPreviewDataAttachmentList;
+extern NSString * const UIPreviewDataAttachmentIndex;
+
+#if __IPHONE_OS_VERSION_MAX_ALLOWED < 130000
+extern NSString * const UIPreviewDataAttachmentListSourceIsManaged;
+#else
+extern NSString * const UIPreviewDataAttachmentListIsContentManaged;
+#endif
 
+@interface UIView (IPI)
+- (UIScrollView *)_scroller;
+- (CGPoint)accessibilityConvertPointFromSceneReferenceCoordinates:(CGPoint)point;
+- (CGRect)accessibilityConvertRectToSceneReferenceCoordinates:(CGRect)rect;
+- (UIRectEdge)_edgesApplyingSafeAreaInsetsToContentInset;
+- (void)_updateSafeAreaInsets;
++ (BOOL)_isInAnimationBlock;
+- (CGSize)size;
+- (void)setFrameOrigin:(CGPoint)origin;
+- (void)setSize:(CGSize)size;
+@property (nonatomic, assign, setter=_setBackdropMaskViewFlags:) NSInteger _backdropMaskViewFlags;
+- (void)_populateArchivedSubviews:(NSMutableSet *)encodedViews;
+- (void)safeAreaInsetsDidChange;
+@property (nonatomic, setter=_setContinuousCornerRadius:) CGFloat _continuousCornerRadius;
+- (void)insertSubview:(UIView *)view above:(UIView *)sibling;
+- (void)viewWillMoveToSuperview:(UIView *)newSuperview;
+- (CGSize)convertSize:(CGSize)size toView:(UIView *)view;
+- (void)_removeAllAnimations:(BOOL)includeSubviews;
+- (UIColor *)_inheritedInteractionTintColor;
 @end
 
-@interface UIViewController ()
-+ (UIViewController *)viewControllerForView:(UIView *)view;
+@interface UIScrollView (IPI)
+- (CGFloat)_rubberBandOffsetForOffset:(CGFloat)newOffset maxOffset:(CGFloat)maxOffset minOffset:(CGFloat)minOffset range:(CGFloat)range outside:(BOOL *)outside;
+- (void)_adjustForAutomaticKeyboardInfo:(NSDictionary *)info animated:(BOOL)animated lastAdjustment:(CGFloat*)lastAdjustment;
+- (BOOL)_isScrollingToTop;
+- (CGPoint)_animatedTargetOffset;
+- (BOOL)_canScrollWithoutBouncingX;
+- (BOOL)_canScrollWithoutBouncingY;
+- (void)_setContentOffsetWithDecelerationAnimation:(CGPoint)contentOffset;
+- (CGPoint)_adjustedContentOffsetForContentOffset:(CGPoint)contentOffset;
+- (void)_flashScrollIndicatorsPersistingPreviousFlashes:(BOOL)persisting;
+- (void)_stopScrollingAndZoomingAnimations;
+- (void)_zoomToCenter:(CGPoint)center scale:(CGFloat)scale duration:(CFTimeInterval)duration force:(BOOL)force;
+- (void)_zoomToCenter:(CGPoint)center scale:(CGFloat)scale duration:(CFTimeInterval)duration;
+- (double)_horizontalVelocity;
+- (double)_verticalVelocity;
+- (void)_flashScrollIndicatorsPersistingPreviousFlashes;
+@property (nonatomic, getter=isZoomEnabled) BOOL zoomEnabled;
+@property (nonatomic, readonly, getter=_isAnimatingZoom) BOOL isAnimatingZoom;
+@property (nonatomic, readonly, getter=_isAnimatingScroll) BOOL isAnimatingScroll;
+@property (nonatomic) CGFloat horizontalScrollDecelerationFactor;
+@property (nonatomic) CGFloat verticalScrollDecelerationFactor;
+@property (nonatomic, readonly) BOOL _isInterruptingDeceleration;
+@property (nonatomic, getter=_contentScrollInset, setter=_setContentScrollInset:) UIEdgeInsets contentScrollInset;
+@property (nonatomic, getter=_indicatorInsetAdjustmentBehavior, setter=_setIndicatorInsetAdjustmentBehavior:) UIScrollViewIndicatorInsetAdjustmentBehavior indicatorInsetAdjustmentBehavior;
+@property (nonatomic, readonly) UIEdgeInsets _systemContentInset;
+@property (nonatomic, readonly) UIEdgeInsets _effectiveContentInset;
 @end
 
-NS_ASSUME_NONNULL_END
+@interface UIPhysicalKeyboardEvent : UIPressesEvent
+@end
+@interface UIPhysicalKeyboardEvent ()
++ (UIPhysicalKeyboardEvent *)_eventWithInput:(NSString *)input inputFlags:(UIKeyboardInputFlags)flags;
+- (void)_setHIDEvent:(IOHIDEventRef)event keyboard:(GSKeyboardRef _Nullable)gsKeyboard;
+- (UIPhysicalKeyboardEvent *)_cloneEvent NS_RETURNS_RETAINED;
+@property (nonatomic, readonly) UIKeyboardInputFlags _inputFlags;
+@property (nonatomic, readonly) CFIndex _keyCode;
+@property (nonatomic, readonly) NSInteger _gsModifierFlags;
+@end
 
-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000
-@interface NSURL ()
-@property (nonatomic, copy, nullable, setter=_setTitle:) NSString *_title;
+@interface UIKeyboardImpl (IPI)
++ (UIKeyboardImpl *)activeInstance;
++ (UIKeyboardImpl *)sharedInstance;
++ (CGSize)defaultSizeForInterfaceOrientation:(UIInterfaceOrientation)orientation;
+- (void)addInputString:(NSString *)string withFlags:(NSUInteger)flags;
+- (void)addInputString:(NSString *)string withFlags:(NSUInteger)flags withInputManagerHint:(NSString * _Nullable)hint;
+- (BOOL)autocorrectSpellingEnabled;
+- (void)deleteFromInput;
+- (void)deleteFromInputWithFlags:(NSUInteger)flags;
+- (void)setInitialDirection;
+- (void)prepareKeyboardInputModeFromPreferences:(UIKeyboardInputMode * _Nullable)lastUsedMode;
+- (BOOL)handleKeyTextCommandForCurrentEvent;
+- (BOOL)handleKeyAppCommandForCurrentEvent;
+@property (nonatomic, readonly) UIKeyboardInputMode *currentInputModeInPreference;
 @end
+
+static inline bool currentUserInterfaceIdiomIsPad()
+{
+    // This inline function exists to thwart unreachable code
+    // detection on platforms where UICurrentUserInterfaceIdiomIsPad
+    // is defined directly to false.
+#if USE(APPLE_INTERNAL_SDK)
+    return UICurrentUserInterfaceIdiomIsPad();
+#else
+    return [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad;
 #endif
+}
 
-#endif // USE(APPLE_INTERNAL_SDK)
+#if ENABLE(DRAG_SUPPORT)
+WTF_EXTERN_C_BEGIN
+NSTimeInterval _UIDragInteractionDefaultLiftDelay(void);
+CGFloat UIRoundToScreenScale(CGFloat value, UIScreen *);
+WTF_EXTERN_C_END
 
-#if ENABLE(FULL_KEYBOARD_ACCESS)
-@interface UIColor (IPI)
-+ (UIColor *)keyboardFocusIndicatorColor;
+#endif // ENABLE(DRAG_SUPPORT)
+
+@interface UIDevice ()
+@property (nonatomic, setter=_setBacklightLevel:) float _backlightLevel;
 @end
 
-@interface UIFocusRingStyle (Staging_47831886)
-+ (CGFloat)cornerRadius;
-+ (CGFloat)maxAlpha;
-+ (CGFloat)alphaThreshold;
+@protocol UIWKInteractionViewProtocol_Staging_49236384
+- (void)pasteWithCompletionHandler:(void (^)(void))completionHandler;
 @end
-#endif
+
+NS_ASSUME_NONNULL_END
 
 #endif // PLATFORM(IOS_FAMILY)
index aea98a7..aff35ed 100644 (file)
@@ -267,7 +267,7 @@ long PlatformPasteboard::setStringForType(const String&, const String&)
 
 long PlatformPasteboard::changeCount() const
 {
-    return [m_pasteboard changeCount];
+    return [(id<AbstractPasteboard>)m_pasteboard.get() changeCount];
 }
 
 String PlatformPasteboard::uniqueName()
@@ -585,7 +585,7 @@ long PlatformPasteboard::write(const PasteboardCustomData& data)
     }
 
     registerItemToPasteboard(representationsToRegister.get(), m_pasteboard.get());
-    return [m_pasteboard changeCount];
+    return [(id<AbstractPasteboard>)m_pasteboard.get() changeCount];
 }
 
 #else
index 270fa07..c81e88c 100644 (file)
@@ -1,3 +1,78 @@
+2019-05-04  Alex Christensen  <achristensen@webkit.org>
+
+        Merge the three UIKitSPI.h files into a single one in PAL
+        https://bugs.webkit.org/show_bug.cgi?id=197534
+
+        Reviewed by Darin Adler.
+
+        * Platform/spi/ios/PDFKitSPI.h:
+        * Platform/spi/ios/UIKitSPI.h: Removed.
+        * Shared/DocumentEditingContext.mm:
+        * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
+        * Shared/ios/NativeWebKeyboardEventIOS.mm:
+        * Shared/ios/NativeWebTouchEventIOS.mm:
+        * Shared/ios/WebIconUtilities.mm:
+        * UIProcess/API/Cocoa/NSAttributedString.mm:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        * UIProcess/API/Cocoa/WKWebViewInternal.h:
+        * UIProcess/ApplicationStateTracker.mm:
+        * UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
+        * UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
+        * UIProcess/Cocoa/WKShareSheet.mm:
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        * UIProcess/Gamepad/ios/UIGamepadProviderIOS.mm:
+        * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
+        * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
+        * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
+        * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
+        * UIProcess/WKImagePreviewViewController.mm:
+        * UIProcess/_WKTouchEventGenerator.mm:
+        * UIProcess/ios/DragDropInteractionState.h:
+        * UIProcess/ios/InputViewUpdateDeferrer.mm:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        * UIProcess/ios/SmartMagnificationController.mm:
+        * UIProcess/ios/TextCheckerIOS.mm:
+        * UIProcess/ios/ViewGestureControllerIOS.mm:
+        * UIProcess/ios/WKActionSheet.mm:
+        * UIProcess/ios/WKActionSheetAssistant.mm:
+        * UIProcess/ios/WKContentView.mm:
+        * UIProcess/ios/WKContentViewInteraction.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        * UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:
+        * UIProcess/ios/WKKeyboardScrollingAnimator.mm:
+        * UIProcess/ios/WKPDFPageNumberIndicator.mm:
+        * UIProcess/ios/WKPDFView.mm:
+        * UIProcess/ios/WKPasswordView.mm:
+        * UIProcess/ios/WKScrollView.h:
+        * UIProcess/ios/WKScrollView.mm:
+        * UIProcess/ios/WKSyntheticTapGestureRecognizer.h:
+        * UIProcess/ios/WKWebEvent.mm:
+        * UIProcess/ios/WebDataListSuggestionsDropdownIOS.h:
+        * UIProcess/ios/WebPageProxyIOS.mm:
+        * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
+        * UIProcess/ios/forms/WKFileUploadPanel.mm:
+        * UIProcess/ios/forms/WKFocusedFormControlView.h:
+        * UIProcess/ios/forms/WKFormColorControl.mm:
+        * UIProcess/ios/forms/WKFormColorPicker.mm:
+        * UIProcess/ios/forms/WKFormInputControl.mm:
+        * UIProcess/ios/forms/WKFormPopover.mm:
+        * UIProcess/ios/forms/WKFormSelectControl.h:
+        * UIProcess/ios/forms/WKFormSelectControl.mm:
+        * UIProcess/ios/forms/WKFormSelectPicker.mm:
+        * UIProcess/ios/forms/WKFormSelectPopover.mm:
+        * UIProcess/ios/forms/WKNumberPadViewController.mm:
+        * UIProcess/ios/forms/WKQuickboardListViewController.h:
+        * UIProcess/ios/forms/WKSelectMenuListViewController.mm:
+        * UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
+        * UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
+        * UIProcess/ios/fullscreen/WKFullscreenStackView.mm:
+        * WebKit.xcodeproj/project.pbxproj:
+        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
+        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+
 2019-05-03  Wenson Hsieh  <wenson_hsieh@apple.com>
 
         REGRESSION (r244897): Caret may appear wider than normal after zooming to focus an editable element
index 93b0105..7bd7577 100644 (file)
@@ -29,7 +29,7 @@
 
 #else
 
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 @interface _UIRemoteViewController : UIViewController
 @end
diff --git a/Source/WebKit/Platform/spi/ios/UIKitSPI.h b/Source/WebKit/Platform/spi/ios/UIKitSPI.h
deleted file mode 100644 (file)
index d867fa1..0000000
+++ /dev/null
@@ -1,1244 +0,0 @@
-/*
- * Copyright (C) 2014-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 <UIKit/UIKit.h>
-
-#if USE(APPLE_INTERNAL_SDK)
-
-#import <UIKit/UIAlertController_Private.h>
-#import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIBarButtonItem_Private.h>
-#import <UIKit/UIBlurEffect_Private.h>
-#import <UIKit/UICalloutBar.h>
-#import <UIKit/UIColorEffect.h>
-#import <UIKit/UIDatePicker_Private.h>
-#import <UIKit/UIDevice_Private.h>
-#import <UIKit/UIDocumentMenuViewController_Private.h>
-#import <UIKit/UIDocumentPasswordView.h>
-#import <UIKit/UIFont_Private.h>
-#import <UIKit/UIGeometry_Private.h>
-#import <UIKit/UIGestureRecognizer_Private.h>
-#import <UIKit/UIImagePickerController_Private.h>
-#import <UIKit/UIImage_Private.h>
-#import <UIKit/UIInterface_Private.h>
-#import <UIKit/UIKeyboardImpl.h>
-#import <UIKit/UIKeyboardInputModeController.h>
-#import <UIKit/UIKeyboardIntl.h>
-#import <UIKit/UIKeyboard_Private.h>
-#import <UIKit/UILongPressGestureRecognizer_Private.h>
-#import <UIKit/UIMenuController_Private.h>
-#import <UIKit/UIPeripheralHost.h>
-#import <UIKit/UIPeripheralHost_Private.h>
-#import <UIKit/UIPickerContentView_Private.h>
-#import <UIKit/UIPickerView_Private.h>
-#import <UIKit/UIPopoverPresentationController_Private.h>
-#import <UIKit/UIPresentationController_Private.h>
-#import <UIKit/UIResponder_Private.h>
-#import <UIKit/UIScrollView_Private.h>
-#import <UIKit/UIStringDrawing_Private.h>
-#import <UIKit/UITableViewCell_Private.h>
-#import <UIKit/UITapGestureRecognizer_Private.h>
-#import <UIKit/UITextChecker_Private.h>
-#import <UIKit/UITextEffectsWindow.h>
-#import <UIKit/UITextInput_Private.h>
-#import <UIKit/UITextInteractionAssistant_Private.h>
-#import <UIKit/UIViewControllerTransitioning_Private.h>
-#import <UIKit/UIViewController_Private.h>
-#import <UIKit/UIViewController_ViewService.h>
-#import <UIKit/UIView_Private.h>
-#import <UIKit/UIVisualEffect_Private.h>
-#import <UIKit/UIWKSelectionAssistant.h>
-#import <UIKit/UIWKTextInteractionAssistant.h>
-#import <UIKit/UIWebBrowserView.h>
-#import <UIKit/UIWebDocumentView.h>
-#import <UIKit/UIWebFormAccessory.h>
-#import <UIKit/UIWebGeolocationPolicyDecider.h>
-#import <UIKit/UIWebScrollView.h>
-#import <UIKit/UIWebTiledView.h>
-#import <UIKit/UIWebTouchEventsGestureRecognizer.h>
-#import <UIKit/UIWindow_Private.h>
-#import <UIKit/_UIApplicationRotationFollowing.h>
-#import <UIKit/_UIBackdropViewSettings.h>
-#import <UIKit/_UIBackdropView_Private.h>
-#import <UIKit/_UIHighlightView.h>
-#import <UIKit/_UINavigationInteractiveTransition.h>
-#import <UIKit/_UINavigationParallaxTransition.h>
-
-#if HAVE(LINK_PREVIEW)
-#import <UIKit/UIPreviewItemController.h>
-#endif
-
-#if ENABLE(DRAG_SUPPORT)
-#import <UIKit/NSItemProvider+UIKitAdditions_Private.h>
-#endif
-
-#if ENABLE(DRAG_SUPPORT)
-#import <UIKit/UIDragInteraction.h>
-#import <UIKit/UIDragInteraction_Private.h>
-#import <UIKit/UIDragItem_Private.h>
-#import <UIKit/UIDragPreviewParameters.h>
-#import <UIKit/UIDragPreview_Private.h>
-#import <UIKit/UIDragSession.h>
-#import <UIKit/UIDragging.h>
-#import <UIKit/UIDropInteraction.h>
-#import <UIKit/UIPreviewInteraction.h>
-#import <UIKit/UIURLDragPreviewView.h>
-#import <UIKit/_UITextDragCaretView.h>
-#endif
-
-#else // USE(APPLE_INTERNAL_SDK)
-
-#if ENABLE(DRAG_SUPPORT)
-#import <UIKit/NSItemProvider+UIKitAdditions.h>
-#endif
-
-#if HAVE(LINK_PREVIEW)
-typedef NS_ENUM(NSInteger, UIPreviewItemType) {
-    UIPreviewItemTypeNone,
-    UIPreviewItemTypeClientCustom,
-    UIPreviewItemTypeLink,
-    UIPreviewItemTypeImage,
-    UIPreviewItemTypeText,
-    UIPreviewItemTypeAttachment,
-};
-
-@class UIPreviewItemController;
-
-@protocol UIPreviewItemDelegate <NSObject>
-- (NSDictionary *)_dataForPreviewItemController:(UIPreviewItemController *)controller atPosition:(CGPoint)position type:(UIPreviewItemType *)type;
-@optional
-- (BOOL)_interactionShouldBeginFromPreviewItemController:(UIPreviewItemController *)controller forPosition:(CGPoint)position;
-- (void)_interactionStartedFromPreviewItemController:(UIPreviewItemController *)controller;
-- (void)_interactionStoppedFromPreviewItemController:(UIPreviewItemController *)controller;
-- (UIViewController *)_presentedViewControllerForPreviewItemController:(UIPreviewItemController *)controller;
-- (void)_previewItemController:(UIPreviewItemController *)controller didDismissPreview:(UIViewController *)viewController committing:(BOOL)committing;
-- (void)_previewItemController:(UIPreviewItemController *)controller commitPreview:(UIViewController *)viewController;
-- (void)_previewItemControllerDidCancelPreview:(UIPreviewItemController *)controller;
-- (UIImage *)_presentationSnapshotForPreviewItemController:(UIPreviewItemController *)controller;
-- (NSArray *)_presentationRectsForPreviewItemController:(UIPreviewItemController *)controller;
-- (CGRect)_presentationRectForPreviewItemController:(UIPreviewItemController *)controller;
-@end
-
-@interface UIPreviewItemController : NSObject
-- (instancetype)initWithView:(UIView *)view;
-@property (assign, nonatomic) id<UIPreviewItemDelegate> delegate;
-@property (assign, nonatomic, readonly) UIPreviewItemType type;
-@property (strong, nonatomic, readonly) NSDictionary *previewData;
-@property (strong, nonatomic, readonly) UIGestureRecognizer *presentationGestureRecognizer;
-@property (strong, nonatomic, readonly) UIGestureRecognizer *presentationSecondaryGestureRecognizer;
-@end
-#endif
-
-@interface UIAlertController ()
-- (void)_addActionWithTitle:(NSString *)title style:(UIAlertActionStyle)style handler:(void (^)(void))handler;
-- (void)_addActionWithTitle:(NSString *)title style:(UIAlertActionStyle)style handler:(void (^)(void))handler shouldDismissHandler:(BOOL (^)(void))shouldDismissHandler;
-@property (nonatomic) UIAlertControllerStyle preferredStyle;
-@end
-
-WTF_EXTERN_C_BEGIN
-typedef struct __IOHIDEvent* IOHIDEventRef;
-typedef struct __GSKeyboard* GSKeyboardRef;
-WTF_EXTERN_C_END
-
-@interface UIApplication ()
-- (UIInterfaceOrientation)interfaceOrientation;
-- (void)_cancelAllTouches;
-- (CGFloat)statusBarHeight;
-- (BOOL)isSuspendedUnderLock;
-- (void)_enqueueHIDEvent:(IOHIDEventRef)event;
-- (void)_handleHIDEvent:(IOHIDEventRef)event;
-- (void)handleKeyUIEvent:(UIEvent *)event;
-@end
-
-typedef NS_ENUM(NSInteger, UIDatePickerPrivateMode)  {
-    UIDatePickerModeYearAndMonth = 4269,
-};
-
-@interface UIDatePicker ()
-@property (nonatomic, readonly, getter=_contentWidth) CGFloat contentWidth;
-@end
-
-@interface UIDevice ()
-- (void)setOrientation:(UIDeviceOrientation)orientation animated:(BOOL)animated;
-@property (nonatomic, readonly, retain) NSString *buildVersion;
-@end
-
-typedef enum {
-    kUIKeyboardInputRepeat                 = 1 << 0,
-    kUIKeyboardInputPopupVariant           = 1 << 1,
-    kUIKeyboardInputMultitap               = 1 << 2,
-    kUIKeyboardInputSkipCandidateSelection = 1 << 3,
-    kUIKeyboardInputDeadKey                = 1 << 4,
-    kUIKeyboardInputModifierFlagsChanged   = 1 << 5,
-    kUIKeyboardInputFlick                  = 1 << 6,
-    kUIKeyboardInputPreProcessed           = 1 << 7,
-} UIKeyboardInputFlags;
-
-@interface UIEvent ()
-- (void *)_hidEvent;
-- (NSString *)_unmodifiedInput;
-- (NSString *)_modifiedInput;
-- (BOOL)_isKeyDown;
-@end
-
-typedef enum {
-    UIFontTraitPlain = 0,
-    UIFontTraitItalic = 1 << 0,
-    UIFontTraitBold = 1 << 1,
-} UIFontTrait;
-
-@interface UIFont ()
-+ (UIFont *)fontWithFamilyName:(NSString *)familyName traits:(UIFontTrait)traits size:(CGFloat)fontSize;
-- (UIFontTrait)traits;
-@end
-
-typedef enum {
-    UIAllCorners = 0xFF,
-} UIRectCorners;
-
-@interface UIImagePickerController ()
-@property (nonatomic, setter=_setAllowsMultipleSelection:) BOOL _allowsMultipleSelection;
-@end
-
-@interface UIImage ()
-- (id)initWithCGImage:(CGImageRef)CGImage imageOrientation:(UIImageOrientation)imageOrientation;
-@end
-
-@interface UIKeyCommand ()
-@property (nonatomic, readonly) UIEvent *_triggeringEvent;
-@end
-
-@protocol UIKeyboardImplGeometryDelegate
-@property (nonatomic, readwrite, getter=isMinimized) BOOL minimized;
-- (void)prepareForImplBoundsHeightChange:(CGFloat)endDelta suppressNotification:(BOOL)suppressNotification;
-- (void)implBoundsHeightChangeDone:(CGFloat)endDelta suppressNotification:(BOOL)suppressNotification;
-- (BOOL)shouldSaveMinimizationState;
-- (BOOL)canDismiss;
-- (BOOL)isActive;
-@end
-
-@protocol UIKeyboardCandidateListDelegate <NSObject>
-@optional
-- (void)setCandidateList:(id)candidateList updateCandidateView:(BOOL)updateCandidateView;
-- (void)candidateListAcceptCandidate:(id)candidateList;
-- (void)candidateListSelectionDidChange:(id)candidateList;
-- (void)candidateListShouldBeDismissed:(id)candidateList;
-@end
-
-@interface UIKeyboard : UIView <UIKeyboardImplGeometryDelegate>
-@end
-
-@interface UIKeyboard ()
-+ (CGSize)defaultSizeForInterfaceOrientation:(UIInterfaceOrientation)orientation;
-- (void)activate;
-- (void)geometryChangeDone:(BOOL)keyboardVisible;
-- (void)prepareForGeometryChange;
-+ (BOOL)isInHardwareKeyboardMode;
-+ (void)removeAllDynamicDictionaries;
-@end
-
-@interface UIKeyboardImpl : UIView <UIKeyboardCandidateListDelegate>
-- (BOOL)smartInsertDeleteIsEnabled;
-@end
-
-@interface UIKeyboardImpl ()
-+ (UIKeyboardImpl *)activeInstance;
-+ (UIKeyboardImpl *)sharedInstance;
-+ (CGSize)defaultSizeForInterfaceOrientation:(UIInterfaceOrientation)orientation;
-- (void)addInputString:(NSString *)string withFlags:(NSUInteger)flags;
-- (void)addInputString:(NSString *)string withFlags:(NSUInteger)flags withInputManagerHint:(NSString *)hint;
-- (BOOL)autocorrectSpellingEnabled;
-- (void)deleteFromInput;
-- (void)deleteFromInputWithFlags:(NSUInteger)flags;
-- (void)replaceText:(id)replacement;
-@property (nonatomic, readwrite, retain) UIResponder <UIKeyInput> *delegate;
-@end
-
-@interface UILongPressGestureRecognizer ()
-@property (nonatomic) CFTimeInterval delay;
-@property (nonatomic, readonly) CGPoint startPoint;
-@property (nonatomic, assign, setter=_setRequiresQuietImpulse:) BOOL _requiresQuietImpulse;
-@end
-
-@interface _UIWebHighlightLongPressGestureRecognizer : UILongPressGestureRecognizer
-@end
-
-@interface _UIWebHighlightLongPressGestureRecognizer ()
-- (void)cancel;
-@end
-
-@interface UIPeripheralHost : NSObject <UIGestureRecognizerDelegate>
-@end
-
-@class UIKeyboardRotationState;
-
-@interface UIPeripheralHost ()
-+ (UIPeripheralHost *)sharedInstance;
-+ (UIPeripheralHost *)activeInstance;
-+ (CGRect)visiblePeripheralFrame;
-- (BOOL)isOnScreen;
-- (BOOL)isUndocked;
-- (UIKeyboardRotationState *)rotationState;
-@end
-
-@interface UIPickerContentView : UIView
-@end
-
-@interface UIPickerContentView ()
-+(CGFloat)_checkmarkOffset;
--(CGFloat)labelWidthForBounds:(CGRect)bounds;
-@property (nonatomic, getter=isChecked) BOOL checked;
-@property (nonatomic, readonly) UILabel *titleLabel;
-@end
-
-@interface UIPickerView ()
-+ (CGSize)defaultSizeForCurrentOrientation;
-- (void)_setUsesCheckedSelection:(BOOL)usesCheckedSelection;
-@property (nonatomic, setter=_setMagnifierEnabled:) BOOL _magnifierEnabled;
-@end
-
-@interface UIResponder ()
-- (void)_handleKeyUIEvent:(UIEvent *)event;
-- (void)_wheelChangedWithEvent:(UIEvent *)event;
-- (void)_beginPinningInputViews;
-- (void)_endPinningInputViews;
-@end
-
-@class FBSDisplayConfiguration;
-@interface UIScreen ()
-- (void)_setScale:(CGFloat)scale;
-@property (nonatomic, readonly, retain) FBSDisplayConfiguration *displayConfiguration;
-@end
-
-typedef NS_ENUM(NSInteger, UIScrollViewIndicatorInsetAdjustmentBehavior) {
-    UIScrollViewIndicatorInsetAdjustmentAutomatic,
-    UIScrollViewIndicatorInsetAdjustmentAlways,
-    UIScrollViewIndicatorInsetAdjustmentNever
-};
-
-@interface UIScrollView ()
-- (void)_stopScrollingAndZoomingAnimations;
-- (void)_zoomToCenter:(CGPoint)center scale:(CGFloat)scale duration:(CFTimeInterval)duration force:(BOOL)force;
-- (void)_zoomToCenter:(CGPoint)center scale:(CGFloat)scale duration:(CFTimeInterval)duration;
-- (double)_horizontalVelocity;
-- (double)_verticalVelocity;
-- (void)_flashScrollIndicatorsPersistingPreviousFlashes;
-@property (nonatomic, getter=isZoomEnabled) BOOL zoomEnabled;
-@property (nonatomic, readonly, getter=_isAnimatingZoom) BOOL isAnimatingZoom;
-@property (nonatomic, readonly, getter=_isAnimatingScroll) BOOL isAnimatingScroll;
-@property (nonatomic) CGFloat horizontalScrollDecelerationFactor;
-@property (nonatomic) CGFloat verticalScrollDecelerationFactor;
-@property (nonatomic, readonly) BOOL _isInterruptingDeceleration;
-@property (nonatomic, getter=_contentScrollInset, setter=_setContentScrollInset:) UIEdgeInsets contentScrollInset;
-@property (nonatomic, getter=_indicatorInsetAdjustmentBehavior, setter=_setIndicatorInsetAdjustmentBehavior:) UIScrollViewIndicatorInsetAdjustmentBehavior indicatorInsetAdjustmentBehavior;
-@property (nonatomic, readonly) UIEdgeInsets _systemContentInset;
-@property (nonatomic, readonly) UIEdgeInsets _effectiveContentInset;
-@end
-
-@interface NSString (UIKitDetails)
-- (CGSize)_legacy_sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode;
-- (CGSize)_legacy_sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode;
-@end
-
-@interface UITapGestureRecognizer ()
-@property (nonatomic, getter=_allowableSeparation, setter=_setAllowableSeparation:) CGFloat allowableSeparation;
-@property (nonatomic, readonly) CGPoint location;
-@property (nonatomic) CGFloat allowableMovement;
-@property (nonatomic, readonly) CGPoint centroid;
-@end
-
-@class WebEvent;
-
-typedef enum {
-    UITextShortcutConversionTypeDefault = 0,
-    UITextShortcutConversionTypeNo = 1,
-    UITextShortcutConversionTypeYes = 2,
-} UITextShortcutConversionType;
-
-@protocol UITextInputTraits_Private <NSObject, UITextInputTraits>
-- (void)takeTraitsFrom:(id <UITextInputTraits>)traits;
-@optional
-@property (nonatomic) UITextShortcutConversionType shortcutConversionType;
-@property (nonatomic, retain) UIColor *insertionPointColor;
-@property (nonatomic, retain) UIColor *selectionBarColor;
-@property (nonatomic, retain) UIColor *selectionHighlightColor;
-@end
-
-@class UITextInputArrowKeyHistory;
-
-@protocol UITextInputPrivate <UITextInput, UITextInputTokenizer, UITextInputTraits_Private>
-@optional
-- (BOOL)requiresKeyEvents;
-- (NSArray *)metadataDictionariesForDictationResults;
-- (UIColor *)textColorForCaretSelection;
-- (UIFont *)fontForCaretSelection;
-- (UIView *)automaticallySelectedOverlay;
-- (void)handleKeyWebEvent:(WebEvent *)event;
-- (void)insertDictationResult:(NSArray *)dictationResult withCorrectionIdentifier:(id)correctionIdentifier;
-- (void)replaceRangeWithTextWithoutClosingTyping:(UITextRange *)range replacementText:(NSString *)text;
-- (void)setBottomBufferHeight:(CGFloat)bottomBuffer;
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-- (void)modifierFlagsDidChangeFrom:(UIKeyModifierFlags)oldFlags to:(UIKeyModifierFlags)newFlags;
-#endif
-@property (nonatomic) UITextGranularity selectionGranularity;
-@required
-- (BOOL)hasContent;
-- (BOOL)hasSelection;
-- (void)selectAll;
-@end
-
-@interface UITextInputTraits : NSObject <UITextInputTraits, UITextInputTraits_Private, NSCopying>
-- (void)_setColorsToMatchTintColor:(UIColor *)tintColor;
-@end
-
-@interface UITextInteractionAssistant : NSObject
-@end
-
-@interface UITextInteractionAssistant ()
-- (void)activateSelection;
-- (void)deactivateSelection;
-- (void)didEndScrollingOverflow;
-- (void)selectionChanged;
-- (void)setGestureRecognizers;
-- (void)willStartScrollingOverflow;
-@end
-
-@interface UITextSuggestion : NSObject
-+ (instancetype)textSuggestionWithInputText:(NSString *)inputText;
-@property (nonatomic, copy, readonly) NSString *inputText;
-@end
-
-@protocol UITextInputSuggestionDelegate <UITextInputDelegate>
-- (void)setSuggestions:(NSArray <UITextSuggestion*> *)suggestions;
-@end
-
-@interface UIViewController ()
-+ (UIViewController *)_viewControllerForFullScreenPresentationFromView:(UIView *)view;
-+ (UIViewController *)viewControllerForView:(UIView *)view;
-@end
-
-@interface UIViewController (ViewService)
-- (pid_t)_hostProcessIdentifier;
-@property (readonly) NSString *_hostApplicationBundleIdentifier;
-@end
-
-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000
-@interface NSURL ()
-@property (nonatomic, copy, setter=_setTitle:) NSString *_title;
-@end
-#endif
-
-@protocol UIViewControllerContextTransitioningEx <UIViewControllerContextTransitioning>
-- (void)__runAlongsideAnimations;
-- (void)_interactivityDidChange:(BOOL)isInteractive;
-@property (nonatomic, assign, setter=_setAllowUserInteraction:, getter=_allowUserInteraction) BOOL _allowUserInteraction;
-@property (nonatomic, assign, setter=_setPercentOffset:) CGFloat _percentOffset;
-@end
-
-@interface _UIViewControllerTransitionContext : NSObject <UIViewControllerContextTransitioningEx>
-@end
-
-// FIXME: Separate the parts we are simply re-declaring from the ones we are overriding.
-@interface _UIViewControllerTransitionContext (Details)
-- (void) _setTransitionIsInFlight:(BOOL)flag;
-@property (nonatomic, assign, setter=_setAllowUserInteraction:, getter=_allowUserInteraction) BOOL _allowUserInteraction;
-@property (nonatomic, assign, setter=_setAnimator:) id <UIViewControllerAnimatedTransitioning> _animator;
-@property (nonatomic, assign, setter=_setContainerView:) UIView *containerView;
-@property (nonatomic, assign, setter=_setInteractor:) id <UIViewControllerInteractiveTransitioning> _interactor;
-@property (nonatomic, assign, setter=_setPercentOffset:) CGFloat _percentOffset;
-@property (nonatomic, copy, setter=_setCompletionHandler:)  void (^_completionHandler)(_UIViewControllerTransitionContext *context, BOOL transitionCompleted);
-@property (nonatomic, retain, setter=_setContainerViews:) NSArray *_containerViews;
-@end
-
-@interface _UIViewControllerOneToOneTransitionContext : _UIViewControllerTransitionContext
-@end
-
-@interface _UIViewControllerOneToOneTransitionContext ()
-@property (nonatomic, assign, setter=_setFromEndFrame:) CGRect fromEndFrame;
-@property (nonatomic, assign, setter=_setFromStartFrame:) CGRect fromStartFrame;
-@property (nonatomic, assign, setter=_setToEndFrame:) CGRect toEndFrame;
-@property (nonatomic, assign, setter=_setToStartFrame:) CGRect toStartFrame;
-@property (nonatomic, retain, setter=_setFromViewController:) UIViewController *fromViewController;
-@property (nonatomic, retain, setter=_setToViewController:) UIViewController *toViewController;
-@end
-
-@protocol UIViewControllerAnimatedTransitioningEx <UIViewControllerAnimatedTransitioning>
-- (BOOL)interactionAborted;
-- (UINavigationControllerOperation) operation;
-- (UIPercentDrivenInteractiveTransition *)interactionController;
-- (void)setInteractionAborted:(BOOL)aborted;
-- (void)setInteractionController:(UIPercentDrivenInteractiveTransition *)controller;
-- (void)setOperation:(UINavigationControllerOperation)operation;
-@optional
-- (UIWindow *)window;
-@end
-
-typedef NS_ENUM (NSInteger, _UIBackdropMaskViewFlags) {
-    _UIBackdropMaskViewNone = 0,
-    _UIBackdropMaskViewGrayscaleTint = 1 << 0,
-    _UIBackdropMaskViewColorTint = 1 << 1,
-    _UIBackdropMaskViewFilters = 1 << 2,
-    _UIBackdropMaskViewAll = _UIBackdropMaskViewGrayscaleTint | _UIBackdropMaskViewColorTint | _UIBackdropMaskViewFilters,
-};
-
-@interface UIView ()
-+ (BOOL)_isInAnimationBlock;
-- (CGSize)size;
-- (void)setFrameOrigin:(CGPoint)origin;
-- (void)setSize:(CGSize)size;
-@property (nonatomic, assign, setter=_setBackdropMaskViewFlags:) NSInteger _backdropMaskViewFlags;
-- (void)_populateArchivedSubviews:(NSMutableSet *)encodedViews;
-- (void)safeAreaInsetsDidChange;
-@property (nonatomic, setter=_setContinuousCornerRadius:) CGFloat _continuousCornerRadius;
-- (void)insertSubview:(UIView *)view above:(UIView *)sibling;
-- (void)viewWillMoveToSuperview:(UIView *)newSuperview;
-- (CGSize)convertSize:(CGSize)size toView:(UIView *)view;
-- (void)_removeAllAnimations:(BOOL)includeSubviews;
-- (UIColor *)_inheritedInteractionTintColor;
-@end
-
-@interface UIWebSelectionView : UIView
-@end
-
-@interface UIWebSelectionAssistant : NSObject <UIGestureRecognizerDelegate>
-@end
-
-@protocol UISelectionInteractionAssistant
-- (void)showSelectionCommands;
-@end
-
-@interface UIWebSelectionAssistant ()
-- (BOOL)isSelectionGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer;
-- (id)initWithView:(UIView *)view;
-- (void)clearSelection;
-- (void)didEndScrollingOrZoomingPage;
-- (void)didEndScrollingOverflow;
-- (void)resignedFirstResponder;
-- (void)selectionChanged;
-- (void)setGestureRecognizers;
-- (void)willStartScrollingOrZoomingPage;
-- (void)willStartScrollingOverflow;
-#if !PLATFORM(IOSMAC)
-@property (nonatomic, retain) UIWebSelectionView *selectionView;
-#endif
-@property (nonatomic, readonly) CGRect selectionFrame;
-@end
-
-typedef NS_ENUM(NSInteger, UIWKSelectionTouch) {
-    UIWKSelectionTouchStarted = 0,
-    UIWKSelectionTouchMoved = 1,
-    UIWKSelectionTouchEnded = 2,
-    UIWKSelectionTouchEndedMovingForward = 3,
-    UIWKSelectionTouchEndedMovingBackward = 4,
-    UIWKSelectionTouchEndedNotMoving = 5,
-};
-
-typedef NS_ENUM(NSInteger, UIWKSelectionFlags) {
-    UIWKNone = 0,
-    UIWKWordIsNearTap = 1,
-    UIWKPhraseBoundaryChanged = 4,
-};
-
-typedef NS_ENUM(NSInteger, UIWKGestureType) {
-    UIWKGestureLoupe = 0,
-    UIWKGestureOneFingerTap = 1,
-    UIWKGestureTapAndAHalf = 2,
-    UIWKGestureDoubleTap = 3,
-    UIWKGestureTapAndHalf = 4,
-    UIWKGestureDoubleTapInUneditable = 5,
-    UIWKGestureOneFingerTapInUneditable = 6,
-    UIWKGestureOneFingerTapSelectsAll = 7,
-    UIWKGestureOneFingerDoubleTap = 8,
-    UIWKGestureOneFingerTripleTap = 9,
-    UIWKGestureTwoFingerSingleTap = 10,
-    UIWKGestureTwoFingerRangedSelectGesture = 11,
-    UIWKGestureTapOnLinkWithGesture = 12,
-    UIWKGestureMakeWebSelection = 13,
-    UIWKGesturePhraseBoundary = 14,
-};
-
-@interface UIWKSelectionAssistant : UIWebSelectionAssistant
-@end
-
-@interface UIWKSelectionAssistant ()
-- (BOOL)shouldHandleSingleTapAtPoint:(CGPoint)point;
-- (void)selectionChangedWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState withFlags:(UIWKSelectionFlags)flags;
-- (void)selectionChangedWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch withFlags:(UIWKSelectionFlags)flags;
-- (void)showDictionaryFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
-- (void)showShareSheetFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
-- (void)showTextServiceFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
-- (void)lookup:(NSString *)textWithContext withRange:(NSRange)range fromRect:(CGRect)presentationRect;
-@property (nonatomic, readonly) UILongPressGestureRecognizer *selectionLongPressRecognizer;
-@end
-
-@interface UIWKAutocorrectionRects : NSObject
-@end
-
-@interface UIWKAutocorrectionRects (UIWKAutocorrectionRectsDetails)
-@property (nonatomic, assign) CGRect firstRect;
-@property (nonatomic, assign) CGRect lastRect;
-@end
-
-@interface UIWKAutocorrectionContext : NSObject
-@end
-
-@interface UIWKAutocorrectionContext (UIWKAutocorrectionContextDetails)
-@property (nonatomic, copy) NSString *contextBeforeSelection;
-@property (nonatomic, copy) NSString *selectedText;
-@property (nonatomic, copy) NSString *contextAfterSelection;
-@property (nonatomic, copy) NSString *markedText;
-@property (nonatomic, assign) NSRange rangeInMarkedText;
-@end
-
-@interface UIWKTextInteractionAssistant : UITextInteractionAssistant <UIResponderStandardEditActions>
-@end
-
-@interface UIWKTextInteractionAssistant ()
-- (void)selectionChangedWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState withFlags:(UIWKSelectionFlags)flags;
-- (void)showDictionaryFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
-- (void)selectionChangedWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch withFlags:(UIWKSelectionFlags)flags;
-- (void)showTextStyleOptions;
-- (void)hideTextStyleOptions;
-- (void)lookup:(NSString *)textWithContext withRange:(NSRange)range fromRect:(CGRect)presentationRect;
-- (void)showShareSheetFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
-- (void)showTextServiceFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
-- (void)scheduleReplacementsForText:(NSString *)text;
-- (void)scheduleChineseTransliterationForText:(NSString *)text;
-
-@property (nonatomic, readonly, assign) UILongPressGestureRecognizer *forcePressGesture;
-@property (nonatomic, readonly, assign) UILongPressGestureRecognizer *loupeGesture;
-@property (nonatomic, readonly, assign) UITapGestureRecognizer *singleTapGesture;
-@end
-
-@protocol UIWKInteractionViewProtocol
-- (void)changeSelectionWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)state;
-- (void)changeSelectionWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch baseIsStart:(BOOL)baseIsStart withFlags:(UIWKSelectionFlags)flags;
-- (void)changeSelectionWithTouchesFrom:(CGPoint)from to:(CGPoint)to withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState;
-- (CGRect)textFirstRect;
-- (CGRect)textLastRect;
-
-- (void)requestAutocorrectionContextWithCompletionHandler:(void (^)(UIWKAutocorrectionContext *autocorrectionContext))completionHandler;
-
-- (void)requestAutocorrectionRectsForString:(NSString *)input withCompletionHandler:(void (^)(UIWKAutocorrectionRects *rectsForInput))completionHandler;
-
-- (void)applyAutocorrection:(NSString *)correction toString:(NSString *)input withCompletionHandler:(void (^)(UIWKAutocorrectionRects *rectsForCorrection))completionHandler;
-
-- (NSString *)markedText;
-- (BOOL)hasMarkedText;
-
-- (BOOL)hasSelectablePositionAtPoint:(CGPoint)point;
-- (NSArray *)webSelectionRects;
-- (void)_cancelLongPressGestureRecognizer;
-
-@optional
-- (void)clearSelection;
-- (void)replaceDictatedText:(NSString *)oldText withText:(NSString *)newText;
-- (void)requestDictationContext:(void (^)(NSString *selectedText, NSString *prefixText, NSString *postfixText))completionHandler;
-- (BOOL)pointIsNearMarkedText:(CGPoint)point;
-- (NSString *)selectedText;
-- (void)replaceText:(NSString *)text withText:(NSString *)word;
-- (void)selectWordForReplacement;
-- (BOOL)isReplaceAllowed;
-- (void)selectWordBackward;
-- (UIView *)unscaledView;
-- (CGFloat)inverseScale;
-- (CGRect)unobscuredContentRect;
-@end
-
-@protocol UITextAutoscrolling
-- (void)startAutoscroll:(CGPoint)point;
-- (void)cancelAutoscroll;
-- (void)scrollSelectionToVisible:(BOOL)animated;
-@end
-
-
-@protocol UIWebFormAccessoryDelegate;
-
-@interface UIWebFormAccessory : UIInputView
-@end
-
-@interface UIWebFormAccessory ()
-- (void)hideAutoFillButton;
-- (void)setClearVisible:(BOOL)flag;
-- (void)showAutoFillButtonWithTitle:(NSString *)title;
-@property (nonatomic, retain) UIBarButtonItem *_autofill;
-@property (nonatomic, assign) id <UIWebFormAccessoryDelegate> delegate;
-
-@property (nonatomic, assign, getter=isNextEnabled) BOOL nextEnabled;
-@property (nonatomic, assign, getter=isPreviousEnabled) BOOL previousEnabled;
-- (id)initWithInputAssistantItem:(UITextInputAssistantItem *)inputAssistantItem;
-@end
-
-@protocol UIWebFormAccessoryDelegate
-- (void)accessoryAutoFill;
-- (void)accessoryClear;
-- (void)accessoryDone;
-- (void)accessoryTab:(BOOL)isNext;
-@end
-
-@interface UIWebGeolocationPolicyDecider : NSObject
-@end
-
-@interface UIWebGeolocationPolicyDecider ()
-+ (instancetype)sharedPolicyDecider;
-- (void)decidePolicyForGeolocationRequestFromOrigin:(id)securityOrigin requestingURL:(NSURL *)requestingURL window:(UIWindow *)window listener:(id)listener;
-@end
-
-typedef enum {
-    UIWebTouchEventTouchBegin = 0,
-    UIWebTouchEventTouchChange = 1,
-    UIWebTouchEventTouchEnd = 2,
-    UIWebTouchEventTouchCancel = 3,
-} UIWebTouchEventType;
-
-typedef enum {
-    UIWebTouchPointTypeDirect = 0,
-    UIWebTouchPointTypeStylus
-} UIWebTouchPointType;
-
-struct _UIWebTouchPoint {
-    CGPoint locationInScreenCoordinates;
-    CGPoint locationInDocumentCoordinates;
-    unsigned identifier;
-    UITouchPhase phase;
-#if __IPHONE_OS_VERSION_MIN_REQUIRED > 100000
-    CGFloat majorRadiusInScreenCoordinates;
-    CGFloat force;
-    CGFloat altitudeAngle;
-    CGFloat azimuthAngle;
-    UIWebTouchPointType touchType;
-#endif
-};
-
-struct _UIWebTouchEvent {
-    UIWebTouchEventType type;
-    NSTimeInterval timestamp;
-    CGPoint locationInScreenCoordinates;
-    CGPoint locationInDocumentCoordinates;
-    CGFloat scale;
-    CGFloat rotation;
-
-    bool inJavaScriptGesture;
-
-    struct _UIWebTouchPoint* touchPoints;
-    unsigned touchPointCount;
-
-    bool isPotentialTap;
-};
-
-@interface _UILookupGestureRecognizer : UIGestureRecognizer
-@end
-
-@class UIWebTouchEventsGestureRecognizer;
-
-@protocol UIWebTouchEventsGestureRecognizerDelegate <NSObject>
-- (BOOL)isAnyTouchOverActiveArea:(NSSet *)touches;
-@optional
-- (BOOL)gestureRecognizer:(UIWebTouchEventsGestureRecognizer *)gestureRecognizer shouldIgnoreWebTouchWithEvent:(UIEvent *)event;
-@end
-
-@interface UIWebTouchEventsGestureRecognizer : UIGestureRecognizer
-@end
-
-@interface UIWebTouchEventsGestureRecognizer ()
-- (id)initWithTarget:(id)target action:(SEL)action touchDelegate:(id <UIWebTouchEventsGestureRecognizerDelegate>)delegate;
-- (void)cancel;
-@property (nonatomic, getter=isDefaultPrevented) BOOL defaultPrevented;
-@property (nonatomic, readonly) BOOL inJavaScriptGesture;
-@property (nonatomic, readonly) CGPoint locationInWindow;
-@property (nonatomic, readonly) UIWebTouchEventType type;
-@property (nonatomic, readonly) const struct _UIWebTouchEvent *lastTouchEvent;
-@property (nonatomic, readonly) NSMapTable<NSNumber *, UITouch *> *activeTouchesByIdentifier;
-@end
-
-typedef NS_ENUM(NSInteger, _UIBackdropViewStylePrivate) {
-    _UIBackdropViewStyle_Light = 2020,
-    _UIBackdropViewStyle_Dark = 2030
-};
-
-@interface _UIBackdropViewSettings : NSObject
-@end
-
-@interface _UIBackdropViewSettings ()
-+ (_UIBackdropViewSettings *)settingsForPrivateStyle:(_UIBackdropViewStylePrivate)style;
-@property (nonatomic, assign) CGFloat scale;
-@end
-
-@interface _UIBackdropView : UIView
-@end
-
-@interface _UIBackdropView ()
-- (instancetype)initWithPrivateStyle:(_UIBackdropViewStylePrivate)style;
-- (instancetype)initWithSettings:(_UIBackdropViewSettings *)settings;
-- (instancetype)initWithFrame:(CGRect)frame privateStyle:(_UIBackdropViewStylePrivate)style;
-@property (nonatomic, strong, readonly) UIView *contentView;
-@end
-
-@interface _UIHighlightView : UIView
-@end
-
-@interface _UIHighlightView ()
-- (void)setColor:(UIColor *)aColor;
-- (void)setCornerRadii:(NSArray *)cornerRadii;
-- (void)setCornerRadius:(CGFloat)aCornerRadius;
-- (void)setFrames:(NSArray *)frames boundaryRect:(CGRect)aBoundarRect;
-- (void)setQuads:(NSArray *)quads boundaryRect:(CGRect)aBoundaryRect;
-@end
-
-@interface _UINavigationParallaxTransition : NSObject <UIViewControllerAnimatedTransitioningEx>
-@end
-
-@interface _UINavigationParallaxTransition ()
-- (instancetype) initWithCurrentOperation:(UINavigationControllerOperation)operation;
-@end
-
-@protocol _UINavigationInteractiveTransitionBaseDelegate;
-
-@interface _UINavigationInteractiveTransitionBase : UIPercentDrivenInteractiveTransition <UIGestureRecognizerDelegate>
-@end
-
-@interface _UINavigationInteractiveTransitionBase ()
-- (id)initWithGestureRecognizerView:(UIView *)gestureRecognizerView animator:(id<UIViewControllerAnimatedTransitioning>)animator delegate:(id<_UINavigationInteractiveTransitionBaseDelegate>)delegate;
-- (void)_completeStoppedInteractiveTransition;
-@property (nonatomic, weak) UIPanGestureRecognizer *gestureRecognizer;
-@property (nonatomic, assign) BOOL shouldReverseTranslation;
-@property (nonatomic, retain) _UINavigationParallaxTransition *animationController;
-@end
-
-@protocol _UINavigationInteractiveTransitionBaseDelegate <NSObject>
-- (void)startInteractiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition;
-- (BOOL)shouldBeginInteractiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition;
-- (BOOL)interactiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
-- (BOOL)interactiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;
-- (UIPanGestureRecognizer *)gestureRecognizerForInteractiveTransition:(_UINavigationInteractiveTransitionBase *)interactiveTransition WithTarget:(id)target action:(SEL)action;
-@end
-
-@class BKSAnimationFenceHandle;
-
-@interface UIWindow ()
-+ (BKSAnimationFenceHandle *)_synchronizedDrawingFence;
-+ (mach_port_t)_synchronizeDrawingAcrossProcesses;
-- (void)_setWindowResolution:(CGFloat)resolution displayIfChanged:(BOOL)displayIfChanged;
-- (uint32_t)_contextId;
-@end
-
-@interface UIWebScrollView : UIScrollView
-@end
-
-@interface UIWebTiledView : UIView
-@end
-
-@class WAKWindow;
-
-@interface UIWebTiledView ()
-- (void)setWAKWindow:(WAKWindow *)window;
-@end
-
-@interface UIWebDocumentView : UIWebTiledView
-@end
-
-typedef enum {
-    UIEveryDocumentMask = 0xFFFFFF,
-} UIDocumentMask;
-
-@interface UIWebDocumentView ()
-- (void)setDelegate:(id)delegate;
-- (void)setAutoresizes:(BOOL)flag;
-- (void)setMinimumSize:(CGSize)aSize;
-- (void)setInitialScale:(float)aScale forDocumentTypes:(UIDocumentMask)aDocumentMask;
-- (void)setViewportSize:(CGSize)aSize forDocumentTypes:(UIDocumentMask)aDocumentMask;
-- (void)setMinimumScale:(float)aScale forDocumentTypes:(UIDocumentMask)aDocumentMask;
-- (void)setMaximumScale:(float)aScale forDocumentTypes:(UIDocumentMask)aDocumentMask;
-@end
-
-@interface UIWebBrowserView : UIWebDocumentView
-@end
-
-@class WebView;
-
-@interface UIWebBrowserView ()
-- (WebView *)webView;
-- (void)setPaused:(BOOL)paused;
-- (void)sendScrollEventIfNecessaryWasUserScroll:(BOOL)userScroll;
-@property (nonatomic) BOOL inputViewObeysDOMFocus;
-@end
-
-@interface UIDocumentMenuViewController ()
-- (instancetype)_initIgnoringApplicationEntitlementForImportOfTypes:(NSArray *)types;
-@end
-
-@protocol UIDocumentPasswordViewDelegate;
-
-@interface UIDocumentPasswordView : UIView <UITextFieldDelegate>
-@end
-
-@interface UIDocumentPasswordView ()
-
-- (id)initWithDocumentName:(NSString *)documentName;
-
-@property (nonatomic, assign) NSObject<UIDocumentPasswordViewDelegate> *passwordDelegate;
-@property (nonatomic, readonly) UITextField *passwordField;
-
-@end
-
-@protocol UIDocumentPasswordViewDelegate
-
-@required
-
-- (void)userDidEnterPassword:(NSString *)password forPasswordView:(UIDocumentPasswordView *)passwordView;
-
-@optional
-
-- (void)didBeginEditingPassword:(UITextField *)passwordField inView:(UIDocumentPasswordView *)passwordView;
-- (void)didEndEditingPassword:(UITextField *)passwordField inView:(UIDocumentPasswordView *)passwordView;
-
-@end
-
-@interface UIViewControllerPreviewAction : NSObject <NSCopying>
-@end
-
-@interface UIViewControllerPreviewAction ()
-+ (instancetype)actionWithTitle:(NSString *)title handler:(void (^)(UIViewControllerPreviewAction *action, UIViewController *previewViewController))handler;
-@end
-
-@interface UITextChecker ()
-- (id)_initWithAsynchronousLoading:(BOOL)asynchronousLoading;
-- (BOOL)_doneLoading;
-- (NSRange)rangeOfMisspelledWordInString:(NSString *)stringToCheck range:(NSRange)range startingAt:(NSInteger)startingOffset wrap:(BOOL)wrapFlag languages:(NSArray *)languagesArray;
-@end
-
-@interface UIKeyboardInputMode : UITextInputMode <NSCopying>
-+ (UIKeyboardInputMode *)keyboardInputModeWithIdentifier:(NSString *)identifier;
-@property (nonatomic, readonly, retain) NSArray <NSString *> *multilingualLanguages;
-@property (nonatomic, readonly, retain) NSString *languageWithRegion;
-@end
-
-@interface UIKeyboardInputModeController : NSObject
-@end
-
-@interface UIKeyboardInputModeController ()
-+ (UIKeyboardInputModeController *)sharedInputModeController;
-@property (readwrite, retain) UIKeyboardInputMode *currentInputMode;
-@end
-
-@interface UIApplicationRotationFollowingWindow : UIWindow
-@end
-
-@interface UIApplicationRotationFollowingController : UIViewController
-@end
-
-@interface UIApplicationRotationFollowingControllerNoTouches : UIApplicationRotationFollowingController
-@end
-
-#if ENABLE(DRAG_SUPPORT)
-
-WTF_EXTERN_C_BEGIN
-
-NSTimeInterval _UIDragInteractionDefaultLiftDelay(void);
-CGFloat UIRoundToScreenScale(CGFloat value, UIScreen *);
-
-WTF_EXTERN_C_END
-
-typedef NS_OPTIONS(NSUInteger, UIDragOperation)
-{
-    UIDragOperationNone = 0,
-    UIDragOperationEvery = NSUIntegerMax,
-};
-
-@interface UIDragInteraction ()
-@property (nonatomic, assign, getter=_liftDelay, setter=_setLiftDelay:) NSTimeInterval liftDelay;
-@end
-
-@interface UIDragItem ()
-@property (nonatomic, strong, setter=_setPrivateLocalContext:, getter=_privateLocalContext) id privateLocalContext;
-@end
-
-@protocol UITextInput;
-@interface _UITextDragCaretView : UIView
-- (instancetype)initWithTextInputView:(UIView<UITextInput> *)textInputView;
--(void)insertAtPosition:(UITextPosition *)position;
--(void)updateToPosition:(UITextPosition *)position;
--(void)remove;
-@end
-
-@interface UIURLDragPreviewView : UIView
-+ (instancetype)viewWithTitle:(NSString *)title URL:(NSURL *)url;
-@end
-
-#endif
-
-@interface UIMenuItem (UIMenuController_SPI)
-@property (nonatomic) BOOL dontDismiss;
-@end
-
-@interface UICalloutBar : UIView
-+ (UICalloutBar *)activeCalloutBar;
-+ (void)fadeSharedCalloutBar;
-@end
-
-@interface UIAutoRotatingWindow : UIApplicationRotationFollowingWindow
-@end
-
-@interface UITextEffectsWindow : UIAutoRotatingWindow
-+ (UITextEffectsWindow *)sharedTextEffectsWindow;
-@end
-
-@interface _UIVisualEffectLayerConfig : NSObject
-+ (instancetype)layerWithFillColor:(UIColor *)fillColor opacity:(CGFloat)opacity filterType:(NSString *)filterType;
-- (void)configureLayerView:(UIView *)view;
-@end
-
-@interface _UIVisualEffectTintLayerConfig : _UIVisualEffectLayerConfig
-+ (instancetype)layerWithTintColor:(UIColor *)tintColor;
-+ (instancetype)layerWithTintColor:(UIColor *)tintColor filterType:(NSString *)filterType NS_AVAILABLE_IOS(9_0);
-@end
-
-@interface _UIVisualEffectConfig : NSObject
-@property (nonatomic, readonly) _UIVisualEffectLayerConfig *contentConfig;
-+ (_UIVisualEffectConfig *)configWithContentConfig:(_UIVisualEffectLayerConfig *)contentConfig;
-@end
-
-typedef NSInteger UICompositingMode;
-
-@interface UIVisualEffect ()
-+ (UIVisualEffect *)emptyEffect;
-+ (UIVisualEffect *)effectCombiningEffects:(NSArray<UIVisualEffect *> *)effects;
-+ (UIVisualEffect *)effectCompositingColor:(UIColor *)color withMode:(UICompositingMode)compositingMode alpha:(CGFloat)alpha;
-@end
-
-@interface UIColorEffect : UIVisualEffect
-+ (UIColorEffect *)colorEffectSaturate:(CGFloat)saturationAmount;
-@end
-
-@interface UIBlurEffect ()
-+ (UIBlurEffect *)effectWithBlurRadius:(CGFloat)blurRadius;
-@end
-
-@interface UIPopoverPresentationController ()
-@property (assign, nonatomic, setter=_setCentersPopoverIfSourceViewNotSet:, getter=_centersPopoverIfSourceViewNotSet) BOOL _centersPopoverIfSourceViewNotSet;
-@end
-
-@interface UIWKDocumentContext : NSObject
-
-@property (nonatomic, copy) NSObject *contextBefore;
-@property (nonatomic, copy) NSObject *selectedText;
-@property (nonatomic, copy) NSObject *contextAfter;
-@property (nonatomic, copy) NSObject *markedText;
-@property (nonatomic, assign) NSRange selectedRangeInMarkedText;
-@property (nonatomic, copy) NSAttributedString *annotatedText;
-
-- (void)addTextRect:(CGRect)rect forCharacterRange:(NSRange)range;
-
-@end
-
-typedef NS_OPTIONS(NSInteger, UIWKDocumentRequestFlags) {
-    UIWKDocumentRequestNone = 0,
-    UIWKDocumentRequestText = 1 << 0,
-    UIWKDocumentRequestAttributed = 1 << 1,
-    UIWKDocumentRequestRects = 1 << 2,
-    UIWKDocumentRequestSpatial = 1 << 3,
-    UIWKDocumentRequestAnnotation = 1 << 4,
-};
-
-@interface UIWKDocumentRequest : NSObject
-@property (nonatomic, assign) UIWKDocumentRequestFlags flags;
-@property (nonatomic, assign) UITextGranularity surroundingGranularity;
-@property (nonatomic, assign) NSInteger granularityCount;
-@property (nonatomic, assign) CGRect documentRect;
-@property (nonatomic, retain) id <NSCopying> inputElementIdentifier;
-@end
-
-#endif // USE(APPLE_INTERNAL_SDK)
-
-@interface UIGestureRecognizer (Staging_45970040)
-@property (nonatomic, readonly, getter=_modifierFlags) UIKeyModifierFlags modifierFlags;
-@end
-
-@interface UIPhysicalKeyboardEvent : UIPressesEvent
-@end
-
-@interface UIPhysicalKeyboardEvent ()
-+ (UIPhysicalKeyboardEvent *)_eventWithInput:(NSString *)input inputFlags:(UIKeyboardInputFlags)flags;
-- (void)_setHIDEvent:(IOHIDEventRef)event keyboard:(GSKeyboardRef)gsKeyboard;
-- (UIPhysicalKeyboardEvent *)_cloneEvent NS_RETURNS_RETAINED;
-@property (nonatomic, readonly) UIKeyboardInputFlags _inputFlags;
-@property (nonatomic, readonly) CFIndex _keyCode;
-@property (nonatomic, readonly) NSInteger _gsModifierFlags;
-@end
-
-@interface UIColor (IPI)
-+ (UIColor *)insertionPointColor;
-@end
-
-@interface UIView (IPI)
-- (UIScrollView *)_scroller;
-- (CGPoint)accessibilityConvertPointFromSceneReferenceCoordinates:(CGPoint)point;
-- (CGRect)accessibilityConvertRectToSceneReferenceCoordinates:(CGRect)rect;
-- (UIRectEdge)_edgesApplyingSafeAreaInsetsToContentInset;
-- (void)_updateSafeAreaInsets;
-@end
-
-@interface UIScrollView (IPI)
-- (CGFloat)_rubberBandOffsetForOffset:(CGFloat)newOffset maxOffset:(CGFloat)maxOffset minOffset:(CGFloat)minOffset range:(CGFloat)range outside:(BOOL *)outside;
-- (void)_adjustForAutomaticKeyboardInfo:(NSDictionary *)info animated:(BOOL)animated lastAdjustment:(CGFloat*)lastAdjustment;
-- (BOOL)_isScrollingToTop;
-- (CGPoint)_animatedTargetOffset;
-- (BOOL)_canScrollWithoutBouncingX;
-- (BOOL)_canScrollWithoutBouncingY;
-- (void)_setContentOffsetWithDecelerationAnimation:(CGPoint)contentOffset;
-- (CGPoint)_adjustedContentOffsetForContentOffset:(CGPoint)contentOffset;
-- (void)_flashScrollIndicatorsPersistingPreviousFlashes:(BOOL)persisting;
-@end
-
-@interface UIPeripheralHost (IPI)
-- (CGFloat)getVerticalOverlapForView:(UIView *)view usingKeyboardInfo:(NSDictionary *)info;
-@end
-
-@interface UIKeyboardImpl (IPI)
-- (void)setInitialDirection;
-- (void)prepareKeyboardInputModeFromPreferences:(UIKeyboardInputMode *)lastUsedMode;
-- (BOOL)handleKeyTextCommandForCurrentEvent;
-- (BOOL)handleKeyAppCommandForCurrentEvent;
-@property (nonatomic, readonly) UIKeyboardInputMode *currentInputModeInPreference;
-@end
-
-@interface _UILayerHostView : UIView
-- (instancetype)initWithFrame:(CGRect)frame pid:(pid_t)pid contextID:(uint32_t)contextID;
-@end
-
-@interface _UIRemoteView : _UILayerHostView
-- (instancetype)initWithFrame:(CGRect)frame pid:(pid_t)pid contextID:(uint32_t)contextID;
-@end
-
-#if __has_include(<UIKit/UITextInputMultiDocument.h>)
-#import <UIKit/UITextInputMultiDocument.h>
-#else
-@protocol UITextInputMultiDocument <NSObject>
-@optional
-- (BOOL)_restoreFocusWithToken:(id <NSCopying, NSSecureCoding>)token;
-- (void)_preserveFocusWithToken:(id <NSCopying, NSSecureCoding>)token destructively:(BOOL)destructively;
-@end
-#endif
-
-@interface UIResponder ()
-- (UIResponder *)firstResponder;
-- (void)pasteAndMatchStyle:(id)sender;
-- (void)makeTextWritingDirectionNatural:(id)sender;
-@end
-
-@interface _UINavigationInteractiveTransitionBase ()
-- (void)_stopInteractiveTransition;
-@end
-
-#if __has_include(<UIKit/UITextAutofillSuggestion.h>)
-#import <UIKit/UITextAutofillSuggestion.h>
-#else
-@interface UITextAutofillSuggestion : UITextSuggestion
-@property (nonatomic, assign) NSString *username;
-@property (nonatomic, assign) NSString *password;
-@end
-#endif
-
-@interface UIDevice ()
-@property (nonatomic, setter=_setBacklightLevel:) float _backlightLevel;
-@end
-
-static inline bool currentUserInterfaceIdiomIsPad()
-{
-    // This inline function exists to thwart unreachable code
-    // detection on platforms where UICurrentUserInterfaceIdiomIsPad
-    // is defined directly to false.
-#if USE(APPLE_INTERNAL_SDK)
-    return UICurrentUserInterfaceIdiomIsPad();
-#else
-    return [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad;
-#endif
-}
-
-@interface UIWebFormAccessory (Staging_49666643)
-- (void)setNextPreviousItemsVisible:(BOOL)visible;
-@end
-
-WTF_EXTERN_C_BEGIN
-
-BOOL UIKeyboardEnabledInputModesAllowOneToManyShortcuts(void);
-BOOL UIKeyboardEnabledInputModesAllowChineseTransliterationForText(NSString *);
-BOOL UIKeyboardIsRightToLeftInputModeActive(void);
-
-extern const float UITableCellDefaultFontSize;
-extern const float UITableViewCellDefaultFontSize;
-
-extern NSString *const _UIApplicationDidFinishSuspensionSnapshotNotification;
-
-extern NSString * const UIWindowDidMoveToScreenNotification;
-extern NSString * const UIWindowDidRotateNotification;
-extern NSString * const UIWindowNewScreenUserInfoKey;
-extern NSString * const UIWindowWillRotateNotification;
-
-extern NSString * const UIKeyboardPrivateDidRequestDismissalNotification;
-
-extern NSString * const UIKeyboardIsLocalUserInfoKey;
-
-extern UIApplication *UIApp;
-BOOL _UIApplicationIsExtension(void);
-void _UIApplicationLoadWebKit(void);
-
-void UIImageDataWriteToSavedPhotosAlbum(NSData *imageData, id completionTarget, SEL completionSelector, void *contextInfo);
-
-UIImage* _UIImageGetWebKitPhotoLibraryIcon(void);
-UIImage* _UIImageGetWebKitTakePhotoOrVideoIcon(void);
-
-extern const float UIWebViewGrowsAndShrinksToFitHeight;
-extern const float UIWebViewScalesToFitScale;
-extern const float UIWebViewStandardViewportWidth;
-
-extern NSString *const UIKeyInputPageUp;
-extern NSString *const UIKeyInputPageDown;
-
-extern const NSString *UIPreviewDataLink;
-extern const NSString *UIPreviewDataDDResult;
-extern const NSString *UIPreviewDataDDContext;
-
-extern const NSString *UIPreviewDataAttachmentList;
-extern const NSString *UIPreviewDataAttachmentIndex;
-
-#if __IPHONE_OS_VERSION_MAX_ALLOWED < 130000
-extern NSString * const UIPreviewDataAttachmentListSourceIsManaged;
-#else
-extern NSString * const UIPreviewDataAttachmentListIsContentManaged;
-#endif
-
-UIEdgeInsets UIEdgeInsetsAdd(UIEdgeInsets lhs, UIEdgeInsets rhs, UIRectEdge);
-
-extern NSString *const UIBacklightLevelChangedNotification;
-
-extern NSString * const NSTextEncodingNameDocumentOption;
-extern NSString * const NSBaseURLDocumentOption;
-extern NSString * const NSTimeoutDocumentOption;
-extern NSString * const NSWebPreferencesDocumentOption;
-extern NSString * const NSWebResourceLoadDelegateDocumentOption;
-extern NSString * const NSTextSizeMultiplierDocumentOption;
-
-WTF_EXTERN_C_END
index 316c013..25a7682 100644 (file)
@@ -28,9 +28,9 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#include "TextInputContext.h"
-#include "UIKitSPI.h"
-#include "WebCoreArgumentCoders.h"
+#import "TextInputContext.h"
+#import "WebCoreArgumentCoders.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 namespace WebKit {
 
index cafa5f6..413e20f 100644 (file)
@@ -37,7 +37,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 #import <UIKit/UIView.h>
-#import <UIKitSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 #if PLATFORM(IOS_FAMILY)
index ccceb9a..9e0899e 100644 (file)
@@ -28,9 +28,9 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WebIOSEventFactory.h"
 #import <WebCore/RuntimeApplicationChecks.h>
+#import <pal/spi/ios/UIKitSPI.h>
 
 namespace WebKit {
 
index 323c9ec..ed6e23a 100644 (file)
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import <UIKit/UITouch.h>
 #import <WebCore/IntPoint.h>
 #import <WebCore/WAKAppKitStubs.h>
+#import <pal/spi/ios/UIKitSPI.h>
 
 namespace WebKit {
 
index 792c7de..77271e8 100644 (file)
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import <AVFoundation/AVFoundation.h>
 #import <CoreGraphics/CoreGraphics.h>
 #import <CoreMedia/CoreMedia.h>
 #import <ImageIO/ImageIO.h>
 #import <MobileCoreServices/MobileCoreServices.h>
-#import <wtf/MathExtras.h>
-#import <wtf/RetainPtr.h>
-
 #import <pal/cf/CoreMediaSoftLink.h>
 #import <pal/cocoa/AVFoundationSoftLink.h>
+#import <pal/ios/UIKitSoftLink.h>
+#import <pal/spi/ios/UIKitSPI.h>
+#import <wtf/MathExtras.h>
+#import <wtf/RetainPtr.h>
 
 namespace WebKit {
 
index 78f5a3a..7e573b0 100644 (file)
@@ -41,7 +41,7 @@
 #import <wtf/RetainPtr.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import <UIKitSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 NSString * const NSReadAccessURLDocumentOption = @"ReadAccessURL";
index 0cc03c3..7dc77b0 100644 (file)
 #import "ProcessThrottler.h"
 #import "RemoteLayerTreeDrawingAreaProxy.h"
 #import "RemoteScrollingCoordinatorProxy.h"
-#import "UIKitSPI.h"
 #import "VideoFullscreenManagerProxy.h"
 #import "WKContentViewInteraction.h"
 #import "WKPasswordView.h"
 #import <pal/spi/cg/CoreGraphicsSPI.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
 #import <pal/spi/ios/GraphicsServicesSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/cocoa/Entitlements.h>
 
 #define RELEASE_LOG_IF_ALLOWED(...) RELEASE_LOG_IF(_page && _page->isAlwaysOnLoggingAllowed(), ViewState, __VA_ARGS__)
index 7e8916a..766e16c 100644 (file)
@@ -47,8 +47,8 @@
 #import <wtf/WeakObjCPtr.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import <WebCore/Device.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 template<typename T> class LazyInitialized {
index 56fe5c2..6e757af 100644 (file)
 #import <wtf/Variant.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFullScreenWindowControllerIOS.h"
 #import <WebCore/FloatRect.h>
 #import <WebCore/LengthBox.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 #if PLATFORM(IOS_FAMILY)
index a23d4bf..da2b06e 100644 (file)
@@ -30,7 +30,7 @@
 
 #import "AssertionServicesSPI.h"
 #import "SandboxUtilities.h"
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/ObjCRuntimeExtras.h>
 #import <wtf/cocoa/Entitlements.h>
 #import <wtf/spi/cocoa/SecuritySPI.h>
index 6ba479e..df777f4 100644 (file)
@@ -44,8 +44,8 @@
 
 #if PLATFORM(IOS_FAMILY)
 #import "RemoteLayerTreeDrawingAreaProxy.h"
-#import "UIKitSPI.h"
 #import <pal/spi/cocoa/AVKitSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 @interface WKLayerHostView : PlatformView
index c1e57ea..9e2cd6a 100644 (file)
@@ -34,8 +34,8 @@
 #import <wtf/Language.h>
 
 #if PLATFORM(WATCHOS)
-#import "UIKitSPI.h"
 #import <PepperUICore/UIScrollView+PUICAdditionsPrivate.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 constexpr CGFloat exclamationPointSize = 30;
index b367b59..573f901 100644 (file)
@@ -35,8 +35,8 @@
 #import <wtf/WeakObjCPtr.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import "WKContentViewInteraction.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #else
 #import <pal/spi/mac/NSSharingServicePickerSPI.h>
 #endif
index 807632f..22a549f 100644 (file)
@@ -61,7 +61,7 @@
 #if PLATFORM(MAC)
 #import <QuartzCore/CARemoteLayerServer.h>
 #else
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 NSString *WebServiceWorkerRegistrationDirectoryDefaultsKey = @"WebServiceWorkerRegistrationDirectory";
index 45c82b9..1b5ca6b 100644 (file)
@@ -28,8 +28,8 @@
 
 #if ENABLE(GAMEPAD) && PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WKWebViewInternal.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 namespace WebKit {
 
index 629a9c6..c28830e 100644 (file)
 #import "EditableImageController.h"
 #import "RemoteLayerTreeDrawingAreaProxy.h"
 #import "RemoteLayerTreeViews.h"
-#import "UIKitSPI.h"
 #import "WKDrawingView.h"
 #import "WebPageProxy.h"
 #import <UIKit/UIScrollView.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/SoftLinking.h>
 
 namespace WebKit {
index 26826f1..f85eb2f 100644 (file)
@@ -27,8 +27,8 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import <WebCore/GraphicsLayer.h>
+#import <pal/spi/ios/UIKitSPI.h>
 
 namespace WebKit {
 class WebPageProxy;
index a6cc403..c04539f 100644 (file)
 
 #import "RemoteLayerTreeHost.h"
 #import "RemoteLayerTreeNode.h"
-#import "UIKitSPI.h"
 #import "WKDrawingView.h"
 #import <WebCore/Region.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/SoftLinking.h>
 
 namespace WebKit {
index 39e475c..51e0ea1 100644 (file)
@@ -30,7 +30,6 @@
 
 #import "RemoteScrollingCoordinatorProxy.h"
 #import "RemoteScrollingTree.h"
-#import "UIKitSPI.h"
 #import "WebPageProxy.h"
 #import <QuartzCore/QuartzCore.h>
 #import <UIKit/UIPanGestureRecognizer.h>
@@ -39,6 +38,7 @@
 #import <WebCore/ScrollingTree.h>
 #import <WebCore/ScrollingTreeFrameScrollingNode.h>
 #import <WebCore/ScrollingTreeScrollingNode.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockObjCExceptions.h>
 #import <wtf/SetForScope.h>
 
index b6a3436..37ee2b1 100644 (file)
@@ -28,9 +28,9 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import <UIKitSPI.h>
 #import <WebCore/IntSize.h>
 #import <_WKElementAction.h>
+#import <pal/spi/ios/UIKitSPI.h>
 
 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKImagePreviewViewControllerAdditions.mm>)
 #include <WebKitAdditions/WKImagePreviewViewControllerAdditions.mm>
index 936dffc..cc92a02 100644 (file)
@@ -28,9 +28,9 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import <mach/mach_time.h>
 #import <pal/spi/cocoa/IOKitSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/Assertions.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/SoftLinking.h>
index f1849a2..87a5867 100644 (file)
 
 #if ENABLE(DRAG_SUPPORT) && PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import <WebCore/DragActions.h>
 #import <WebCore/DragData.h>
 #import <WebCore/Path.h>
 #import <WebCore/TextIndicator.h>
 #import <WebCore/WebItemProviderPasteboard.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockPtr.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/URL.h>
index e4c2b78..a754513 100644 (file)
@@ -28,7 +28,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 namespace WebKit {
 
index 9d27bc4..334e663 100644 (file)
@@ -36,7 +36,6 @@
 #import "NativeWebKeyboardEvent.h"
 #import "NavigationState.h"
 #import "StringUtilities.h"
-#import "UIKitSPI.h"
 #import "UndoOrRedo.h"
 #import "ViewSnapshotStore.h"
 #import "WKContentView.h"
@@ -64,6 +63,7 @@
 #import <WebCore/TextIndicator.h>
 #import <WebCore/ValidationBubble.h>
 #import <pal/spi/cocoa/NSKeyedArchiverSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockPtr.h>
 
 #define MESSAGE_CHECK(assertion) MESSAGE_CHECK_BASE(assertion, m_webView.get()->_page->process().connection())
index 6eff64b..75dd570 100644 (file)
@@ -39,7 +39,7 @@
 
 ALLOW_DEPRECATED_DECLARATIONS_BEGIN
 
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 ALLOW_DEPRECATED_DECLARATIONS_END
 
index d310232..138545d 100644 (file)
@@ -29,8 +29,8 @@
 #if PLATFORM(IOS_FAMILY)
 
 #import "TextCheckerState.h"
-#import "UIKitSPI.h"
 #import <WebCore/NotImplemented.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/HashMap.h>
 #import <wtf/NeverDestroyed.h>
 #import <wtf/RetainPtr.h>
index 083d6fa..4bd9a7e 100644 (file)
@@ -30,7 +30,6 @@
 
 #import "APINavigation.h"
 #import "DrawingAreaProxy.h"
-#import "UIKitSPI.h"
 #import "ViewGestureControllerMessages.h"
 #import "ViewGestureGeometryCollectorMessages.h"
 #import "ViewSnapshotStore.h"
@@ -44,6 +43,7 @@
 #import <UIKit/UIScreenEdgePanGestureRecognizer.h>
 #import <WebCore/IOSurface.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/WeakObjCPtr.h>
 
 @interface WKSwipeTransitionController : NSObject <_UINavigationInteractiveTransitionBaseDelegate>
index 125f9a8..361e410 100644 (file)
@@ -28,7 +28,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 @implementation WKActionSheet {
index 82d01af..2d6fef2 100644 (file)
@@ -30,7 +30,6 @@
 
 #import "APIUIClient.h"
 #import "TCCSPI.h"
-#import "UIKitSPI.h"
 #import "WKActionSheet.h"
 #import "WKContentViewInteraction.h"
 #import "WKNSURLExtras.h"
@@ -41,6 +40,7 @@
 #import <WebCore/DataDetection.h>
 #import <WebCore/LocalizedStrings.h>
 #import <WebCore/PathUtilities.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/SoftLinking.h>
 #import <wtf/WeakObjCPtr.h>
 #import <wtf/cocoa/Entitlements.h>
index 6b2d9f9..62a4d5e 100644 (file)
@@ -38,7 +38,6 @@
 #import "RemoteLayerTreeDrawingAreaProxy.h"
 #import "RemoteScrollingCoordinatorProxy.h"
 #import "SmartMagnificationController.h"
-#import "UIKitSPI.h"
 #import "VersionChecks.h"
 #import "WKBrowsingContextControllerInternal.h"
 #import "WKBrowsingContextGroupPrivate.h"
@@ -60,6 +59,7 @@
 #import <WebCore/NotImplemented.h>
 #import <WebCore/PlatformScreen.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/text/TextStream.h>
 
index 05a05b0..c46d42e 100644 (file)
@@ -37,7 +37,6 @@
 #import "GestureTypes.h"
 #import "InteractionInformationAtPosition.h"
 #import "TextCheckingController.h"
-#import "UIKitSPI.h"
 #import "WKActionSheetAssistant.h"
 #import "WKAirPlayRoutePicker.h"
 #import "WKFileUploadPanel.h"
@@ -50,6 +49,7 @@
 #import <WebCore/ActivityState.h>
 #import <WebCore/Color.h>
 #import <WebCore/FloatQuad.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockPtr.h>
 #import <wtf/CompletionHandler.h>
 #import <wtf/Forward.h>
index 12e8f3d..6dc33dd 100644 (file)
@@ -39,7 +39,6 @@
 #import "RemoteLayerTreeDrawingAreaProxy.h"
 #import "SmartMagnificationController.h"
 #import "TextInputSPI.h"
-#import "UIKitSPI.h"
 #import "WKActionSheetAssistant.h"
 #import "WKDatePickerViewController.h"
 #import "WKDrawingCoordinator.h"
 #import <pal/spi/cocoa/DataDetectorsCoreSPI.h>
 #import <pal/spi/ios/DataDetectorsUISPI.h>
 #import <pal/spi/ios/GraphicsServicesSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/Optional.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/SetForScope.h>
index cc281b5..6301f97 100644 (file)
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import <Foundation/NSURL.h>
 #import <UIKit/UIWindow.h>
 #import <WebCore/SecurityOrigin.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/text/WTFString.h>
 
index bca982e..661abb2 100644 (file)
 #if PLATFORM(IOS_FAMILY)
 
 #import "AccessibilitySupportSPI.h"
-#import "UIKitSPI.h"
 #import <QuartzCore/CADisplayLink.h>
 #import <WebCore/FloatPoint.h>
 #import <WebCore/KeyEventCodesIOS.h>
 #import <WebCore/RectEdges.h>
 #import <WebCore/WebEvent.h>
-#import <WebKit/UIKitSPI.h>
 #import <algorithm>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/WeakObjCPtr.h>
 
index bd30e43..fcd5f6e 100644 (file)
@@ -28,9 +28,9 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import <WebCore/LocalizedStrings.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/text/WTFString.h>
 
index d2f4ff3..aff1ca0 100644 (file)
@@ -31,7 +31,6 @@
 #import "APIUIClient.h"
 #import "FindClient.h"
 #import "PDFKitSPI.h"
-#import "UIKitSPI.h"
 #import "WKActionSheetAssistant.h"
 #import "WKKeyboardScrollingAnimator.h"
 #import "WKUIDelegatePrivate.h"
@@ -41,6 +40,7 @@
 #import "_WKWebViewPrintFormatterInternal.h"
 #import <MobileCoreServices/MobileCoreServices.h>
 #import <WebCore/DataDetection.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockPtr.h>
 #import <wtf/MainThread.h>
 #import <wtf/RetainPtr.h>
index 0111ec5..9ff9ee8 100644 (file)
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKWebViewContentProvider.h"
 #import <WebCore/LocalizedStrings.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/text/WTFString.h>
 
index 7aa9148..6ec43b4 100644 (file)
@@ -25,7 +25,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 @class WKWebView;
 
index 0e73a3e..e296b73 100644 (file)
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "VersionChecks.h"
 #import "WKWebViewInternal.h"
 #import <pal/spi/cg/CoreGraphicsSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/WeakObjCPtr.h>
 
 #if PLATFORM(WATCHOS)
index 2feffb1..44fed43 100644 (file)
@@ -25,7 +25,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 // The purpose of this class is to call a target/action when
 // the gesture is recognized, as well as the typical time when
index ab59687..ea4e1cf 100644 (file)
@@ -28,7 +28,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 @implementation WKWebEvent {
index a423f28..3c45f18 100644 (file)
 
 #if ENABLE(DATALIST_ELEMENT) && PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WebDataListSuggestionsDropdown.h"
-#include <wtf/RetainPtr.h>
-#include <wtf/Vector.h>
+#import <pal/spi/ios/UIKitSPI.h>
+#import <wtf/RetainPtr.h>
+#import <wtf/Vector.h>
 
 OBJC_CLASS WKContentView;
 OBJC_CLASS WKDataListSuggestionsControl;
index 9030b7b..c3f11b6 100644 (file)
@@ -46,7 +46,6 @@
 #import "RemoteLayerTreeDrawingAreaProxy.h"
 #import "RemoteLayerTreeDrawingAreaProxyMessages.h"
 #import "RemoteLayerTreeTransaction.h"
-#import "UIKitSPI.h"
 #import "UserData.h"
 #import "VideoFullscreenManagerProxy.h"
 #import "ViewUpdateDispatcherMessages.h"
@@ -62,6 +61,7 @@
 #import <WebCore/SharedBuffer.h>
 #import <WebCore/UserAgent.h>
 #import <WebCore/ValidationBubble.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/text/TextStream.h>
 
 #if USE(QUICK_LOOK)
index 3e3d760..631e8a2 100644 (file)
@@ -28,9 +28,9 @@
 
 #if PLATFORM(IOS_FAMILY) && ENABLE(AIRPLAY_PICKER)
 
-#import "UIKitSPI.h"
 #import <WebCore/AudioSession.h>
 #import <pal/spi/ios/MediaPlayerSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/SoftLinking.h>
 
index 4263c66..8970d76 100644 (file)
@@ -32,7 +32,6 @@
 #import "APIData.h"
 #import "APIOpenPanelParameters.h"
 #import "APIString.h"
-#import "UIKitSPI.h"
 #import "WKContentViewInteraction.h"
 #import "WKData.h"
 #import "WKStringCF.h"
@@ -45,6 +44,7 @@
 #import <WebCore/LocalizedStrings.h>
 #import <WebCore/MIMETypeRegistry.h>
 #import <WebCore/UTIUtilities.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/text/StringView.h>
 
index 437c392..0d40c82 100644 (file)
@@ -27,7 +27,7 @@
 
 #if PLATFORM(WATCHOS)
 
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 @class WKFocusedFormControlView;
 
index 57cea5f..ddd604c 100644 (file)
 
 #if ENABLE(INPUT_TYPE_COLOR) && PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKFormColorPicker.h"
 #import "WKFormPopover.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 #pragma mark - WKColorPopover
 
index daac90a..6dead3f 100644 (file)
 #if ENABLE(INPUT_TYPE_COLOR) && PLATFORM(IOS_FAMILY)
 
 #import "FocusedElementInformation.h"
-#import "UIKitSPI.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
 #import "WebPageProxy.h"
 
 #import <WebCore/Color.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/SoftLinking.h>
 
 SOFT_LINK_PRIVATE_FRAMEWORK(PencilKit)
index f57866a..1026551 100644 (file)
@@ -28,7 +28,6 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
@@ -36,6 +35,7 @@
 #import <UIKit/UIBarButtonItem.h>
 #import <UIKit/UIDatePicker.h>
 #import <WebCore/LocalizedStrings.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 using namespace WebKit;
index 07eee03..ca07cf3 100644 (file)
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WebPageProxy.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 using namespace WebKit;
index f695be3..ebfc144 100644 (file)
 #if PLATFORM(IOS_FAMILY)
 
 #import "FocusedElementInformation.h"
-#import "UIKitSPI.h"
 #import "WKFormPeripheralBase.h"
 #import "WKFormPopover.h"
 #import <UIKit/UIPickerView.h>
+#import <pal/spi/ios/UIKitSPI.h>
 
 CGFloat adjustedFontSize(CGFloat textWidth, UIFont *, CGFloat initialFontSize, const Vector<WebKit::OptionItem>& items);
 
index 3d5c92a..db173a2 100644 (file)
@@ -28,7 +28,6 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
@@ -36,6 +35,7 @@
 #import "WKFormSelectPopover.h"
 #import "WebPageProxy.h"
 #import <UIKit/UIPickerView.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 using namespace WebKit;
index 520aa14..7f1a237 100644 (file)
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
 #import "WKFormSelectControl.h"
 #import "WebPageProxy.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 using namespace WebKit;
 
index 5549690..be1e681 100644 (file)
@@ -28,7 +28,6 @@
 
 #if PLATFORM(IOS_FAMILY)
 
-#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
@@ -37,6 +36,7 @@
 #import <UIKit/UIPickerView.h>
 #import <WebCore/LocalizedStrings.h>
 #import <pal/spi/cocoa/IOKitSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 using namespace WebKit;
index ece0c44..352b9c6 100644 (file)
 
 #if PLATFORM(WATCHOS)
 
-#import "UIKitSPI.h"
 #import "WKNumberPadView.h"
 #import <PepperUICore/PUICQuickboardViewController_Private.h>
 #import <PepperUICore/PUICResources.h>
 #import <PepperUICore/UIDevice+PUICAdditions.h>
 #import <WebCore/LocalizedStrings.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/WeakObjCPtr.h>
 #import <wtf/text/WTFString.h>
index c6c4c04..f269df1 100644 (file)
 
 #if PLATFORM(WATCHOS)
 
-#import "UIKitSPI.h"
 #import <PepperUICore/PUICQuickboardListViewController.h>
 #import <PepperUICore/PUICQuickboardListViewControllerSubclass.h>
 #import <PepperUICore/PUICTableViewCell.h>
+#import <pal/spi/ios/UIKitSPI.h>
 
 @interface WKQuickboardListItemCell : PUICQuickboardListItemCell
 @end
index 05b2be7..cbfbbf2 100644 (file)
 
 #if PLATFORM(WATCHOS)
 
-#import "UIKitSPI.h"
 #import <PepperUICore/PUICQuickboardListViewController.h>
 #import <PepperUICore/PUICQuickboardListViewControllerSubclass.h>
 #import <PepperUICore/PUICResources.h>
 #import <PepperUICore/PUICTableView.h>
 #import <PepperUICore/PUICTableViewCell.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 static const CGFloat checkmarkImageViewWidth = 32;
index 12ab1df..1ee2f03 100644 (file)
@@ -30,7 +30,6 @@
 
 #import "FullscreenTouchSecheuristic.h"
 #import "PlaybackSessionManagerProxy.h"
-#import "UIKitSPI.h"
 #import "VideoFullscreenManagerProxy.h"
 #import "WKFullscreenStackView.h"
 #import "WKWebViewInternal.h"
@@ -38,6 +37,7 @@
 #import "WebPageProxy.h"
 #import <WebCore/LocalizedStrings.h>
 #import <pal/spi/cocoa/AVKitSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 static const NSTimeInterval showHideAnimationDuration = 0.1;
index 0078021..d008594 100644 (file)
@@ -28,7 +28,6 @@
 #if PLATFORM(IOS_FAMILY) && ENABLE(FULLSCREEN_API)
 #import "WKFullScreenWindowControllerIOS.h"
 
-#import "UIKitSPI.h"
 #import "WKFullScreenViewController.h"
 #import "WKFullscreenStackView.h"
 #import "WKWebView.h"
@@ -49,6 +48,7 @@
 #import <pal/spi/cocoa/NSStringSPI.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
 #import <pal/spi/cocoa/URLFormattingSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/SoftLinking.h>
 #import <wtf/cocoa/NSURLExtras.h>
 #import <wtf/spi/cocoa/SecuritySPI.h>
index db30a16..865ed8f 100644 (file)
 #if ENABLE(FULLSCREEN_API) && PLATFORM(IOS_FAMILY)
 #include "WKFullscreenStackView.h"
 
-#import "UIKitSPI.h"
 #import <UIKit/UIVisualEffectView.h>
 #import <pal/cf/CoreMediaSoftLink.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/NeverDestroyed.h>
 #import <wtf/RetainPtr.h>
 
index 37879b5..47a84fc 100644 (file)
                CE70EE5D22442BD000E0AF0F /* WKFormPeripheralBase.h in Headers */ = {isa = PBXBuildFile; fileRef = CE70EE5C22442BD000E0AF0F /* WKFormPeripheralBase.h */; };
                CEC8F9CB1FDF5870002635E7 /* WKWebProcessPlugInNodeHandlePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = CEC8F9CA1FDF5870002635E7 /* WKWebProcessPlugInNodeHandlePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
                CEDA12E3152CD1B300D9E08D /* WebAlternativeTextClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA12DE152CCAE800D9E08D /* WebAlternativeTextClient.h */; };
-               CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CEE4AE2A1A5DCF430002F49B /* UIKitSPI.h */; };
                D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B9484311FF4B6500032B39 /* WebPopupMenu.h */; };
                D3B9484911FF4B6500032B39 /* WebSearchPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B9484511FF4B6500032B39 /* WebSearchPopupMenu.h */; };
                E105FE5418D7B9DE008F57A8 /* EditingRange.h in Headers */ = {isa = PBXBuildFile; fileRef = E105FE5318D7B9DE008F57A8 /* EditingRange.h */; };
                CEC8F9CA1FDF5870002635E7 /* WKWebProcessPlugInNodeHandlePrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WKWebProcessPlugInNodeHandlePrivate.h; sourceTree = "<group>"; };
                CEDA12DE152CCAE800D9E08D /* WebAlternativeTextClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebAlternativeTextClient.h; sourceTree = "<group>"; };
                CEDA12DF152CCAE800D9E08D /* WebAlternativeTextClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebAlternativeTextClient.cpp; sourceTree = "<group>"; };
-               CEE4AE2A1A5DCF430002F49B /* UIKitSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIKitSPI.h; sourceTree = "<group>"; };
                D3B9484211FF4B6500032B39 /* WebPopupMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPopupMenu.cpp; sourceTree = "<group>"; };
                D3B9484311FF4B6500032B39 /* WebPopupMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPopupMenu.h; sourceTree = "<group>"; };
                D3B9484411FF4B6500032B39 /* WebSearchPopupMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebSearchPopupMenu.cpp; sourceTree = "<group>"; };
                                2DC18FAF218912640025A88D /* PencilKitSPI.h */,
                                CE1A0BD01A48E6C60054EF74 /* TCCSPI.h */,
                                CE1A0BD11A48E6C60054EF74 /* TextInputSPI.h */,
-                               CEE4AE2A1A5DCF430002F49B /* UIKitSPI.h */,
                        );
                        path = ios;
                        sourceTree = "<group>";
                                1AFE436618B6C081009C7A48 /* UIDelegate.h in Headers */,
                                515BE1B51D5917FF00DD7C68 /* UIGamepad.h in Headers */,
                                515BE1A91D55293400DD7C68 /* UIGamepadProvider.h in Headers */,
-                               CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */,
                                513FFB8D201459B0002596EA /* UIMessagePortChannelProvider.h in Headers */,
                                5C4B9D8B210A8CCF008F14D1 /* UndoOrRedo.h in Headers */,
                                1A64245E12DE29A100CAAE2C /* UpdateInfo.h in Headers */,
index 2944091..8980d79 100644 (file)
@@ -30,7 +30,6 @@
 
 #import "DrawingArea.h"
 #import "EditableImageControllerMessages.h"
-#import "UIKitSPI.h"
 #import "WebCoreArgumentCoders.h"
 #import "WebFrame.h"
 #import "WebIconUtilities.h"
@@ -40,6 +39,7 @@
 #import <WebCore/ContentChangeObserver.h>
 #import <WebCore/Icon.h>
 #import <WebCore/NotImplemented.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RefPtr.h>
 
 namespace WebKit {
index 6b7d64a..c8f3bc9 100644 (file)
@@ -52,7 +52,7 @@
 #import <wtf/cocoa/NSURLExtras.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 namespace WebKit {
index 0af2392..d480c18 100644 (file)
@@ -43,7 +43,6 @@
 #import "RemoteLayerTreeDrawingArea.h"
 #import "SandboxUtilities.h"
 #import "TextCheckingControllerProxy.h"
-#import "UIKitSPI.h"
 #import "UserData.h"
 #import "ViewGestureGeometryCollector.h"
 #import "VisibleContentRectUpdateInfo.h"
 #import <WebCore/TextIterator.h>
 #import <WebCore/VisibleUnits.h>
 #import <WebCore/WebEvent.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/MathExtras.h>
 #import <wtf/MemoryPressureHandler.h>
 #import <wtf/SetForScope.h>
index 73df75c..5651587 100644 (file)
@@ -78,7 +78,7 @@
 #import <wtf/cocoa/NSURLExtras.h>
 
 #if PLATFORM(IOS)
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 #if PLATFORM(IOS_FAMILY)
index 0100c76..8586a15 100644 (file)
@@ -1,3 +1,42 @@
+2019-05-04  Alex Christensen  <achristensen@webkit.org>
+
+        Merge the three UIKitSPI.h files into a single one in PAL
+        https://bugs.webkit.org/show_bug.cgi?id=197534
+
+        Reviewed by Darin Adler.
+
+        * DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
+        * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        * DumpRenderTree/mac/DumpRenderTreeWindow.h:
+        * DumpRenderTree/mac/TestRunnerMac.mm:
+        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
+        * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
+        * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
+        * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
+        * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
+        * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
+        * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm:
+        * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
+        * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
+        * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
+        * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
+        * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
+        * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
+        * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
+        * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
+        * TestWebKitAPI/cocoa/TestWKWebView.mm:
+        * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
+        * TestWebKitAPI/ios/UIKitSPI.h: Removed.
+        * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
+        * WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm:
+        * WebKitTestRunner/ios/HIDEventGenerator.h:
+        * WebKitTestRunner/ios/HIDEventGenerator.mm:
+        * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
+        * WebKitTestRunner/ios/TestControllerIOS.mm:
+        * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
+        * WebKitTestRunner/ios/mainIOS.mm:
+
 2019-05-04  Nikita Vasilyev  <nvasilyev@apple.com>
 
         Web Inspector: Provide UIString descriptions to improve localizations
index 174b0c2..0cb2a14 100644 (file)
@@ -23,8 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 @interface DumpRenderTreeBrowserView : UIWebBrowserView {
     BOOL _scrollingUsesUIWebScrollView;
index 5e1a243..b61a019 100644 (file)
@@ -32,7 +32,6 @@
 #import "DumpRenderTree.h"
 #import "DumpRenderTreeWindow.h"
 #import "PixelDumpSupportCG.h"
-#import "UIKitSPI.h"
 
 #define COMMON_DIGEST_FOR_OPENSSL
 #import <CommonCrypto/CommonDigest.h>
@@ -44,6 +43,7 @@
 #import <WebKit/WebCoreThread.h>
 #import <pal/spi/cg/CoreGraphicsSPI.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockObjCExceptions.h>
 #import <wtf/RefCounted.h>
 #import <wtf/RefPtr.h>
index 9fb0a47..6c460c5 100644 (file)
 #if PLATFORM(IOS_FAMILY)
 #import "DumpRenderTreeBrowserView.h"
 #import "IOSLayoutTestCommunication.h"
-#import "UIKitSPI.h"
 #import <QuartzCore/QuartzCore.h>
 #import <WebKit/WAKWindow.h>
 #import <WebKit/WebCoreThread.h>
 #import <WebKit/WebDOMOperations.h>
 #import <fcntl.h>
 #import <pal/spi/cg/CoreGraphicsSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 extern "C" {
index 7650a50..3dc678f 100644 (file)
@@ -31,8 +31,8 @@
 #if !PLATFORM(IOS_FAMILY)
 #import <AppKit/AppKit.h>
 #else
-#import "UIKitSPI.h"
 #import <WebKit/WAKWindow.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 @class WebView;
index d27a35d..bb4e8de 100644 (file)
 #import <wtf/WallTime.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import <WebKit/WebCoreThread.h>
 #import <WebKit/WebCoreThreadMessage.h>
 #import <WebKit/WebDOMOperationsPrivate.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 #if !PLATFORM(IOS_FAMILY)
index ead63ce..35811c2 100644 (file)
                F4856CA21E6498A8009D7EE7 /* attachment-element.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "attachment-element.html"; sourceTree = "<group>"; };
                F486B1CF1F6794FF00F34BDD /* DataTransfer-setDragImage.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "DataTransfer-setDragImage.html"; sourceTree = "<group>"; };
                F48D6C0F224B377000E3E2FB /* PreferredCompatibilityMode.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PreferredCompatibilityMode.mm; sourceTree = "<group>"; };
-               F493247C1F44DF8D006F4336 /* UIKitSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIKitSPI.h; sourceTree = "<group>"; };
                F4A32EC31F05F3780047C544 /* dragstart-change-selection-offscreen.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = "dragstart-change-selection-offscreen.html"; sourceTree = "<group>"; };
                F4A32ECA1F0642F40047C544 /* contenteditable-in-iframe.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = "contenteditable-in-iframe.html"; sourceTree = "<group>"; };
                F4A9202E1FEE34C800F59590 /* apple-data-url.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "apple-data-url.html"; sourceTree = "<group>"; };
                                F48D6C0F224B377000E3E2FB /* PreferredCompatibilityMode.mm */,
                                F4517B652054C49500C26721 /* TestWKWebViewController.h */,
                                F4517B662054C49500C26721 /* TestWKWebViewController.mm */,
-                               F493247C1F44DF8D006F4336 /* UIKitSPI.h */,
                        );
                        path = ios;
                        sourceTree = "<group>";
index a3840c4..ba65462 100644 (file)
@@ -34,8 +34,8 @@
 #import <wtf/text/WTFString.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
-#include <MobileCoreServices/MobileCoreServices.h>
+#import <MobileCoreServices/MobileCoreServices.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 @interface WKWebView ()
index 271ce8c..b345ae4 100644 (file)
 #import "Test.h"
 #import "TestNavigationDelegate.h"
 #import "TestWKWebView.h"
-#import "UIKitSPI.h"
 #import <WebKit/WKPreferencesRefPrivate.h>
 #import <WebKit/WKWebViewPrivate.h>
 #import <WebKit/WebKit.h>
 #import <WebKit/_WKTextInputContext.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 #define EXPECT_NSSTRING_EQ(expected, actual) \
index 1818262..8c219bf 100644 (file)
@@ -32,8 +32,8 @@
 #import <wtf/Vector.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import <UIKit/UIKit.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 static void* const SelectionAttributesObservationContext = (void*)&SelectionAttributesObservationContext;
index 728028e..6768ff9 100644 (file)
@@ -35,8 +35,8 @@
 #endif
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import <UIKit/UIKit.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 namespace TestWebKitAPI {
index 9d1b7c6..a12b0c9 100644 (file)
@@ -30,8 +30,8 @@
 #import <WebKit/WKWebViewPrivate.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import <UIKit/UIFontDescriptor.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 @interface TestWKWebView (EditActionTesting)
index 159bd5e..a735b75 100644 (file)
@@ -33,7 +33,7 @@
 
 #if PLATFORM(IOS_FAMILY)
 #import "ClassMethodSwizzler.h"
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 static bool isDone;
index e81f102..7ea7f1f 100644 (file)
 #import "TestNavigationDelegate.h"
 #import "TestWKWebView.h"
 #import "TestWKWebViewController.h"
-#import "UIKitSPI.h"
 #import <MobileCoreServices/MobileCoreServices.h>
 #import <WebKit/WKUIDelegatePrivate.h>
 #import <WebKit/WKWebViewPrivate.h>
 #import <WebKit/_WKActivatedElementInfo.h>
 #import <WebKit/_WKElementAction.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockPtr.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/SoftLinking.h>
index 21936bd..3ac4627 100644 (file)
@@ -31,7 +31,6 @@
 #import "DragAndDropSimulator.h"
 #import "PlatformUtilities.h"
 #import "TestWKWebView.h"
-#import "UIKitSPI.h"
 #import "WKWebViewConfigurationExtras.h"
 #import <Contacts/Contacts.h>
 #import <MapKit/MapKit.h>
@@ -43,6 +42,7 @@
 #import <WebKit/WKWebViewConfigurationPrivate.h>
 #import <WebKit/WebItemProviderPasteboard.h>
 #import <WebKit/_WKProcessPoolConfiguration.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/Seconds.h>
 #import <wtf/SoftLinking.h>
 
index a585245..7ce0e47 100644 (file)
@@ -31,9 +31,9 @@
 #import "PlatformUtilities.h"
 #import "TestInputDelegate.h"
 #import "TestWKWebView.h"
-#import "UIKitSPI.h"
 #import <WebKit/WKWebViewPrivate.h>
 #import <WebKit/_WKInputDelegate.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockPtr.h>
 
 static std::pair<RetainPtr<TestWKWebView>, RetainPtr<TestInputDelegate>> webViewForTestingFocusPreservation(void(^focusHandler)(id <_WKFocusedElementInfo>))
index 655ef13..d685c16 100644 (file)
 #import "PlatformUtilities.h"
 #import "TestInputDelegate.h"
 #import "TestWKWebView.h"
-#import "UIKitSPI.h"
 #import <WebKit/WKWebViewPrivate.h>
 #import <WebKitLegacy/WebEvent.h>
 #import <cmath>
+#import <pal/spi/ios/UIKitSPI.h>
 
 @interface InputAssistantItemTestingWebView : TestWKWebView
 + (UIBarButtonItemGroup *)leadingItemsForWebView:(WKWebView *)webView;
index 8e9f41b..397b753 100644 (file)
@@ -30,8 +30,8 @@
 #import "PlatformUtilities.h"
 #import "TestNavigationDelegate.h"
 #import "TestWKWebView.h"
-#import "UIKitSPI.h"
 #import <WebKit/WKWebViewPrivate.h>
+#import <pal/spi/ios/UIKitSPI.h>
 
 @interface AsyncPolicyDelegateForInsetTest : NSObject<WKNavigationDelegate> {
     @public BOOL _navigationComplete;
index b878064..3717793 100644 (file)
 
 #import "PlatformUtilities.h"
 #import "TestWKWebView.h"
-#import "UIKitSPI.h"
 #import <MobileCoreServices/MobileCoreServices.h>
 #import <UIKit/UIPasteboard.h>
 #import <WebKit/WKPreferencesPrivate.h>
 #import <WebKit/WKWebViewPrivate.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/SoftLinking.h>
 
 typedef void (^DataLoadCompletionBlock)(NSData *, NSError *);
index a5b8176..3c01560 100644 (file)
@@ -31,8 +31,8 @@
 #import "PlatformUtilities.h"
 #import "TestInputDelegate.h"
 #import "TestWKWebView.h"
-#import "UIKitSPI.h"
 #import <WebKit/WKWebViewPrivate.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockPtr.h>
 
 typedef UIView <UITextInputPrivate> AutofillInputView;
index 847c776..912e9b1 100644 (file)
@@ -33,8 +33,8 @@
 #import <wtf/BlockPtr.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import <UIKit/NSItemProvider+UIKitAdditions.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #endif
 
 #if PLATFORM(IOS_FAMILY)
index 8a2dd01..cd8bf27 100644 (file)
@@ -44,7 +44,7 @@
 #endif
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/SoftLinking.h>
 SOFT_LINK_FRAMEWORK(UIKit)
 SOFT_LINK_CLASS(UIKit, UIWindow)
index ff0187d..e80294c 100644 (file)
@@ -30,7 +30,6 @@
 
 #import "InstanceMethodSwizzler.h"
 #import "PlatformUtilities.h"
-#import "UIKitSPI.h"
 
 #import <UIKit/UIDragInteraction.h>
 #import <UIKit/UIDragItem.h>
@@ -38,6 +37,7 @@
 #import <WebKit/WKWebViewPrivate.h>
 #import <WebKit/_WKFocusedElementInfo.h>
 #import <WebKit/_WKFormInputSession.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/SoftLinking.h>
 
diff --git a/Tools/TestWebKitAPI/ios/UIKitSPI.h b/Tools/TestWebKitAPI/ios/UIKitSPI.h
deleted file mode 100644 (file)
index bc86f8d..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * 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.
- */
-
-#if PLATFORM(IOS_FAMILY)
-
-#import <UIKit/UITextInputTraits.h>
-
-#if USE(APPLE_INTERNAL_SDK)
-
-#import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIBarButtonItemGroup_Private.h>
-#import <UIKit/UICalloutBar.h>
-#import <UIKit/UIKeyboard_Private.h>
-#import <UIKit/UIResponder_Private.h>
-#import <UIKit/UITextInputMultiDocument.h>
-#import <UIKit/UITextInputTraits_Private.h>
-#import <UIKit/UITextInput_Private.h>
-#import <UIKit/UIViewController_Private.h>
-#import <UIKit/UIWKTextInteractionAssistant.h>
-#import <UIKit/UIWebFormAccessory.h>
-
-#if PLATFORM(IOS)
-@protocol UIDragSession;
-@class UIDragInteraction;
-@class UIDragItem;
-#import <UIKit/NSItemProvider+UIKitAdditions_Private.h>
-#import <UIKit/UIDragInteraction_Private.h>
-#endif // PLATFORM(IOS)
-
-#else
-
-WTF_EXTERN_C_BEGIN
-
-void UIApplicationInitialize(void);
-
-WTF_EXTERN_C_END
-
-@interface UITextSuggestion : NSObject
-
-@end
-
-@interface UITextInputTraits : NSObject <UITextInputTraits>
-@end
-
-@protocol UIDragInteractionDelegate_ForWebKitOnly <UIDragInteractionDelegate>
-@optional
-- (void)_dragInteraction:(UIDragInteraction *)interaction prepareForSession:(id<UIDragSession>)session completion:(void(^)(void))completion;
-- (void)_dragInteraction:(UIDragInteraction *)interaction itemsForAddingToSession:(id <UIDragSession>)session withTouchAtPoint:(CGPoint)point completion:(void(^)(NSArray<UIDragItem *> *))completion;
-@end
-
-@protocol UITextInputTraits_Private <NSObject, UITextInputTraits>
-@property (nonatomic, readonly) UIColor *insertionPointColor;
-@property (nonatomic, readonly) UIColor *selectionBarColor;
-@end
-
-@class WebEvent;
-
-@protocol UITextInputPrivate <UITextInput, UITextInputTraits_Private>
-- (UITextInputTraits *)textInputTraits;
-- (void)insertTextSuggestion:(UITextSuggestion *)textSuggestion;
-- (void)handleKeyWebEvent:(WebEvent *)theEvent withCompletionHandler:(void (^)(WebEvent *, BOOL))completionHandler;
-- (BOOL)_shouldSuppressSelectionCommands;
-- (NSDictionary *)_autofillContext;
-@end
-
-@interface UIWebFormAccessory : UIInputView
-@end
-
-@interface UIBarButtonItemGroup ()
-@property (nonatomic, readwrite, assign, getter=_isHidden, setter=_setHidden:) BOOL hidden;
-@end
-
-@protocol UITextInputMultiDocument <NSObject>
-@optional
-- (void)_preserveFocusWithToken:(id <NSCopying, NSSecureCoding>)token destructively:(BOOL)destructively;
-- (BOOL)_restoreFocusWithToken:(id <NSCopying, NSSecureCoding>)token;
-- (void)_clearToken:(id <NSCopying, NSSecureCoding>)token;
-@end
-
-@interface NSURL ()
-@property (nonatomic, copy, setter=_setTitle:) NSString *_title;
-@end
-
-@interface UIKeyboard : UIView
-@end
-
-@interface UICalloutBar : UIView
-+ (UICalloutBar *)sharedCalloutBar;
-@end
-
-@interface UIWKDocumentContext : NSObject
-
-@property (nonatomic, copy) NSObject *contextBefore;
-@property (nonatomic, copy) NSObject *selectedText;
-@property (nonatomic, copy) NSObject *contextAfter;
-@property (nonatomic, copy) NSObject *markedText;
-@property (nonatomic, assign) NSRange selectedRangeInMarkedText;
-@property (nonatomic, copy) NSAttributedString *annotatedText;
-
-- (NSArray<NSValue *> *)characterRectsForCharacterRange:(NSRange)range;
-
-@end
-
-typedef NS_OPTIONS(NSInteger, UIWKDocumentRequestFlags) {
-    UIWKDocumentRequestNone = 0,
-    UIWKDocumentRequestText = 1 << 0,
-    UIWKDocumentRequestAttributed = 1 << 1,
-    UIWKDocumentRequestRects = 1 << 2,
-    UIWKDocumentRequestSpatial = 1 << 3,
-    UIWKDocumentRequestAnnotation = 1 << 4,
-};
-
-@interface UIWKDocumentRequest : NSObject
-
-@property (nonatomic, assign) UIWKDocumentRequestFlags flags;
-@property (nonatomic, assign) UITextGranularity surroundingGranularity;
-@property (nonatomic, assign) NSInteger granularityCount;
-@property (nonatomic, assign) CGRect documentRect;
-@property (nonatomic, retain) id <NSCopying> inputElementIdentifier;
-
-@end
-
-#endif
-
-#if __has_include(<UIKit/UITextAutofillSuggestion.h>)
-// FIXME: Move this import under USE(APPLE_INTERNAL_SDK) once <rdar://problem/34583628> lands in the SDK.
-#import <UIKit/UITextAutofillSuggestion.h>
-@interface UITextAutofillSuggestion ()
-+ (instancetype)autofillSuggestionWithUsername:(NSString *)username password:(NSString *)password;
-@end
-#else
-@interface UITextAutofillSuggestion : UITextSuggestion
-@property (nonatomic, assign) NSString *username;
-@property (nonatomic, assign) NSString *password;
-+ (instancetype)autofillSuggestionWithUsername:(NSString *)username password:(NSString *)password;
-@end
-#endif
-
-@interface NSURL (UIKitSPI)
-@property (nonatomic, copy, setter=_setTitle:) NSString *_title;
-@end
-
-@interface UIViewController (UIKitSPI)
-+ (UIViewController *)_viewControllerForFullScreenPresentationFromView:(UIView *)view;
-@end
-
-@interface UIResponder (UIKitSPI)
-- (UIResponder *)firstResponder;
-- (void)makeTextWritingDirectionNatural:(id)sender;
-@end
-
-@interface UIKeyboard ()
-+ (BOOL)isInHardwareKeyboardMode;
-@end
-
-@protocol UIWKInteractionViewProtocol_Staging_49236384
-- (void)pasteWithCompletionHandler:(void (^)(void))completionHandler;
-@end
-
-@interface UIWebFormAccessory (Staging_49666643)
-- (void)setNextPreviousItemsVisible:(BOOL)visible;
-@end
-
-#endif // PLATFORM(IOS_FAMILY)
index 9029689..9af5d4e 100644 (file)
@@ -34,8 +34,9 @@
 #import <wtf/RetainPtr.h>
 
 #if PLATFORM(IOS_FAMILY)
-#import "UIKitSPI.h"
 #import <WebKit/WKWebViewPrivate.h>
+#import <pal/spi/ios/UIKitSPI.h>
+
 @interface WKWebView ()
 
 // FIXME: move these to WKWebView_Private.h
index 7d63f33..522b563 100644 (file)
@@ -27,7 +27,7 @@
 #import "GeneratedTouchesDebugWindow.h"
 
 #import "HIDEventGenerator.h"
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 static const CGFloat debugTouchDotRadius = 5;
index a523e3b..7d23d01 100644 (file)
@@ -23,9 +23,8 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#import "UIKitSPI.h"
-
 #import <CoreGraphics/CGGeometry.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/RetainPtr.h>
 
 // Keys for sendEventStream:completionBlock:.
index 5775626..2e50e93 100644 (file)
@@ -27,9 +27,9 @@
 #import "HIDEventGenerator.h"
 
 #import "GeneratedTouchesDebugWindow.h"
-#import "UIKitSPI.h"
 #import <mach/mach_time.h>
 #import <pal/spi/cocoa/IOKitSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/Assertions.h>
 #import <wtf/BlockPtr.h>
 #import <wtf/Optional.h>
index 5734487..89a4d41 100644 (file)
 
 #import "TestController.h"
 #import "TestRunnerWKWebView.h"
-#import "UIKitSPI.h"
 #import <WebKit/WKImageCG.h>
 #import <WebKit/WKPreferencesPrivate.h>
 #import <WebKit/WKSnapshotConfiguration.h>
 #import <WebKit/WKWebViewConfiguration.h>
 #import <WebKit/WKWebViewPrivate.h>
 #import <pal/spi/cocoa/QuartzCoreSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/BlockObjCExceptions.h>
 #import <wtf/RetainPtr.h>
 
index f0a5ea4..6a8121b 100644 (file)
@@ -32,7 +32,6 @@
 #import "PlatformWebView.h"
 #import "TestInvocation.h"
 #import "TestRunnerWKWebView.h"
-#import "UIKitSPI.h"
 #import <Foundation/Foundation.h>
 #import <UIKit/UIKit.h>
 #import <WebKit/WKPreferencesPrivate.h>
@@ -44,6 +43,7 @@
 #import <WebKit/WKWebViewPrivate.h>
 #import <objc/runtime.h>
 #import <pal/spi/ios/GraphicsServicesSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/MainThread.h>
 
 static BOOL overrideIsInHardwareKeyboardMode()
index 37554c0..2f47128 100644 (file)
@@ -34,7 +34,6 @@
 #import "StringFunctions.h"
 #import "TestController.h"
 #import "TestRunnerWKWebView.h"
-#import "UIKitSPI.h"
 #import "UIScriptContext.h"
 #import <JavaScriptCore/JavaScriptCore.h>
 #import <JavaScriptCore/OpaqueJSString.h>
@@ -43,6 +42,7 @@
 #import <WebKit/WKWebViewPrivate.h>
 #import <WebKit/WebKit.h>
 #import <pal/spi/ios/GraphicsServicesSPI.h>
+#import <pal/spi/ios/UIKitSPI.h>
 #import <wtf/SoftLinking.h>
 #import <wtf/Vector.h>
 
index 9a5a012..966cc3c 100644 (file)
@@ -27,7 +27,7 @@
 
 #import "HIDEventGenerator.h"
 #import "TestController.h"
-#import "UIKitSPI.h"
+#import <pal/spi/ios/UIKitSPI.h>
 
 static int _argc;
 static const char **_argv;