[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
authordbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 8 Jan 2015 04:16:54 +0000 (04:16 +0000)
committerdbates@webkit.org <dbates@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 8 Jan 2015 04:16:54 +0000 (04:16 +0000)
https://bugs.webkit.org/show_bug.cgi?id=137371

Reviewed by David Kilzer.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/GraphicsServicesSPI.h: Added.
* platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque.
* platform/spi/cocoa/ServersSPI.h: Added.

Source/WebKit/mac:

Use SPI wrapper headers instead of directly references private SPI headers.

* Plugins/Hosted/NetscapePluginHostManager.mm:

Source/WebKit2:

* Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to
the list of directories to search for frameworks so that we the linker can find and link against iOS private
frameworks (e.g. AssertionServices).
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation().
* Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h.
* Platform/spi/ios/BKSProcessAssertionSPI.h: Added.
* Platform/spi/ios/CorePDFSPI.h: Added.
* Platform/spi/ios/DataDetectorsUISPI.h: Added.
* Platform/spi/ios/ManagedConfigurationSPI.h: Added.
* Platform/spi/ios/TCCSPI.h: Added.
* Platform/spi/ios/TextInputSPI.h: Added.
* Platform/spi/ios/UIKitSPI.h: Added.
* Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally
include header CFNetwork/CFURLDownload.h.
(WebKit::Download::startWithHandle): Ditto.
* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead
of directly including private headers.
* Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
* Shared/mac/SandboxUtilities.cpp: Include header sys/param.h.
* UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto.
* UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
* UIProcess/API/ios/WKViewIOS.mm: Ditto.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
* UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
* UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
* UIProcess/ios/WKActionSheet.mm: Ditto.
* UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers.
* UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI
forward declarations to QuartzCoreSPI.h
* UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h,
ManagedConfigurationSPI.h, TextInputSPI.h.
* UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
* UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers.
* UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h.
* UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers.
* UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto.
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto.
* UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto.
* UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto.
* UIProcess/ios/forms/WKFormInputControl.mm: Ditto.
* UIProcess/ios/forms/WKFormPopover.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectControl.h: Ditto.
* UIProcess/ios/forms/WKFormSelectControl.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto.
* UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of
directly including private headers. Also, ignore deprecated declaration for bootstrap_register2().
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly
including private headers.
* config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN
and  WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h).

Source/WTF:

Move EXTERN_C_BEGIN and EXTERN_C_END macros from file WebKit2/config.h to here and
rename them to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively, so that we
can make use of these macros in SPI wrapper headers (e.g. UIKitSPI.h).

I'll look to transition existing code to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END and
remove EXTERN_C in a subsequent commit(s).

* wtf/Compiler.h:

Tools:

Use SPI wrapper headers instead of directly referencing private SPI headers.

* DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
* DumpRenderTree/mac/Configurations/Base.xcconfig: Append directory Source/WebKit2/Platform/spi/ios
to the list of iOS header search directories so that we can include header UIKitSPI.h.
* DumpRenderTree/mac/DumpRenderTree.mm:
* DumpRenderTree/mac/DumpRenderTreeWindow.h:
* DumpRenderTree/mac/EventSendingController.mm:
* DumpRenderTree/mac/TestRunnerMac.mm:

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

66 files changed:
Source/WTF/ChangeLog
Source/WTF/wtf/Compiler.h
Source/WebCore/ChangeLog
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/platform/spi/cocoa/QuartzCoreSPI.h
Source/WebCore/platform/spi/cocoa/ServersSPI.h [new file with mode: 0644]
Source/WebCore/platform/spi/ios/GraphicsServicesSPI.h [new file with mode: 0644]
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/BaseTarget.xcconfig
Source/WebKit2/NetworkProcess/mac/NetworkResourceLoaderMac.mm
Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm
Source/WebKit2/Platform/spi/ios/BKSProcessAssertionSPI.h [new file with mode: 0644]
Source/WebKit2/Platform/spi/ios/CorePDFSPI.h [new file with mode: 0644]
Source/WebKit2/Platform/spi/ios/DataDetectorsUISPI.h [new file with mode: 0644]
Source/WebKit2/Platform/spi/ios/ManagedConfigurationSPI.h [new file with mode: 0644]
Source/WebKit2/Platform/spi/ios/TCCSPI.h [new file with mode: 0644]
Source/WebKit2/Platform/spi/ios/TextInputSPI.h [moved from Source/WebCore/platform/spi/ios/_UIHighlightViewSPI.h with 76% similarity]
Source/WebKit2/Platform/spi/ios/UIKitSPI.h [new file with mode: 0644]
Source/WebKit2/Shared/Downloads/ios/DownloadIOS.mm
Source/WebKit2/Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm
Source/WebKit2/Shared/ios/NativeWebTouchEventIOS.mm
Source/WebKit2/Shared/mac/SandboxUtilities.cpp
Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h
Source/WebKit2/UIProcess/API/ios/WKViewIOS.mm
Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm
Source/WebKit2/UIProcess/ios/ProcessAssertionIOS.mm
Source/WebKit2/UIProcess/ios/SmartMagnificationController.mm
Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm
Source/WebKit2/UIProcess/ios/WKActionSheet.mm
Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.h
Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.mm
Source/WebKit2/UIProcess/ios/WKContentView.mm
Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h
Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm
Source/WebKit2/UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm
Source/WebKit2/UIProcess/ios/WKPDFPageNumberIndicator.mm
Source/WebKit2/UIProcess/ios/WKPDFView.h
Source/WebKit2/UIProcess/ios/WKPDFView.mm
Source/WebKit2/UIProcess/ios/WKScrollView.h
Source/WebKit2/UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h
Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm
Source/WebKit2/UIProcess/ios/forms/WKAirPlayRoutePicker.mm
Source/WebKit2/UIProcess/ios/forms/WKFileUploadPanel.mm
Source/WebKit2/UIProcess/ios/forms/WKFormInputControl.mm
Source/WebKit2/UIProcess/ios/forms/WKFormPopover.mm
Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h
Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.mm
Source/WebKit2/UIProcess/ios/forms/WKFormSelectPicker.mm
Source/WebKit2/UIProcess/ios/forms/WKFormSelectPopover.mm
Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
Source/WebKit2/WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm
Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm
Source/WebKit2/config.h
Tools/ChangeLog
Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.h
Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm
Tools/DumpRenderTree/mac/Configurations/Base.xcconfig
Tools/DumpRenderTree/mac/DumpRenderTree.mm
Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h
Tools/DumpRenderTree/mac/EventSendingController.mm
Tools/DumpRenderTree/mac/TestRunnerMac.mm

index 9f97112..d602c77 100644 (file)
@@ -1,3 +1,19 @@
+2015-01-07  Daniel Bates  <dabates@apple.com>
+
+        [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
+        https://bugs.webkit.org/show_bug.cgi?id=137371
+
+        Reviewed by David Kilzer.
+
+        Move EXTERN_C_BEGIN and EXTERN_C_END macros from file WebKit2/config.h to here and
+        rename them to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively, so that we
+        can make use of these macros in SPI wrapper headers (e.g. UIKitSPI.h).
+
+        I'll look to transition existing code to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END and
+        remove EXTERN_C in a subsequent commit(s).
+
+        * wtf/Compiler.h:
+
 2015-01-07  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r178068.
index a0752aa..d3deb96 100644 (file)
 #define CONSTEXPR
 #endif
 
-/* EXTERN_C */
+/* WTF_EXTERN_C_{BEGIN, END} */
 
 #ifdef __cplusplus
+#define WTF_EXTERN_C_BEGIN extern "C" {
+#define WTF_EXTERN_C_END }
+#else
+#define WTF_EXTERN_C_BEGIN
+#define WTF_EXTERN_C_END
+#endif
+
+// FIXME: Remove this once we have transitioned to WTF_EXTERN_C_BEGIN/WTF_EXTERN_C_END.
+#ifdef __cplusplus
 #define EXTERN_C extern "C"
 #else
 #define EXTERN_C extern
index fba2b88..b87a41a 100644 (file)
@@ -1,3 +1,14 @@
+2015-01-07  Daniel Bates  <dabates@apple.com>
+
+        [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
+        https://bugs.webkit.org/show_bug.cgi?id=137371
+
+        Reviewed by David Kilzer.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/spi/GraphicsServicesSPI.h: Added.
+        * platform/spi/cocoa/QuartzCoreSPI.h: Add CALayer SPI property hitTestsAsOpaque.
+        * platform/spi/cocoa/ServersSPI.h: Added.
 2015-01-07  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r178068.
index c90daeb..ed45f5f 100644 (file)
                A14832CD187F682E00DA63A6 /* WebCoreThreadSafe.h in Headers */ = {isa = PBXBuildFile; fileRef = A148329F187F508700DA63A6 /* WebCoreThreadSafe.h */; };
                A14832CE187F683400DA63A6 /* WebCoreThreadSystemInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A14832A0187F508700DA63A6 /* WebCoreThreadSystemInterface.cpp */; };
                A14832CF187F684700DA63A6 /* WebCoreThreadSystemInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = A14832A1187F508700DA63A6 /* WebCoreThreadSystemInterface.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               A172182619DE183F00464D17 /* _UIHighlightViewSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = A172182519DE183F00464D17 /* _UIHighlightViewSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
                A17C81220F2A5CF7005DAAEB /* HTMLElementFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A17C81200F2A5CF7005DAAEB /* HTMLElementFactory.cpp */; };
                A17C81230F2A5CF7005DAAEB /* HTMLElementFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = A17C81210F2A5CF7005DAAEB /* HTMLElementFactory.h */; };
                A1C797181883DD82000F5E1F /* DOMGestureEvent.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 0F54DCDD1880F901003EEDBB /* DOMGestureEvent.h */; };
                CE7B2DB61586ABAD0098B3FA /* TextAlternativeWithRange.mm in Sources */ = {isa = PBXBuildFile; fileRef = CE7B2DB21586ABAD0098B3FA /* TextAlternativeWithRange.mm */; };
                CE8245F019B671BA00AC0122 /* CFNetworkConnectionCacheSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE8245EF19B671BA00AC0122 /* CFNetworkConnectionCacheSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
                CE95208A1811B475007A5392 /* WebSafeIncrementalSweeperIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = C2C4CB1D161A131200D214DA /* WebSafeIncrementalSweeperIOS.h */; };
+               CEC337AD1A46071F009B8523 /* ServersSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CEC337AC1A46071F009B8523 /* ServersSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               CEC337AF1A46086D009B8523 /* GraphicsServicesSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CEC337AE1A46086D009B8523 /* GraphicsServicesSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
                CECADFC6153778FF00E37068 /* DictationAlternative.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CECADFC2153778FF00E37068 /* DictationAlternative.cpp */; };
                CECADFC7153778FF00E37068 /* DictationAlternative.h in Headers */ = {isa = PBXBuildFile; fileRef = CECADFC3153778FF00E37068 /* DictationAlternative.h */; settings = {ATTRIBUTES = (Private, ); }; };
                CECADFC8153778FF00E37068 /* DictationCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CECADFC4153778FF00E37068 /* DictationCommand.cpp */; };
                A14832A9187F508700DA63A6 /* WKView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKView.h; path = ios/wak/WKView.h; sourceTree = "<group>"; };
                A14832AA187F508700DA63A6 /* WKView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKView.mm; path = ios/wak/WKView.mm; sourceTree = "<group>"; };
                A14832AB187F508700DA63A6 /* WKViewPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKViewPrivate.h; path = ios/wak/WKViewPrivate.h; sourceTree = "<group>"; };
-               A172182519DE183F00464D17 /* _UIHighlightViewSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = _UIHighlightViewSPI.h; path = ios/_UIHighlightViewSPI.h; sourceTree = "<group>"; };
                A17C81200F2A5CF7005DAAEB /* HTMLElementFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLElementFactory.cpp; sourceTree = "<group>"; };
                A17C81210F2A5CF7005DAAEB /* HTMLElementFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLElementFactory.h; sourceTree = "<group>"; };
                A1C7971C1883E51F000F5E1F /* DOMHTMLTextAreaElementPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMHTMLTextAreaElementPrivate.h; sourceTree = "<group>"; };
                CE7B2DB11586ABAD0098B3FA /* TextAlternativeWithRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextAlternativeWithRange.h; sourceTree = "<group>"; };
                CE7B2DB21586ABAD0098B3FA /* TextAlternativeWithRange.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TextAlternativeWithRange.mm; sourceTree = "<group>"; };
                CE8245EF19B671BA00AC0122 /* CFNetworkConnectionCacheSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFNetworkConnectionCacheSPI.h; sourceTree = "<group>"; };
+               CEC337AC1A46071F009B8523 /* ServersSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServersSPI.h; sourceTree = "<group>"; };
+               CEC337AE1A46086D009B8523 /* GraphicsServicesSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GraphicsServicesSPI.h; path = ios/GraphicsServicesSPI.h; sourceTree = "<group>"; };
                CECADFC2153778FF00E37068 /* DictationAlternative.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DictationAlternative.cpp; sourceTree = "<group>"; };
                CECADFC3153778FF00E37068 /* DictationAlternative.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DictationAlternative.h; sourceTree = "<group>"; };
                CECADFC4153778FF00E37068 /* DictationCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DictationCommand.cpp; sourceTree = "<group>"; };
                                CE1252541A1BEC0E00864480 /* NSURLDownloadSPI.h */,
                                653EF83819A043AE0052202C /* NSURLFileTypeMappingsSPI.h */,
                                CE12523C1A1676CD00864480 /* QuartzCoreSPI.h */,
+                               CEC337AC1A46071F009B8523 /* ServersSPI.h */,
                        );
                        path = cocoa;
                        sourceTree = "<group>";
                A172182419DE182B00464D17 /* ios */ = {
                        isa = PBXGroup;
                        children = (
-                               A172182519DE183F00464D17 /* _UIHighlightViewSPI.h */,
                                CE12523E1A16AE1200864480 /* AVKitSPI.h */,
                                CE1252421A16C01A00864480 /* CoreUISPI.h */,
+                               CEC337AE1A46086D009B8523 /* GraphicsServicesSPI.h */,
                                CE1252481A16C3BC00864480 /* MobileGestaltSPI.h */,
                                CE1252401A16B1B600864480 /* MediaPlayerSPI.h */,
                                CE1252381A166FA000864480 /* QuickLookSPI.h */,
                        isa = PBXHeadersBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               A172182619DE183F00464D17 /* _UIHighlightViewSPI.h in Headers */,
                                FE115FAB167988CD00249134 /* AbstractDatabaseServer.h in Headers */,
                                41E1B1D10FF5986900576B3B /* AbstractWorker.h in Headers */,
                                29A8122E0FBB9C1D00510293 /* AccessibilityARIAGridCell.h in Headers */,
                                0F580B0E0F12A2690051D689 /* GraphicsLayerClient.h in Headers */,
                                1AC69593161A1E53003732CB /* GraphicsLayerFactory.h in Headers */,
                                0FA24D7A162DF91900A3F4C0 /* GraphicsLayerUpdater.h in Headers */,
+                               CEC337AF1A46086D009B8523 /* GraphicsServicesSPI.h in Headers */,
                                B2A015AB0AF6CD53006BCE0E /* GraphicsTypes.h in Headers */,
                                77A17A7B12F2890B004E02F6 /* GraphicsTypes3D.h in Headers */,
                                CD3E251C18046B0600E27F56 /* GridCoordinate.h in Headers */,
                                077AF14018F4AE400001ED61 /* SerializedPlatformRepresentation.h in Headers */,
                                077AF14318F4B1BB0001ED61 /* SerializedPlatformRepresentationMac.h in Headers */,
                                A75E497610752ACB00C9B896 /* SerializedScriptValue.h in Headers */,
+                               CEC337AD1A46071F009B8523 /* ServersSPI.h in Headers */,
                                2D93AEE319DF5641002A86C3 /* ServicesOverlayController.h in Headers */,
                                756B2CE118B7101600FECFAA /* SessionID.h in Headers */,
                                93309E10099E64920056E581 /* SetNodeAttributeCommand.h in Headers */,
index 330ad60..78d8941 100644 (file)
@@ -77,6 +77,7 @@ extern "C" {
 @property BOOL allowsGroupBlending;
 @property BOOL canDrawConcurrently;
 @property BOOL contentsOpaque;
+@property BOOL hitTestsAsOpaque;
 @property BOOL needsLayoutOnGeometryChange;
 @property BOOL shadowPathIsBounds;
 @end
diff --git a/Source/WebCore/platform/spi/cocoa/ServersSPI.h b/Source/WebCore/platform/spi/cocoa/ServersSPI.h
new file mode 100644 (file)
index 0000000..42b0d56
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ServersSPI_h
+#define ServersSPI_h
+
+#include <mach/message.h>
+
+#if PLATFORM(MAC) || USE(APPLE_INTERNAL_SDK)
+
+#include <servers/bootstrap.h>
+
+#else
+
+typedef char name_t[128];
+
+#endif
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#include <bootstrap_priv.h>
+
+#endif
+
+WTF_EXTERN_C_BEGIN
+
+kern_return_t bootstrap_look_up(mach_port_t, const name_t serviceName, mach_port_t *);
+kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, uint64_t flags);
+
+WTF_EXTERN_C_END
+
+#endif // ServersSPI_h
diff --git a/Source/WebCore/platform/spi/ios/GraphicsServicesSPI.h b/Source/WebCore/platform/spi/ios/GraphicsServicesSPI.h
new file mode 100644 (file)
index 0000000..6e86bb1
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef GraphicsServicesSPI_h
+#define GraphicsServicesSPI_h
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <GraphicsServices/GraphicsServices.h>
+
+#endif
+
+WTF_EXTERN_C_BEGIN
+
+void GSInitialize(void);
+uint64_t GSCurrentEventTimestamp(void);
+
+WTF_EXTERN_C_END
+
+#endif // GraphicsServicesSPI_h
index 97f9a5b..7dec555 100644 (file)
@@ -1,3 +1,14 @@
+2015-01-07  Daniel Bates  <dabates@apple.com>
+
+        [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
+        https://bugs.webkit.org/show_bug.cgi?id=137371
+
+        Reviewed by David Kilzer.
+
+        Use SPI wrapper headers instead of directly references private SPI headers.
+
+        * Plugins/Hosted/NetscapePluginHostManager.mm:
+
 2015-01-07  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r178068.
index ecfb34c..1f9facb 100644 (file)
 
 #import "NetscapePluginHostProxy.h"
 #import "NetscapePluginInstanceProxy.h"
-#import "WebLocalizableStringsInternal.h"
 #import "WebKitSystemInterface.h"
+#import "WebLocalizableStringsInternal.h"
 #import "WebNetscapePluginPackage.h"
+#import <WebCore/ServersSPI.h>
 #import <WebCore/WebCoreNSStringExtras.h>
 #import <mach/mach_port.h>
-#import <servers/bootstrap.h>
 #import <spawn.h>
 #import <wtf/Assertions.h>
 #import <wtf/RetainPtr.h>
index 9e447ac..0974502 100644 (file)
@@ -1,3 +1,70 @@
+2015-01-07  Daniel Bates  <dabates@apple.com>
+
+        [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
+        https://bugs.webkit.org/show_bug.cgi?id=137371
+
+        Reviewed by David Kilzer.
+
+        * Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to
+        the list of directories to search for frameworks so that we the linker can find and link against iOS private
+        frameworks (e.g. AssertionServices).
+        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
+        (WebKit::NetworkResourceLoader::willCacheResponseAsync): Add PLATFORM(IOS)-guard around call to NetworkDiskCacheMonitor::monitorFileBackingStoreCreation().
+        * Platform/IPC/mac/ConnectionMac.mm: Add header sys/mman.h.
+        * Platform/spi/ios/BKSProcessAssertionSPI.h: Added.
+        * Platform/spi/ios/CorePDFSPI.h: Added.
+        * Platform/spi/ios/DataDetectorsUISPI.h: Added.
+        * Platform/spi/ios/ManagedConfigurationSPI.h: Added.
+        * Platform/spi/ios/TCCSPI.h: Added.
+        * Platform/spi/ios/TextInputSPI.h: Added.
+        * Platform/spi/ios/UIKitSPI.h: Added.
+        * Shared/Downloads/ios/DownloadIOS.mm: Add USE(CFNETWORK)-guard around CFNetwork-specific code and conditionally
+        include header CFNetwork/CFURLDownload.h.
+        (WebKit::Download::startWithHandle): Ditto.
+        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: Include header ServersSPI.h instead
+        of directly including private headers.
+        * Shared/ios/NativeWebTouchEventIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
+        * Shared/mac/SandboxUtilities.cpp: Include header sys/param.h.
+        * UIProcess/API/Cocoa/WKWebView.mm: Include header UIKitSPI.h instead of directly including private headers.
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Ditto.
+        * UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
+        * UIProcess/API/ios/WKViewIOS.mm: Ditto.
+        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
+        * UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
+        * UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
+        * UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
+        * UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
+        * UIProcess/ios/WKActionSheet.mm: Ditto.
+        * UIProcess/ios/WKActionSheetAssistant.h: Include header DataDetectorsUISPI.h instead of directly including private headers.
+        * UIProcess/ios/WKActionSheetAssistant.mm: Include headers TCCSPI.h and UIKitSPI.h instead of directly including private headers.
+        * UIProcess/ios/WKContentView.mm: Include header UIKitSPI.h instead of directly including private headers. Also, move CALayer SPI
+        forward declarations to QuartzCoreSPI.h
+        * UIProcess/ios/WKContentViewInteraction.h: Include header UIKitSPI.h instead of directly including private headers.
+        * UIProcess/ios/WKContentViewInteraction.mm: Ditto. Also, include headers CoreGraphicsSPI.h, CoreText/CTFont.h, DataDetectorsUISPI.h,
+        ManagedConfigurationSPI.h, TextInputSPI.h.
+        * UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: Include header UIKitSPI.h instead of directly including private headers.
+        * UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
+        * UIProcess/ios/WKPDFView.h: Include header CorePDFSPI.h instead of directly including private headers.
+        * UIProcess/ios/WKPDFView.mm: Ditto. Also, remove header _UIHighlightViewSPI.h and include UIKitSPI.h.
+        * UIProcess/ios/WKScrollView.h: Include header UIKitSPI.h instead of directly including private headers.
+        * UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Ditto.
+        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Ditto.
+        * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Ditto.
+        * UIProcess/ios/forms/WKFileUploadPanel.mm: Ditto.
+        * UIProcess/ios/forms/WKFormInputControl.mm: Ditto.
+        * UIProcess/ios/forms/WKFormPopover.mm: Ditto.
+        * UIProcess/ios/forms/WKFormSelectControl.h: Ditto.
+        * UIProcess/ios/forms/WKFormSelectControl.mm: Ditto.
+        * UIProcess/ios/forms/WKFormSelectPicker.mm: Ditto.
+        * UIProcess/ios/forms/WKFormSelectPopover.mm: Ditto.
+        * WebKit2.xcodeproj/project.pbxproj:
+        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: Include headers ServersSPI.h and GraphicsServicesSPI.h instead of
+        directly including private headers. Also, ignore deprecated declaration for bootstrap_register2().
+        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: Include header GraphicsServicesSPI.h instead of directly
+        including private headers.
+        * config.h: Moved EXTERN_C_BEGIN and EXTERN_C_END macros from here to file wtf/Compiler.h and renamed them to WTF_EXTERN_C_BEGIN
+        and  WTF_EXTERN_C_END, respectively, so that we can make use of them in SPI wrapper headers (e.g. UIKitSPI.h).
+
 2015-01-07  Simon Fraser  <simon.fraser@apple.com>
 
         Make WebKitAcceleratedDrawingEnabled into a "debug" pref, so that it's read without page group prefixes
         * UIProcess/API/Cocoa/WKWebViewInternal.h: Ditto.
         * UIProcess/API/ios/WKViewIOS.mm: Ditto.
         * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Include header ServersSPI.h instead of directly including private headers.
+        Also, ignore deprecated declaration for bootstrap_register2().
         * UIProcess/ios/PageClientImplIOS.mm: Include header UIKitSPI.h instead of directly including private headers.
         * UIProcess/ios/ProcessAssertionIOS.mm: Include header BKSProcessAssertionSPI.h instead of directly including private headers.
         * UIProcess/ios/SmartMagnificationController.mm: Include header UIKitSPI.h instead of directly including private headers.
index 672afb6..2a3c40b 100644 (file)
 #include "FeatureDefines.xcconfig"
 #include "Version.xcconfig"
 
-FRAMEWORK_SEARCH_PATHS = $(UMBRELLA_FRAMEWORKS_DIR) $(FRAMEWORK_SEARCH_PATHS);
+FRAMEWORK_SEARCH_PATHS_base = $(UMBRELLA_FRAMEWORKS_DIR) $(FRAMEWORK_SEARCH_PATHS);
+FRAMEWORK_SEARCH_PATHS[sdk=iphone*] = $(FRAMEWORK_SEARCH_PATHS_base) $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
+FRAMEWORK_SEARCH_PATHS = $(FRAMEWORK_SEARCH_PATHS_base);
+
 GCC_PREFIX_HEADER = WebKit2Prefix.h;
 GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(FEATURE_DEFINES) FRAMEWORK_NAME=WebKit
 HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(WEBCORE_PRIVATE_HEADERS_DIR)/icu $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2 $(HEADER_SEARCH_PATHS);
index 5fe9eb7..5061cc5 100644 (file)
@@ -104,7 +104,7 @@ void NetworkResourceLoader::willCacheResponseAsync(ResourceHandle* handle, NSCac
 {
     ASSERT_UNUSED(handle, handle == m_handle);
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
+#if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
     if (m_bytesReceived >= fileBackedResourceMinimumSize())
         NetworkDiskCacheMonitor::monitorFileBackingStoreCreation([nsResponse _CFCachedURLResponse], this);
 #endif
index 84a850b..57c9f20 100644 (file)
@@ -33,6 +33,7 @@
 #include <WebCore/AXObjectCache.h>
 #include <mach/mach_error.h>
 #include <mach/vm_map.h>
+#include <sys/mman.h>
 #include <wtf/RunLoop.h>
 #include <wtf/spi/darwin/XPCSPI.h>
 
diff --git a/Source/WebKit2/Platform/spi/ios/BKSProcessAssertionSPI.h b/Source/WebKit2/Platform/spi/ios/BKSProcessAssertionSPI.h
new file mode 100644 (file)
index 0000000..631abfa
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Foundation/Foundation.h>
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <AssertionServices/BKSProcessAssertion.h>
+
+#else
+
+enum {
+    BKSProcessAssertionNone = 0,
+    BKSProcessAssertionPreventTaskSuspend  = 1 << 0,
+    BKSProcessAssertionPreventTaskThrottleDown = 1 << 1,
+    BKSProcessAssertionAllowIdleSleep = 1 << 2,
+    BKSProcessAssertionWantsForegroundResourcePriority = 1 << 3,
+    BKSProcessAssertionAllowSuspendOnSleep = 1 << 4,
+};
+typedef uint32_t BKSProcessAssertionFlags;
+
+enum {
+    BKSProcessAssertionReasonExtension = 13,
+};
+typedef uint32_t BKSProcessAssertionReason;
+
+typedef void(^BKSProcessAssertionAcquisitionHandler)(BOOL acquired);
+
+@interface BKSProcessAssertion : NSObject
+@end
+
+@interface BKSProcessAssertion (Details)
+- (id)initWithPID:(pid_t)pid flags:(BKSProcessAssertionFlags)flags reason:(BKSProcessAssertionReason)reason name:(NSString *)name withHandler:(BKSProcessAssertionAcquisitionHandler)handler;
+@property (nonatomic, assign) BKSProcessAssertionFlags flags;
+@end
+
+#endif
diff --git a/Source/WebKit2/Platform/spi/ios/CorePDFSPI.h b/Source/WebKit2/Platform/spi/ios/CorePDFSPI.h
new file mode 100644 (file)
index 0000000..6395813
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <CoreGraphics/CoreGraphics.h>
+#import <UIKit/UIKit.h>
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <CorePDF/UIPDFAnnotationController.h>
+#import <CorePDF/UIPDFDocument.h>
+#import <CorePDF/UIPDFLinkAnnotation.h>
+#import <CorePDF/UIPDFPage.h>
+#import <CorePDF/UIPDFPageView.h>
+
+#else
+
+@interface UIPDFPage : NSObject
+@end
+
+@interface UIPDFPage (Details)
+- (CGRect)cropBoxAccountForRotation;
+@end
+
+@interface UIPDFDocument : NSObject
+@end
+
+@interface UIPDFDocument (Details)
+- (UIPDFPage *)pageAtIndex:(NSUInteger)index;
+- (id)initWithCGPDFDocument:(CGPDFDocumentRef)document;
+@property (assign, readonly) NSUInteger numberOfPages;
+@property (readonly) CGPDFDocumentRef CGDocument;
+@end
+
+typedef enum {
+    kUIPDFObjectKindGraphic = 1,
+} UIPDFObjectKind;
+
+@class UIPDFPageView;
+@protocol UIPDFAnnotationControllerDelegate;
+
+@interface UIPDFAnnotationController : NSObject<UIGestureRecognizerDelegate>
+@end
+
+@interface UIPDFAnnotationController (Details)
+@property (nonatomic, readonly) UIPDFPageView *pageView;
+@property (nonatomic, assign) id<NSObject, UIPDFAnnotationControllerDelegate> delegate;
+@end
+
+@protocol UIPDFPageViewDelegate;
+
+@interface UIPDFPageView : UIView
+@end
+
+@interface UIPDFPageView (Details)
+- (id)initWithPage:(UIPDFPage *) page tiledContent:(BOOL)tiled;
+- (CGRect)convertRectFromPDFPageSpace:(CGRect)p;
+@property (nonatomic, assign) BOOL useBackingLayer;
+@property (nonatomic, assign) id<NSObject, UIPDFPageViewDelegate> delegate;
+@property (nonatomic, readonly) CALayer *contentLayer;
+@property (nonatomic, readonly) UIPDFAnnotationController *annotationController;
+@end
+
+@protocol UIPDFPageViewDelegate
+@optional
+- (BOOL)selectionWillTrack:(UIPDFPageView*)pageView;
+- (BOOL)shouldRecognizeTapIn:(UIPDFPageView *)pageView atPoint:(CGPoint)point;
+- (Class)classForAnnotationType:(const char *)type;
+- (void)didTap:(UIPDFPageView *)pageView atPoint:(CGPoint)point;
+- (void)doubleTapIn:(UIPDFPageView *)pageView atPoint:(CGPoint)point;
+- (void)pageWasRendered:(UIPDFPageView *)pageView;
+- (void)resetZoom:(UIPDFPageView *)pageView;
+- (void)selectionDidEndTracking:(UIPDFPageView *)pageView;
+- (void)zoom:(UIPDFPageView *)pageView to:(CGRect)rect atPoint:(CGPoint)pt kind:(UIPDFObjectKind)kind;
+@end
+
+@interface UIPDFAnnotation : NSObject
+@end
+
+@interface UIPDFAnnotation (Details)
+- (CGRect)Rect;
+@property (nonatomic, assign) UIPDFAnnotationController* annotationController;
+@end
+
+@interface UIPDFMarkupAnnotation : UIPDFAnnotation
+@end
+
+@interface UIPDFLinkAnnotation : UIPDFMarkupAnnotation
+@end
+
+@interface UIPDFLinkAnnotation (Details)
+- (NSURL *)url;
+- (NSUInteger)pageNumber;
+@end
+
+@protocol UIPDFAnnotationControllerDelegate
+@optional
+- (void)annotation:(UIPDFAnnotation *)annotation wasTouchedAtPoint:(CGPoint) point controller:(UIPDFAnnotationController *)controller;
+- (void)annotation:(UIPDFAnnotation *)annotation isBeingPressedAtPoint:(CGPoint) point controller:(UIPDFAnnotationController *)controller;
+@end
+
+#endif
diff --git a/Source/WebKit2/Platform/spi/ios/DataDetectorsUISPI.h b/Source/WebKit2/Platform/spi/ios/DataDetectorsUISPI.h
new file mode 100644 (file)
index 0000000..b2587ee
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <UIKit/UIKit.h>
+#import <WebCore/SoftLinking.h>
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <DataDetectorsUI/DDAction.h>
+#import <DataDetectorsUI/DDDetectionController.h>
+
+#else
+
+@interface DDAction : NSObject
+@end
+
+@interface DDAction (Details)
+- (BOOL)hasUserInterface;
+- (NSString *)localizedName;
+@property (readonly) NSString *actionUTI;
+@end
+
+@protocol DDDetectionControllerInteractionDelegate <NSObject>
+@end
+
+@interface DDDetectionController : NSObject <UIActionSheetDelegate>
+@end
+
+@interface DDDetectionController (Details)
++ (DDDetectionController *)sharedController;
++ (NSArray *)tapAndHoldSchemes;
+- (void)performAction:(DDAction *)action fromAlertController:(UIAlertController *)alertController interactionDelegate:(id <DDDetectionControllerInteractionDelegate>)interactionDelegate;
+@end
+
+#endif
+
+@interface DDDetectionController (DetailsToBeRemoved)
+// FIXME: This will be removed as soon as <rdar://problem/16346913> is fixed.
+- (NSArray *)actionsForAnchor:(id)anchor url:(NSURL *)targetURL forFrame:(id)frame;
+@end
+
+SOFT_LINK_PRIVATE_FRAMEWORK(DataDetectorsUI)
+SOFT_LINK_CLASS(DataDetectorsUI, DDDetectionController)
diff --git a/Source/WebKit2/Platform/spi/ios/ManagedConfigurationSPI.h b/Source/WebKit2/Platform/spi/ios/ManagedConfigurationSPI.h
new file mode 100644 (file)
index 0000000..8a5ad14
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Foundation/Foundation.h>
+
+#if USE(APPLE_INTERNAL_SDK)
+
+// FIXME: We conditionally enclose the ManagedConfiguration headers in an extern "C" linkage
+// block to make them suitable for C++ use.
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#import <ManagedConfiguration/MCFeatures.h>
+#import <ManagedConfiguration/MCProfileConnection.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#else
+
+typedef enum MCRestrictedBoolType {
+    MCRestrictedBoolExplicitNo = 1 << 1,
+} MCRestrictedBoolType;
+
+@interface MCProfileConnection : NSObject
+@end
+
+@interface MCProfileConnection (Details)
++ (MCProfileConnection *)sharedConnection;
+- (MCRestrictedBoolType)effectiveBoolValueForSetting:(NSString *)feature;
+@end
+
+#endif
+
+WTF_EXTERN_C_BEGIN
+
+extern NSString * const MCFeatureDefinitionLookupAllowed;
+
+WTF_EXTERN_C_END
+
+SOFT_LINK_PRIVATE_FRAMEWORK(ManagedConfiguration);
+SOFT_LINK_CLASS(ManagedConfiguration, MCProfileConnection);
+SOFT_LINK_CONSTANT(ManagedConfiguration, MCFeatureDefinitionLookupAllowed, NSString *)
+
+#define MCFeatureDefinitionLookupAllowed getMCFeatureDefinitionLookupAllowed()
diff --git a/Source/WebKit2/Platform/spi/ios/TCCSPI.h b/Source/WebKit2/Platform/spi/ios/TCCSPI.h
new file mode 100644 (file)
index 0000000..e4ac5f5
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#import <TCC/TCC.h>
+
+#else
+
+typedef enum {
+    kTCCAccessPreflightDenied = 1,
+} TCCAccessPreflightResult;
+
+#endif
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#import <Foundation/Foundation.h>
+
 #if USE(APPLE_INTERNAL_SDK)
 
-#import <UIKit/_UIHighlightView.h>
+#import <TextInput/TI_NSStringExtras.h>
 
 #else
 
-#import <UIKit/UIView.h>
-
-@class UIColor;
-
-@interface _UIHighlightView : UIView
-@end
-
-@interface _UIHighlightView (Private)
-- (void)setColor:(UIColor *)color;
-- (void)setCornerRadius:(CGFloat)cornerRadius;
-- (void)setCornerRadii:(NSArray *)cornerRadii;
-- (void)setFrames:(NSArray *)frames boundaryRect:(CGRect)boundaryRect;
-- (void)setQuads:(NSArray *)quads boundaryRect:(CGRect)boundaryRect;
+@interface NSString (TextInputDetails)
+- (BOOL)_containsCJScripts;
+- (BOOL)_containsCJScriptsOnly;
 @end
 
 #endif
diff --git a/Source/WebKit2/Platform/spi/ios/UIKitSPI.h b/Source/WebKit2/Platform/spi/ios/UIKitSPI.h
new file mode 100644 (file)
index 0000000..ff98eb5
--- /dev/null
@@ -0,0 +1,661 @@
+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <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/UIDatePicker_Private.h>
+#import <UIKit/UIDevice_Private.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/UIKeyboardImpl.h>
+#import <UIKit/UIKeyboardIntl.h>
+#import <UIKit/UIKeyboard_Private.h>
+#import <UIKit/UILongPressGestureRecognizer_Private.h>
+#import <UIKit/UIPeripheralHost.h>
+#import <UIKit/UIPeripheralHost_Private.h>
+#import <UIKit/UIPickerContentView_Private.h>
+#import <UIKit/UIPickerView_Private.h>
+#import <UIKit/UIScrollView_Private.h>
+#import <UIKit/UIStringDrawing_Private.h>
+#import <UIKit/UITableViewCell_Private.h>
+#import <UIKit/UITapGestureRecognizer_Private.h>
+#import <UIKit/UITextInput_Private.h>
+#import <UIKit/UITextInteractionAssistant_Private.h>
+#import <UIKit/UIViewControllerTransitioning_Private.h>
+#import <UIKit/UIViewController_Private.h>
+#import <UIKit/UIView_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/_UIBackdropView_Private.h>
+#import <UIKit/_UIHighlightView.h>
+#import <UIKit/_UINavigationInteractiveTransition.h>
+#import <UIKit/_UINavigationParallaxTransition.h>
+
+#else
+
+@interface UIAlertController (Details)
+- (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
+
+@interface UIApplication (Details)
+- (UIInterfaceOrientation)interfaceOrientation;
+- (void)_cancelAllTouches;
+@end
+
+typedef NS_ENUM(NSInteger, UIDatePickerPrivateMode)  {
+    UIDatePickerModeYearAndMonth = 4269,
+};
+
+@interface UIDatePicker (Details)
+@property (nonatomic, readonly, getter=_contentWidth) CGFloat contentWidth;
+@end
+
+#define UICurrentUserInterfaceIdiomIsPad() ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
+
+@interface UIDevice (Details)
+@property (nonatomic, readonly, retain) NSString *buildVersion;
+@end
+
+typedef enum {
+    UIFontTraitPlain = 0x00000000,
+} UIFontTrait;
+
+@interface UIFont (Details)
++ (UIFont *)fontWithFamilyName:(NSString *)familyName traits:(UIFontTrait)traits size:(CGFloat)fontSize;
+@end
+
+typedef enum {
+    UIAllCorners = 0xFF,
+} UIRectCorners;
+
+@interface UIImagePickerController (Details)
+@property (nonatomic, setter=_setAllowsMultipleSelection:) BOOL _allowsMultipleSelection;
+@end
+
+@interface UIImage (Details)
+- (id)initWithCGImage:(CGImageRef)CGImage imageOrientation:(UIImageOrientation)imageOrientation;
+@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 (Details)
++ (CGSize)defaultSizeForInterfaceOrientation:(UIInterfaceOrientation)orientation;
+- (void)activate;
+- (void)geometryChangeDone:(BOOL)keyboardVisible;
+- (void)prepareForGeometryChange;
+@end
+
+@interface UIKeyboardImpl : UIView <UIKeyboardCandidateListDelegate>
+@end
+
+@interface UIKeyboardImpl (Details)
++ (UIKeyboardImpl *)activeInstance;
++ (UIKeyboardImpl *)sharedInstance;
++ (CGSize)defaultSizeForInterfaceOrientation:(UIInterfaceOrientation)orientation;
+- (void)addInputString:(NSString *)string withFlags:(NSUInteger)flags;
+- (BOOL)autocorrectSpellingEnabled;
+- (void)deleteFromInput;
+- (void)replaceText:(id)replacement;
+@property (nonatomic, readwrite, retain) UIResponder <UIKeyInput> *delegate;
+@end
+
+@interface UIGestureRecognizer (Details)
+- (void)requireOtherGestureToFail:(UIGestureRecognizer *)gestureRecognizer;
+@end
+
+@interface UILongPressGestureRecognizer (Details)
+@property (nonatomic) CFTimeInterval delay;
+@property (nonatomic, readonly) CGPoint startPoint;
+@end
+
+@interface _UIWebHighlightLongPressGestureRecognizer : UILongPressGestureRecognizer
+@end
+
+@interface _UIWebHighlightLongPressGestureRecognizer (Details)
+- (void)cancel;
+@end
+
+@interface UIPeripheralHost : NSObject <UIGestureRecognizerDelegate>
+@end
+
+@class UIKeyboardRotationState;
+
+@interface UIPeripheralHost (Details)
++ (UIPeripheralHost *)sharedInstance;
++ (UIPeripheralHost *)activeInstance;
+- (BOOL)isOnScreen;
+- (UIKeyboardRotationState *)rotationState;
+@end
+
+@interface UIPickerContentView : UIView
+@end
+
+@interface UIPickerContentView (Details)
++(CGFloat)_checkmarkOffset;
+-(CGFloat)labelWidthForBounds:(CGRect)bounds;
+@property (nonatomic, getter=isChecked) BOOL checked;
+@property (nonatomic, readonly) UILabel *titleLabel;
+@end
+
+@interface UIPickerView (Details)
++ (CGSize)defaultSizeForCurrentOrientation;
+- (void)_setUsesCheckedSelection:(BOOL)usesCheckedSelection;
+@property (nonatomic, setter=_setMagnifierEnabled:) BOOL _magnifierEnabled;
+@end
+
+@interface UIScrollView (Details)
+- (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;
+@property (nonatomic, getter=isZoomEnabled) BOOL zoomEnabled;
+@property (nonatomic, readonly, getter=_isAnimatingZoom) BOOL isAnimatingZoom;
+@property (nonatomic) CGFloat horizontalScrollDecelerationFactor;
+@property (nonatomic) CGFloat verticalScrollDecelerationFactor;
+@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 (Details)
+@property (nonatomic, readonly) CGPoint location;
+@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;
+@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;
+@property (nonatomic) UITextGranularity selectionGranularity;
+@required
+- (BOOL)hasContent;
+- (BOOL)hasSelection;
+- (void)selectAll;
+@end
+
+@interface UITextInputTraits : NSObject <UITextInputTraits, UITextInputTraits_Private, NSCopying>
+@end
+
+@interface UITextInteractionAssistant : NSObject
+@end
+
+@interface UITextInteractionAssistant (Details)
+- (void)activateSelection;
+- (void)deactivateSelection;
+- (void)didEndScrollingOverflow;
+- (void)selectionChanged;
+- (void)setGestureRecognizers;
+- (void)willStartScrollingOverflow;
+@end
+
+@interface UIViewController (Details)
++ (UIViewController *)_viewControllerForFullScreenPresentationFromView:(UIView *)view;
++ (UIViewController *)viewControllerForView:(UIView *)view;
+@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;
+@property (nonatomic, retain, setter=_setContainerViews:) NSArray *_containerViews;
+@end
+
+@interface _UIViewControllerTransitionContext : NSObject <UIViewControllerContextTransitioningEx>
+@end
+
+@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 (Details)
+@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 (Details)
++ (BOOL)_isInAnimationBlock;
+- (CGSize)size;
+- (void)setFrameOrigin:(CGPoint)origin;
+- (void)setSize:(CGSize)size;
+@property (nonatomic, assign, setter=_setBackdropMaskViewFlags:) NSInteger _backdropMaskViewFlags;
+@end
+
+@interface UIWebSelectionAssistant : NSObject <UIGestureRecognizerDelegate>
+@end
+
+@interface UIWebSelectionAssistant (Details)
+- (BOOL)isSelectionGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer;
+- (id)initWithView:(UIView *)view;
+- (void)clearSelection;
+- (void)didEndScrollingOrZoomingPage;
+- (void)didEndScrollingOverflow;
+- (void)resignedFirstResponder;
+- (void)selectionChanged;
+- (void)setGestureRecognizers;
+- (void)willStartScrollingOrZoomingPage;
+- (void)willStartScrollingOverflow;
+@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,
+    UIWKIsBlockSelection = 2,
+    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 (Details)
+- (BOOL)shouldHandleSingleTapAtPoint:(CGPoint)point;
+- (void)blockSelectionChangedWithTouch:(UIWKSelectionTouch)touch withFlags:(UIWKSelectionFlags)flags growThreshold:(CGFloat)grow shrinkThreshold:(CGFloat)shrink;
+- (void)selectionChangedWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState withFlags:(UIWKSelectionFlags)flags;
+- (void)selectionChangedWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch withFlags:(UIWKSelectionFlags)flags;
+- (void)selectionChangedWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch;
+- (void)showDictionaryFor:(NSString *)selectedTerm fromRect:(CGRect)presentationRect;
+@property (nonatomic, readonly) UILongPressGestureRecognizer *selectionLongPressRecognizer;
+@end
+
+typedef NS_ENUM(NSInteger, UIWKHandlePosition) {
+    UIWKHandleTop = 0,
+    UIWKHandleRight = 1,
+    UIWKHandleBottom = 2,
+    UIWKHandleLeft = 3,
+};
+
+@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
+@end
+
+@interface UIWKTextInteractionAssistant (UIWKTextInteractionAssistantDetails)
+- (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;
+- (void)showTextStyleOptions;
+- (void)hideTextStyleOptions;
+
+@property (nonatomic, readonly, retain) UITapGestureRecognizer *singleTapGesture;
+@property (nonatomic, readonly, retain) UILongPressGestureRecognizer *loupeGesture;
+@end
+
+@protocol UIWKInteractionViewProtocol
+- (void)changeSelectionWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)state;
+
+- (void)changeSelectionWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch baseIsStart:(BOOL)baseIsStart;
+- (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;
+- (BOOL)pointIsInAssistedNode:(CGPoint)point;
+- (NSArray *)webSelectionRects;
+- (void)_cancelLongPressGestureRecognizer;
+
+@optional
+- (void)changeSelectionWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch baseIsStart:(BOOL)baseIsStart withFlags:(UIWKSelectionFlags)flags;
+- (void)changeBlockSelectionWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch forHandle:(UIWKHandlePosition)handle;
+- (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
+
+typedef enum {
+    UIWebSelectionModeWeb = 0,
+    UIWebSelectionModeTextOnly = 1,
+} UIWebSelectionMode;
+
+@protocol UIWebFormAccessoryDelegate;
+
+@interface UIWebFormAccessory : UIInputView
+@end
+
+@interface UIWebFormAccessory (Details)
+- (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;
+@end
+
+@protocol UIWebFormAccessoryDelegate
+- (void)accessoryAutoFill;
+- (void)accessoryClear;
+- (void)accessoryDone;
+- (void)accessoryTab:(BOOL)isNext;
+@end
+
+@interface UIWebGeolocationPolicyDecider : NSObject
+@end
+
+@interface UIWebGeolocationPolicyDecider (Details)
++ (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;
+
+struct _UIWebTouchPoint {
+    CGPoint locationInScreenCoordinates;
+    CGPoint locationInDocumentCoordinates;
+    unsigned identifier;
+    UITouchPhase phase;
+    CGFloat majorRadiusInScreenCoordinates;
+};
+
+struct _UIWebTouchEvent {
+    UIWebTouchEventType type;
+    NSTimeInterval timestamp;
+    CGPoint locationInScreenCoordinates;
+    CGPoint locationInDocumentCoordinates;
+    CGFloat scale;
+    CGFloat rotation;
+
+    bool inJavaScriptGesture;
+
+    struct _UIWebTouchPoint* touchPoints;
+    unsigned touchPointCount;
+};
+
+@protocol UIWebTouchEventsGestureRecognizerDelegate
+- (BOOL)isAnyTouchOverActiveArea:(NSSet *)touches;
+- (BOOL)shouldIgnoreWebTouch;
+@end
+
+@interface UIWebTouchEventsGestureRecognizer : UIGestureRecognizer
+@end
+
+@interface UIWebTouchEventsGestureRecognizer (Details)
+- (id)initWithTarget:(id)target action:(SEL)action touchDelegate:(id <UIWebTouchEventsGestureRecognizerDelegate>)delegate;
+@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;
+@end
+
+typedef NS_ENUM(NSInteger, _UIBackdropViewStylePrivate) {
+    _UIBackdropViewStyle_Light = 2020,
+};
+
+@interface _UIBackdropView : UIView
+@end
+
+@interface _UIBackdropView (_UIBackdropViewDetails)
+- (instancetype)initWithPrivateStyle:(_UIBackdropViewStylePrivate)style;
+@property (nonatomic, strong, readonly) UIView *contentView;
+@end
+
+@interface _UIHighlightView : UIView
+@end
+
+@interface _UIHighlightView (Details)
+- (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 (Details)
+- (instancetype) initWithCurrentOperation:(UINavigationControllerOperation)operation;
+@end
+
+@protocol _UINavigationInteractiveTransitionBaseDelegate;
+
+@interface _UINavigationInteractiveTransitionBase : UIPercentDrivenInteractiveTransition <UIGestureRecognizerDelegate>
+@end
+
+@interface _UINavigationInteractiveTransitionBase (Details)
+- (id)initWithGestureRecognizerView:(UIView *)gestureRecognizerView animator:(id<UIViewControllerAnimatedTransitioning>)animator delegate:(id<_UINavigationInteractiveTransitionBaseDelegate>)delegate;
+@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 UIWindow (Details)
++ (mach_port_t)_synchronizeDrawingAcrossProcesses;
+@end
+
+@interface UIWebScrollView : UIScrollView
+@end
+
+@interface UIWebTiledView : UIView
+@end
+
+@interface UIWebDocumentView : UIWebTiledView
+@end
+
+@interface UIWebBrowserView : UIWebDocumentView
+@end
+
+@interface UIWebBrowserView (Details)
+- (WebView *)webView;
+- (void)sendScrollEventIfNecessaryWasUserScroll:(BOOL)userScroll;
+@end
+
+#endif // USE(APPLE_INTERNAL_SDK)
+
+@interface UIView (IPI)
+- (UIScrollView *)_scroller;
+- (CGPoint)accessibilityConvertPointFromSceneReferenceCoordinates:(CGPoint)point;
+- (CGRect)accessibilityConvertRectToSceneReferenceCoordinates:(CGRect)rect;
+@end
+
+WTF_EXTERN_C_BEGIN
+
+BOOL UIKeyboardEnabledInputModesAllowOneToManyShortcuts();
+BOOL UIKeyboardEnabledInputModesAllowChineseTransliterationForText(NSString *);
+BOOL UIKeyboardCurrentInputModeAllowsChineseOrJapaneseReanalysisForText(NSString *);
+
+extern const float UITableCellDefaultFontSize;
+extern const float UITableViewCellDefaultFontSize;
+
+extern NSString * const UIWindowDidMoveToScreenNotification;
+extern NSString * const UIWindowDidRotateNotification;
+extern NSString * const UIWindowNewScreenUserInfoKey;
+extern NSString * const UIWindowWillRotateNotification;
+
+extern UIApplication *UIApp;
+
+BOOL _UIApplicationUsesLegacyUI(void);
+
+void UIImageDataWriteToSavedPhotosAlbum(NSData *imageData, id completionTarget, SEL completionSelector, void *contextInfo);
+
+WTF_EXTERN_C_END
index 61438e6..e6c38b8 100644 (file)
@@ -29,7 +29,6 @@
 #if PLATFORM(IOS)
 
 #import "DataReference.h"
-#import <CFNetwork/CFURLDownload.h>
 #import <WebCore/NotImplemented.h>
 #import <WebCore/ResourceError.h>
 #import <WebCore/ResourceHandle.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/RunLoop.h>
 
+#if USE(CFNETWORK)
+#import <CFNetwork/CFURLDownload.h>
+#endif
+
 using namespace WebCore;
 
 namespace WebKit {
 
+#if USE(CFNETWORK)
 // FIXME: If possible, we should consider moving some callbacks off the main thread or at least
 // making them asynchonous calls.
 static void dispatchOnMainThread(void(^block)())
@@ -121,6 +125,7 @@ static void setUpDownloadClient(CFURLDownloadClient& client, Download& download)
         });
     };
 }
+#endif // USE(CFNETWORK)
 
 void Download::start()
 {
@@ -134,9 +139,13 @@ void Download::resume(const IPC::DataReference&, const String&, const SandboxExt
 
 void Download::startWithHandle(ResourceHandle* handle, const ResourceResponse& response)
 {
+#if USE(CFNETWORK)
     CFURLDownloadClient client;
     setUpDownloadClient(client, *this);
     m_download = adoptCF(CFURLDownloadCreateAndStartWithLoadingConnection(NULL, handle->releaseConnectionForDownload().get(), m_request.cfURLRequest(UpdateHTTPBody), response.cfURLResponse(), &client));
+#else
+    notImplemented();
+#endif
 }
 
 void Download::cancel()
index d95cefd..b09ce59 100644 (file)
@@ -26,8 +26,8 @@
 #import "config.h"
 #import "ChildProcessEntryPoint.h"
 
+#import <WebCore/ServersSPI.h>
 #import <mach/mach_error.h>
-#import <servers/bootstrap.h>
 #import <stdio.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/text/CString.h>
index dab2d03..8c5e4e1 100644 (file)
 #import "config.h"
 #import "NativeWebTouchEvent.h"
 
-#if PLATFORM(IOS)
+#if PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)
 
+#import "UIKitSPI.h"
 #import "WebEvent.h"
 #import <UIKit/UITouch.h>
-#import <UIKit/UIWebTouchEventsGestureRecognizer.h>
 #import <WebCore/IntPoint.h>
 #import <WebCore/WAKAppKitStubs.h>
 #import <wtf/CurrentTime.h>
@@ -98,4 +98,4 @@ NativeWebTouchEvent::NativeWebTouchEvent(const _UIWebTouchEvent* event)
 
 } // namespace WebKit
 
-#endif // PLATFORM(IOS)
+#endif // PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)
index e714a86..315b81e 100644 (file)
@@ -27,6 +27,7 @@
 #include "SandboxUtilities.h"
 
 #include <array>
+#include <sys/param.h>
 #include <wtf/text/WTFString.h>
 
 #if __has_include(<sandbox/private.h>)
index 2b18206..6859f77 100644 (file)
 #import "ProcessThrottler.h"
 #import "RemoteLayerTreeDrawingAreaProxy.h"
 #import "RemoteScrollingCoordinatorProxy.h"
+#import "UIKitSPI.h"
 #import "WKPDFView.h"
 #import "WKScrollView.h"
 #import "WKWebViewContentProviderRegistry.h"
 #import "WebPageMessages.h"
 #import "WebVideoFullscreenManagerProxy.h"
 #import <UIKit/UIApplication.h>
-#import <UIKit/UIDevice_Private.h>
-#import <UIKit/UIPeripheralHost_Private.h>
-#import <UIKit/UIWindow_Private.h>
 #import <WebCore/CoreGraphicsSPI.h>
 #import <WebCore/InspectorOverlay.h>
 #import <WebCore/QuartzCoreSPI.h>
index 6233da9..5255037 100644 (file)
@@ -38,7 +38,7 @@
 #import <wtf/RetainPtr.h>
 
 #if PLATFORM(IOS)
-#import <UIKit/UIDevice_Private.h>
+#import "UIKitSPI.h"
 #endif
 
 template<typename T> class LazyInitialized {
index 8b2df3d..8d405cb 100644 (file)
 #import <wtf/RetainPtr.h>
 
 #if PLATFORM(IOS)
+#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import <WebCore/FloatRect.h>
-#import <UIKit/UIScrollView_Private.h>
 #endif
 
 #if PLATFORM(IOS)
index 9d10c41..ae39885 100644 (file)
@@ -29,6 +29,7 @@
 #if PLATFORM(IOS)
 
 #import "RemoteLayerTreeTransaction.h"
+#import "UIKitSPI.h"
 #import "ViewGestureController.h"
 #import "WKAPICast.h"
 #import "WKBrowsingContextGroupPrivate.h"
 #import "WKScrollView.h"
 #import "WebPageProxy.h"
 #import "WebProcessPool.h"
-#import <UIKit/UIImage_Private.h>
-#import <UIKit/UIPeripheralHost_Private.h>
 #import <UIKit/UIScreen.h>
-#import <UIKit/UIScrollView_Private.h>
-#import <UIKit/UIWindow_Private.h>
 #import <wtf/RetainPtr.h>
 
 using namespace WebKit;
index a7658f9..58fec0b 100644 (file)
 
 #import "DynamicLinkerEnvironmentExtractor.h"
 #import "EnvironmentVariables.h"
+#import <WebCore/ServersSPI.h>
 #import <WebCore/SoftLinking.h>
 #import <WebCore/WebCoreNSStringExtras.h>
 #import <crt_externs.h>
 #import <mach-o/dyld.h>
 #import <mach/machine.h>
-#import <servers/bootstrap.h>
 #import <spawn.h>
 #import <sys/param.h>
 #import <sys/stat.h>
@@ -45,9 +45,6 @@
 #import <wtf/text/CString.h>
 #import <wtf/text/WTFString.h>
 
-// FIXME: We should be doing this another way.
-extern "C" kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, uint64_t);
-
 #if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
 // FIXME: Soft linking is temporary, make this into a regular function call once this function is available everywhere we need.
 SOFT_LINK_FRAMEWORK(CoreFoundation)
@@ -499,9 +496,12 @@ static void createProcess(const ProcessLauncher::LaunchOptions& launchOptions, b
 
     args.append(nullptr);
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
     // Register ourselves.
     kern_return_t kr = bootstrap_register2(bootstrap_port, const_cast<char*>(serviceName.data()), listeningPort, 0);
     ASSERT_UNUSED(kr, kr == KERN_SUCCESS);
+#pragma clang diagnostic pop
 
     posix_spawnattr_t attr;
     posix_spawnattr_init(&attr);
index 9fe9f9c..050d14b 100644 (file)
@@ -34,6 +34,7 @@
 #import "InteractionInformationAtPosition.h"
 #import "NativeWebKeyboardEvent.h"
 #import "NavigationState.h"
+#import "UIKitSPI.h"
 #import "ViewSnapshotStore.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
@@ -46,8 +47,6 @@
 #import "WebEditCommandProxy.h"
 #import "WebProcessProxy.h"
 #import "_WKDownloadInternal.h"
-#import <UIKit/UIImagePickerController_Private.h>
-#import <UIKit/UIWebTouchEventsGestureRecognizer.h>
 #import <WebCore/NotImplemented.h>
 #import <WebCore/PlatformScreen.h>
 #import <WebCore/SharedBuffer.h>
 
 #define MESSAGE_CHECK(assertion) MESSAGE_CHECK_BASE(assertion, m_webView->_page->process().connection())
 
-@interface UIView (IPI)
-- (UIScrollView *)_scroller;
-- (CGPoint)accessibilityConvertPointFromSceneReferenceCoordinates:(CGPoint)point;
-- (CGRect)accessibilityConvertRectToSceneReferenceCoordinates:(CGRect)rect;
-@end
-
 using namespace WebCore;
 using namespace WebKit;
 
index a80d820..2a2ca34 100644 (file)
@@ -28,7 +28,7 @@
 
 #if PLATFORM(IOS)
 
-#import <AssertionServices/BKSProcessAssertion.h>
+#import "BKSProcessAssertionSPI.h"
 #import <UIKit/UIApplication.h>
 
 #if !PLATFORM(IOS_SIMULATOR)
index 3d3727c..fb7b68e 100644 (file)
 #import "WebPageMessages.h"
 #import "WebPageProxy.h"
 #import "WebProcessProxy.h"
-#import <UIKit/UIKit.h>
 
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
 
-#import <UIKit/UIKit_Private.h>
+#import "UIKitSPI.h"
 
 #pragma clang diagnostic pop
 
index 3e50fda..8d391e5 100644 (file)
@@ -28,6 +28,7 @@
 
 #if PLATFORM(IOS)
 
+#import "UIKitSPI.h"
 #import "ViewGestureControllerMessages.h"
 #import "ViewGestureGeometryCollectorMessages.h"
 #import "ViewSnapshotStore.h"
 #import "WebPageProxy.h"
 #import "WebProcessProxy.h"
 #import <UIKit/UIScreenEdgePanGestureRecognizer.h>
-#import <UIKit/UIViewControllerTransitioning_Private.h>
-#import <UIKit/UIWebTouchEventsGestureRecognizer.h>
-#import <UIKit/_UINavigationInteractiveTransition.h>
-#import <UIKit/_UINavigationParallaxTransition.h>
 #import <WebCore/IOSurface.h>
 #import <WebCore/QuartzCoreSPI.h>
 #import <wtf/NeverDestroyed.h>
index bc5f5b7..e5c5879 100644 (file)
@@ -28,8 +28,7 @@
 
 #if PLATFORM(IOS)
 
-#import <UIKit/UIAlertController_Private.h>
-#import <UIKit/UIWindow_Private.h>
+#import "UIKitSPI.h"
 #import <wtf/RetainPtr.h>
 
 @implementation WKActionSheet {
index c5afa05..03eb19e 100644 (file)
@@ -25,9 +25,9 @@
 
 #if PLATFORM(IOS)
 
+#import "DataDetectorsUISPI.h"
 #import "GestureTypes.h"
 #import "WKActionSheet.h"
-#import <DataDetectorsUI/DDDetectionController.h>
 #import <UIKit/UIPopoverController.h>
 #import <wtf/RetainPtr.h>
 
index 53322b6..621bcb4 100644 (file)
 #if PLATFORM(IOS)
 
 #import "APIUIClient.h"
+#import "TCCSPI.h"
+#import "UIKitSPI.h"
 #import "WKActionSheet.h"
 #import "WKContentViewInteraction.h"
 #import "WeakObjCPtr.h"
 #import "WebPageProxy.h"
 #import "_WKActivatedElementInfoInternal.h"
 #import "_WKElementActionInternal.h"
-#import <DataDetectorsUI/DDAction.h>
-#import <DataDetectorsUI/DDDetectionController.h>
 #import <SafariServices/SSReadingList.h>
-#import <TCC/TCC.h>
-#import <UIKit/UIAlertController_Private.h>
 #import <UIKit/UIView.h>
-#import <UIKit/UIViewController_Private.h>
-#import <UIKit/UIWindow_Private.h>
 #import <WebCore/LocalizedStrings.h>
 #import <WebCore/SoftLinking.h>
 #import <WebCore/WebCoreNSURLExtras.h>
@@ -55,14 +51,6 @@ SOFT_LINK_PRIVATE_FRAMEWORK(TCC)
 SOFT_LINK(TCC, TCCAccessPreflight, TCCAccessPreflightResult, (CFStringRef service, CFDictionaryRef options), (service, options))
 SOFT_LINK_CONSTANT(TCC, kTCCServicePhotos, CFStringRef)
 
-SOFT_LINK_PRIVATE_FRAMEWORK(DataDetectorsUI)
-SOFT_LINK_CLASS(DataDetectorsUI, DDDetectionController)
-
-// FIXME: This will be removed as soon as <rdar://problem/16346913> is fixed.
-@interface DDDetectionController (WKDDActionPrivate)
-- (NSArray *)actionsForAnchor:(id)anchor url:(NSURL *)targetURL forFrame:(id)frame;
-@end
-
 using namespace WebKit;
 
 @implementation WKActionSheetAssistant {
index 9ce2f3d..f0f0b11 100644 (file)
@@ -32,6 +32,7 @@
 #import "RemoteLayerTreeDrawingAreaProxy.h"
 #import "RemoteScrollingCoordinatorProxy.h"
 #import "SmartMagnificationController.h"
+#import "UIKitSPI.h"
 #import "WKBrowsingContextControllerInternal.h"
 #import "WKBrowsingContextGroupPrivate.h"
 #import "WKInspectorHighlightView.h"
@@ -46,7 +47,6 @@
 #import "WebProcessPool.h"
 #import "WebSystemInterface.h"
 #import <CoreGraphics/CoreGraphics.h>
-#import <UIKit/UIWindow_Private.h>
 #import <WebCore/FloatQuad.h>
 #import <WebCore/FrameView.h>
 #import <WebCore/InspectorOverlay.h>
 #import <wtf/CurrentTime.h>
 #import <wtf/RetainPtr.h>
 
-@interface CALayer (Details)
-@property BOOL hitTestsAsOpaque;
-@end
-
 using namespace WebCore;
 using namespace WebKit;
 
index 56bfdbd..b219140 100644 (file)
 #import "AssistedNodeInformation.h"
 #import "GestureTypes.h"
 #import "InteractionInformationAtPosition.h"
+#import "UIKitSPI.h"
 #import "WKActionSheetAssistant.h"
 #import "WKAirPlayRoutePicker.h"
 #import "WKFileUploadPanel.h"
 #import "WKFormPeripheral.h"
 #import "WKSyntheticClickTapGestureRecognizer.h"
-#import <UIKit/UITextInput_Private.h>
 #import <UIKit/UIView.h>
-#import <UIKit/UIWKSelectionAssistant.h>
-#import <UIKit/UIWKTextInteractionAssistant.h>
-#import <UIKit/UIWebFormAccessory.h>
-#import <UIKit/UIWebTouchEventsGestureRecognizer.h>
 #import <WebCore/Color.h>
 #import <WebCore/FloatQuad.h>
 #import <wtf/Forward.h>
index 731fae8..4359081 100644 (file)
 #if PLATFORM(IOS)
 
 #import "APIUIClient.h"
+#import "DataDetectorsUISPI.h"
 #import "EditingRange.h"
+#import "ManagedConfigurationSPI.h"
 #import "NativeWebKeyboardEvent.h"
 #import "NativeWebTouchEvent.h"
 #import "SmartMagnificationController.h"
+#import "TextInputSPI.h"
+#import "UIKitSPI.h"
 #import "WKActionSheetAssistant.h"
 #import "WKFormInputControl.h"
 #import "WKFormSelectControl.h"
 #import "WebProcessProxy.h"
 #import "_WKFormDelegate.h"
 #import "_WKFormInputSession.h"
+#import <CoreText/CTFont.h>
 #import <CoreText/CTFontDescriptor.h>
-#import <DataDetectorsUI/DDDetectionController.h>
-#import <ManagedConfiguration/MCFeatures.h>
-#import <ManagedConfiguration/MCProfileConnection.h>
-#import <TextInput/TI_NSStringExtras.h>
-#import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIFont_Private.h>
-#import <UIKit/UIGestureRecognizer_Private.h>
-#import <UIKit/UIKeyboardImpl.h>
-#import <UIKit/UIKeyboardIntl.h>
-#import <UIKit/UILongPressGestureRecognizer_Private.h>
-#import <UIKit/UITapGestureRecognizer_Private.h>
-#import <UIKit/UITextInteractionAssistant_Private.h>
-#import <UIKit/UIWebDocumentView.h> // FIXME: should not include this header.
-#import <UIKit/_UIWebHighlightLongPressGestureRecognizer.h>
 #import <WebCore/Color.h>
+#import <WebCore/CoreGraphicsSPI.h>
 #import <WebCore/FloatQuad.h>
 #import <WebCore/SoftLinking.h>
 #import <WebCore/WebEvent.h>
-#import <WebCore/_UIHighlightViewSPI.h>
 #import <WebKit/WebSelectionRect.h> // FIXME: WK2 should not include WebKit headers!
 #import <wtf/RetainPtr.h>
 
-SOFT_LINK_PRIVATE_FRAMEWORK(DataDetectorsUI)
-SOFT_LINK_CLASS(DataDetectorsUI, DDDetectionController)
-SOFT_LINK_PRIVATE_FRAMEWORK(ManagedConfiguration);
-SOFT_LINK_CLASS(ManagedConfiguration, MCProfileConnection);
-SOFT_LINK_CONSTANT(ManagedConfiguration, MCFeatureDefinitionLookupAllowed, NSString *)
-
-#define MCFeatureDefinitionLookupAllowed getMCFeatureDefinitionLookupAllowed()
-
 using namespace WebCore;
 using namespace WebKit;
 
index 9bda7b0..0d7fa0a 100644 (file)
@@ -28,8 +28,8 @@
 
 #if PLATFORM(IOS)
 
+#import "UIKitSPI.h"
 #import <Foundation/NSURL.h>
-#import <UIKit/UIWebGeolocationPolicyDecider.h>
 #import <UIKit/UIWindow.h>
 #import <WebCore/SecurityOrigin.h>
 #import <wtf/RetainPtr.h>
index b88a4bb..165102d 100644 (file)
 
 #if PLATFORM(IOS)
 
-#import <UIKit/UIGeometry_Private.h>
-#import <UIKit/UIKit.h>
-#import <UIKit/UIView_Private.h>
-#import <UIKit/_UIBackdropView_Private.h>
+#import "UIKitSPI.h"
 #import <WebCore/LocalizedStrings.h>
 #import <WebCore/QuartzCoreSPI.h>
 #import <wtf/RetainPtr.h>
index 5bafb59..d83d9ff 100644 (file)
 
 #if PLATFORM(IOS)
 
+#import "CorePDFSPI.h"
 #import "WKActionSheetAssistant.h"
 #import "WKWebViewContentProvider.h"
-#import <CorePDF/UIPDFAnnotationController.h>
-#import <CorePDF/UIPDFPageView.h>
 #import <UIKit/UIView.h>
 
 @interface WKPDFView : UIView <WKWebViewContentProvider, UIPDFPageViewDelegate, UIPDFAnnotationControllerDelegate, WKActionSheetAssistantDelegate>
index 60fef51..e2495e4 100644 (file)
 #if PLATFORM(IOS)
 
 #import "APIUIClient.h"
+#import "CorePDFSPI.h"
 #import "SessionState.h"
+#import "UIKitSPI.h"
 #import "WKPDFPageNumberIndicator.h"
 #import "WKWebViewInternal.h"
 #import "WebPageProxy.h"
-#import <CorePDF/UIPDFDocument.h>
-#import <CorePDF/UIPDFLinkAnnotation.h>
-#import <CorePDF/UIPDFPage.h>
-#import <CorePDF/UIPDFPageView.h>
 #import <MobileCoreServices/UTCoreTypes.h>
-#import <UIKit/UIScrollView_Private.h>
 #import <WebCore/FloatRect.h>
-#import <WebCore/_UIHighlightViewSPI.h>
 #import <wtf/RetainPtr.h>
 #import <wtf/Vector.h>
 
index e397125..1748601 100644 (file)
@@ -25,7 +25,7 @@
 
 #if PLATFORM(IOS)
 
-#import <UIKit/UIWebScrollView.h>
+#import "UIKitSPI.h"
 
 @class WKWebView;
 
index b9ed7e7..167d195 100644 (file)
@@ -25,7 +25,7 @@
 
 #if PLATFORM(IOS)
 
-#import <UIKit/UITapGestureRecognizer_Private.h>
+#import "UIKitSPI.h"
 
 @interface WKSyntheticClickTapGestureRecognizer : UITapGestureRecognizer
 - (void)setGestureRecognizedTarget:(id)target action:(SEL)action;
index 656835a..53ddd01 100644 (file)
@@ -29,6 +29,7 @@
 #if PLATFORM(IOS)
 
 #import "RemoteLayerTreeDrawingAreaProxy.h"
+#import "UIKitSPI.h"
 #import "WebPageProxy.h"
 #import "WebProcessProxy.h"
 #import "WebVideoFullscreenManagerMessages.h"
 #import <WebCore/TimeRanges.h>
 #import <WebKitSystemInterface.h>
 
-#if USE(APPLE_INTERNAL_SDK)
-#import <UIKit/UIWindow_Private.h>
-#else
-#import <UIKit/UIWindow.h>
-@interface UIWindow (Details)
-+ (mach_port_t)_synchronizeDrawingAcrossProcesses;
-@end
-#endif
-
 using namespace WebCore;
 
 namespace WebKit {
index c026fba..1f1d7ab 100644 (file)
 
 #if PLATFORM(IOS)
 
+#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WebPageProxy.h"
-#import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIWindow_Private.h>
 #import <WebCore/MediaPlayerSPI.h>
 #import <WebCore/SoftLinking.h>
 #import <wtf/RetainPtr.h>
index a5b5c14..59fccbf 100644 (file)
@@ -31,6 +31,7 @@
 #import "APIArray.h"
 #import "APIData.h"
 #import "APIString.h"
+#import "UIKitSPI.h"
 #import "WKContentViewInteraction.h"
 #import "WKData.h"
 #import "WKStringCF.h"
 #import <AVFoundation/AVFoundation.h>
 #import <CoreMedia/CoreMedia.h>
 #import <MobileCoreServices/MobileCoreServices.h>
-#import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIImagePickerController_Private.h>
-#import <UIKit/UIImage_Private.h>
-#import <UIKit/UIViewController_Private.h>
-#import <UIKit/UIWindow_Private.h>
 #import <WebCore/LocalizedStrings.h>
 #import <WebCore/SoftLinking.h>
 #import <WebKit/WebNSFileManagerExtras.h>
index ac00ce8..19c1a3f 100644 (file)
 
 #if PLATFORM(IOS)
 
+#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
 #import "WebPageProxy.h"
 #import <UIKit/UIBarButtonItem.h>
-#import <UIKit/UIBarButtonItem_Private.h>
 #import <UIKit/UIDatePicker.h>
-#import <UIKit/UIDatePicker_Private.h>
-#import <UIKit/UIDevice_Private.h>
-#import <UIKit/UIKeyboard_Private.h>
 #import <WebCore/LocalizedStrings.h>
 #import <wtf/RetainPtr.h>
 
index fc99a7e..91cfb66 100644 (file)
 
 #if PLATFORM(IOS)
 
+#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WebPageProxy.h"
-#import <UIKit/UIPeripheralHost.h>
-#import <UIKit/UIWindow_Private.h>
 #import <wtf/RetainPtr.h>
 
 using namespace WebKit;
index e59bfc9..d65f06a 100644 (file)
 #if PLATFORM(IOS)
 
 #import "AssistedNodeInformation.h"
+#import "UIKitSPI.h"
 #import "WKFormPeripheral.h"
 #import "WKFormPopover.h"
 #import <UIKit/UIPickerView.h>
-#import <UIKit/UIPickerView_Private.h>
 
 CGFloat adjustedFontSize(CGFloat textWidth, UIFont *, CGFloat initialFontSize, const Vector<WebKit::OptionItem>& items);
 
index 1132e2a..dd0e1ee 100644 (file)
 
 #if PLATFORM(IOS)
 
+#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
 #import "WebPageProxy.h"
-#import <CoreFoundation/CFUniChar.h>
-#import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIDevice_Private.h>
-#import <UIKit/UIKeyboard_Private.h>
 #import <UIKit/UIPickerView.h>
-#import <UIKit/UIPickerView_Private.h>
-#import <UIKit/UIStringDrawing_Private.h>
-#import <UIKit/UIWebFormAccessory.h>
 #import <wtf/RetainPtr.h>
 
 using namespace WebKit;
index 30ead04..f37be07 100644 (file)
 
 #if PLATFORM(IOS)
 
+#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
 #import "WebPageProxy.h"
-#import <CoreFoundation/CFUniChar.h>
-#import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIDevice_Private.h>
-#import <UIKit/UIKeyboard_Private.h>
-#import <UIKit/UIPickerContentView_Private.h>
 #import <wtf/RetainPtr.h>
 
 using namespace WebKit;
index a592a2b..9ec1516 100644 (file)
 
 #if PLATFORM(IOS)
 
+#import "UIKitSPI.h"
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
 #import "WebPageProxy.h"
-#import <CoreFoundation/CFUniChar.h>
-#import <UIKit/UIApplication_Private.h>
-#import <UIKit/UIDevice_Private.h>
-#import <UIKit/UIKeyboard_Private.h>
-#import <UIKit/UIKeyboardImpl.h>
 #import <UIKit/UIPickerView.h>
-#import <UIKit/UIPickerView_Private.h>
-#import <UIKit/UITableViewCell_Private.h>
-#import <UIKit/UIStringDrawing_Private.h>
-#import <UIKit/UIWebFormAccessory.h>
 #import <WebCore/LocalizedStrings.h>
 #import <wtf/RetainPtr.h>
 
index 11daea4..32f020c 100644 (file)
                CDCA85C8132ABA4E00E961DF /* WKFullScreenWindowController.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDCA85C6132ABA4E00E961DF /* WKFullScreenWindowController.mm */; };
                CDCA85C9132ABA4E00E961DF /* WKFullScreenWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = CDCA85C7132ABA4E00E961DF /* WKFullScreenWindowController.h */; };
                CDE6E2D319F731C400BA9688 /* WebOriginDataManagerSupplement.h in Headers */ = {isa = PBXBuildFile; fileRef = CDE6E2D219F731C400BA9688 /* WebOriginDataManagerSupplement.h */; };
+               CE1A0BD21A48E6C60054EF74 /* BKSProcessAssertionSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BCC1A48E6C60054EF74 /* BKSProcessAssertionSPI.h */; };
+               CE1A0BD31A48E6C60054EF74 /* CorePDFSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BCD1A48E6C60054EF74 /* CorePDFSPI.h */; };
+               CE1A0BD41A48E6C60054EF74 /* DataDetectorsUISPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BCE1A48E6C60054EF74 /* DataDetectorsUISPI.h */; };
+               CE1A0BD51A48E6C60054EF74 /* ManagedConfigurationSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BCF1A48E6C60054EF74 /* ManagedConfigurationSPI.h */; };
+               CE1A0BD61A48E6C60054EF74 /* TCCSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BD01A48E6C60054EF74 /* TCCSPI.h */; };
+               CE1A0BD71A48E6C60054EF74 /* TextInputSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CE1A0BD11A48E6C60054EF74 /* TextInputSPI.h */; };
                CEDA12E2152CD1AE00D9E08D /* WebAlternativeTextClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEDA12DF152CCAE800D9E08D /* WebAlternativeTextClient.cpp */; };
                CEDA12E3152CD1B300D9E08D /* WebAlternativeTextClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA12DE152CCAE800D9E08D /* WebAlternativeTextClient.h */; };
                CEDBA84719FDA00A006866A5 /* WebSQLiteDatabaseTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEDBA84519FDA00A006866A5 /* WebSQLiteDatabaseTracker.cpp */; };
                CEDBA84819FDA00A006866A5 /* WebSQLiteDatabaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDBA84619FDA00A006866A5 /* WebSQLiteDatabaseTracker.h */; };
+               CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CEE4AE2A1A5DCF430002F49B /* UIKitSPI.h */; };
                D3B9484611FF4B6500032B39 /* WebPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3B9484211FF4B6500032B39 /* WebPopupMenu.cpp */; };
                D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B9484311FF4B6500032B39 /* WebPopupMenu.h */; };
                D3B9484811FF4B6500032B39 /* WebSearchPopupMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D3B9484411FF4B6500032B39 /* WebSearchPopupMenu.cpp */; };
                CDCA85C7132ABA4E00E961DF /* WKFullScreenWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFullScreenWindowController.h; sourceTree = "<group>"; };
                CDCA85D4132AC2B300E961DF /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
                CDE6E2D219F731C400BA9688 /* WebOriginDataManagerSupplement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebOriginDataManagerSupplement.h; path = OriginData/WebOriginDataManagerSupplement.h; sourceTree = "<group>"; };
+               CE1A0BCC1A48E6C60054EF74 /* BKSProcessAssertionSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BKSProcessAssertionSPI.h; sourceTree = "<group>"; };
+               CE1A0BCD1A48E6C60054EF74 /* CorePDFSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CorePDFSPI.h; sourceTree = "<group>"; };
+               CE1A0BCE1A48E6C60054EF74 /* DataDetectorsUISPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataDetectorsUISPI.h; sourceTree = "<group>"; };
+               CE1A0BCF1A48E6C60054EF74 /* ManagedConfigurationSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ManagedConfigurationSPI.h; sourceTree = "<group>"; };
+               CE1A0BD01A48E6C60054EF74 /* TCCSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TCCSPI.h; sourceTree = "<group>"; };
+               CE1A0BD11A48E6C60054EF74 /* TextInputSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextInputSPI.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>"; };
                CEDBA84519FDA00A006866A5 /* WebSQLiteDatabaseTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebSQLiteDatabaseTracker.cpp; sourceTree = "<group>"; };
                CEDBA84619FDA00A006866A5 /* WebSQLiteDatabaseTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSQLiteDatabaseTracker.h; 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>"; };
                                3709504218A88CDE0087AE5D /* foundation */,
                                1AE00D6818327C1200087DD7 /* IPC */,
                                1A7E814E1152D2240003695B /* mac */,
+                               CE1A0BCA1A48E6C60054EF74 /* spi */,
                                51B15A7D138439B200321AD8 /* unix */,
                                51A7F2F4125BF8D4008AEB1D /* Logging.cpp */,
                                51A7F2F2125BF820008AEB1D /* Logging.h */,
                        path = FullScreen/mac;
                        sourceTree = "<group>";
                };
+               CE1A0BCA1A48E6C60054EF74 /* spi */ = {
+                       isa = PBXGroup;
+                       children = (
+                               CE1A0BCB1A48E6C60054EF74 /* ios */,
+                       );
+                       path = spi;
+                       sourceTree = "<group>";
+               };
+               CE1A0BCB1A48E6C60054EF74 /* ios */ = {
+                       isa = PBXGroup;
+                       children = (
+                               CE1A0BCC1A48E6C60054EF74 /* BKSProcessAssertionSPI.h */,
+                               CE1A0BCD1A48E6C60054EF74 /* CorePDFSPI.h */,
+                               CE1A0BCE1A48E6C60054EF74 /* DataDetectorsUISPI.h */,
+                               CE1A0BCF1A48E6C60054EF74 /* ManagedConfigurationSPI.h */,
+                               CE1A0BD01A48E6C60054EF74 /* TCCSPI.h */,
+                               CE1A0BD11A48E6C60054EF74 /* TextInputSPI.h */,
+                               CEE4AE2A1A5DCF430002F49B /* UIKitSPI.h */,
+                       );
+                       path = ios;
+                       sourceTree = "<group>";
+               };
                E170876D16D6CA7200F99226 /* FileAPI */ = {
                        isa = PBXGroup;
                        children = (
                                518E8EF916B2091C00E91429 /* AuthenticationManager.h in Headers */,
                                512F58A312A883AD00629530 /* AuthenticationManagerMessages.h in Headers */,
                                7CD102DA1866770600ED429D /* AutoCorrectionCallback.h in Headers */,
+                               CE1A0BD21A48E6C60054EF74 /* BKSProcessAssertionSPI.h in Headers */,
                                E164A2F2191AF14E0010737D /* BlobDataFileReferenceWithSandboxExtension.h in Headers */,
                                E170876C16D6CA6900F99226 /* BlobRegistryProxy.h in Headers */,
                                4F601432155C5AA2001FBDE0 /* BlockingResponseMap.h in Headers */,
                                5136183E163126DA00A99DDE /* ConnectionStack.h in Headers */,
                                5106D7C418BDBE73000AB166 /* ContextMenuContextData.h in Headers */,
                                CDC3830C17212282008A2FC3 /* CookieStorageShimLibrary.h in Headers */,
+                               CE1A0BD31A48E6C60054EF74 /* CorePDFSPI.h in Headers */,
                                B878B615133428DC006888E9 /* CorrectionPanel.h in Headers */,
                                2989A414167D184B004F96D2 /* CustomProtocolManager.h in Headers */,
                                2984F589164BA095004BC0C6 /* CustomProtocolManagerMessages.h in Headers */,
                                517DD5BF180DA7D30081660B /* DatabaseProcessProxy.h in Headers */,
                                512A976A180E09B80039A149 /* DatabaseProcessProxyMessages.h in Headers */,
                                51032F1E180F791700961BB7 /* DatabaseToWebProcessConnectionMessages.h in Headers */,
+                               CE1A0BD41A48E6C60054EF74 /* DataDetectorsUISPI.h in Headers */,
                                1AC75380183BE50F0072CB15 /* DataReference.h in Headers */,
                                BCE81D99131AE02100241910 /* DictionaryPopupInfo.h in Headers */,
                                518E8F0816B2093700E91429 /* Download.h in Headers */,
                                51A7F2F3125BF820008AEB1D /* Logging.h in Headers */,
                                BCC56F791159957D001CCAF9 /* MachPort.h in Headers */,
                                1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */,
+                               CE1A0BD51A48E6C60054EF74 /* ManagedConfigurationSPI.h in Headers */,
                                51933DEF1965EB31008AC3EA /* MenuUtilities.h in Headers */,
                                1A232903162C867300D82F7A /* MessageDecoder.h in Headers */,
                                1A2328FF162C866A00D82F7A /* MessageEncoder.h in Headers */,
                                1AB31A9716BC688100F6DBC9 /* StorageManagerMessages.h in Headers */,
                                1AE00D6C18327C1200087DD7 /* StringReference.h in Headers */,
                                296BD85D15019BC30071F424 /* StringUtilities.h in Headers */,
+                               CE1A0BD61A48E6C60054EF74 /* TCCSPI.h in Headers */,
                                1AA417CB12C00CCA002BE67B /* TextChecker.h in Headers */,
                                1QQ417CB12C00CCA002BE67B /* TextCheckerCompletion.h in Headers */,
                                1A5E4DA412D3BD3D0099A2BB /* TextCheckerState.h in Headers */,
+                               CE1A0BD71A48E6C60054EF74 /* TextInputSPI.h in Headers */,
                                1AAF263914687C39004A1E8A /* TiledCoreAnimationDrawingArea.h in Headers */,
                                1AF05D8714688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.h in Headers */,
                                1AFE436618B6C081009C7A48 /* UIDelegate.h in Headers */,
+                               CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */,
                                515E7730184015800007203F /* UniqueIDBDatabase.h in Headers */,
                                51654F00184EF34A007DC837 /* UniqueIDBDatabaseBackingStore.h in Headers */,
                                51654EFE184EF33F007DC837 /* UniqueIDBDatabaseBackingStoreSQLite.h in Headers */,
index b700ea5..68686dd 100644 (file)
@@ -31,8 +31,8 @@
 #import "StringUtilities.h"
 #import "WKBase.h"
 #import "WebProcess.h"
+#import <WebCore/ServersSPI.h>
 #import <mach/mach_error.h>
-#import <servers/bootstrap.h>
 #import <spawn.h>
 #import <stdio.h>
 #import <wtf/RetainPtr.h>
@@ -41,9 +41,9 @@
 #import <wtf/text/WTFString.h>
 
 #if PLATFORM(IOS)
-#import <GraphicsServices/GraphicsServices.h>
+#import <WebCore/GraphicsServicesSPI.h>
 #import <WebCore/WebCoreThreadSystemInterface.h>
-#endif // PLATFORM(IOS)
+#endif
 
 #if USE(APPKIT)
 @interface NSApplication (WebNSApplicationDetails)
@@ -51,8 +51,6 @@
 @end
 #endif
 
-extern "C" kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, uint64_t);
-
 using namespace WebCore;
 
 namespace WebKit {
@@ -97,10 +95,14 @@ public:
         mach_port_insert_right(mach_task_self(), publishedService, publishedService, MACH_MSG_TYPE_MAKE_SEND);
         // Make it possible to look up.
         String serviceName = String::format("com.apple.WebKit.WebProcess-%d", getpid());
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
         if (kern_return_t kr = bootstrap_register2(bootstrap_port, const_cast<char*>(serviceName.utf8().data()), publishedService, 0)) {
             WTFLogAlways("Failed to register service name \"%s\". %s (%x)\n", serviceName.utf8().data(), mach_error_string(kr), kr);
             return false;
         }
+#pragma clang diagnostic pop
 
         CString command = clientExecutable.utf8();
         const char* args[] = { command.data(), 0 };
index 209e02b..194fbcf 100644 (file)
@@ -32,9 +32,9 @@
 #import <wtf/RunLoop.h>
 
 #if PLATFORM(IOS)
-#import <GraphicsServices/GraphicsServices.h>
+#import <WebCore/GraphicsServicesSPI.h>
 #import <WebCore/WebCoreThreadSystemInterface.h>
-#endif // PLATFORM(IOS)
+#endif
 
 using namespace WebCore;
 using namespace WebKit;
index d40e7bc..d283c83 100644 (file)
 #include <wtf/ExportMacros.h>
 
 #ifdef __cplusplus
-#ifndef EXTERN_C_BEGIN
-#define EXTERN_C_BEGIN extern "C" {
-#endif
-#ifndef EXTERN_C_END
-#define EXTERN_C_END }
-#endif
-#else
-#define EXTERN_C_BEGIN
-#define EXTERN_C_END
-#endif
-
-#ifdef __cplusplus
 
 // These undefs match up with defines in WebKit2Prefix.h for Mac OS X.
 // Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
index c0fe503..c69147f 100644 (file)
@@ -1,3 +1,21 @@
+2015-01-07  Daniel Bates  <dabates@apple.com>
+
+        [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT
+        https://bugs.webkit.org/show_bug.cgi?id=137371
+
+        Reviewed by David Kilzer.
+
+        Use SPI wrapper headers instead of directly referencing private SPI headers.
+
+        * DumpRenderTree/ios/DumpRenderTreeBrowserView.h:
+        * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
+        * DumpRenderTree/mac/Configurations/Base.xcconfig: Append directory Source/WebKit2/Platform/spi/ios
+        to the list of iOS header search directories so that we can include header UIKitSPI.h.
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        * DumpRenderTree/mac/DumpRenderTreeWindow.h:
+        * DumpRenderTree/mac/EventSendingController.mm:
+        * DumpRenderTree/mac/TestRunnerMac.mm:
+
 2015-01-07  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r178068.
index 6264777..5bf4495 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 
-#import <UIKit/UIWebBrowserView.h>
+#import "UIKitSPI.h"
 
 @interface DumpRenderTreeBrowserView : UIWebBrowserView {
     BOOL _scrollingUsesUIWebScrollView;
index 72b526c..399141a 100644 (file)
 
 #import "DumpRenderTree.h"
 #import "DumpRenderTreeWindow.h"
+#import "UIKitSPI.h"
 
 #define COMMON_DIGEST_FOR_OPENSSL
 #import <CommonCrypto/CommonDigest.h>
 #import <MobileCoreServices/UTCoreTypes.h>
 #import <QuartzCore/QuartzCore.h>
-#import <UIKit/UIKit.h>
-#import <UIKit/UIView_Private.h>
-#import <UIKit/UIWebBrowserView.h>
 #import <WebKit/WebCoreThread.h>
 #import <wtf/RefCounted.h>
 #import <wtf/RefPtr.h>
index bd1749a..a184d85 100644 (file)
@@ -27,7 +27,7 @@ CLANG_CXX_LANGUAGE_STANDARD = gnu++0x;
 CLANG_CXX_LIBRARY = libc++;
 CLANG_WARN_CXX0X_EXTENSIONS = NO;
 HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport ForwardingHeaders $(HEADER_SEARCH_PATHS_$(PLATFORM_NAME)) $(SRCROOT)/../../Source/JavaScriptCore/icu;
-HEADER_SEARCH_PATHS_iphoneos = $(SDKROOT)/usr/local/include $(SDKROOT)/usr/local/include/WebCoreTestSupport;
+HEADER_SEARCH_PATHS_iphoneos = $(SDKROOT)/usr/local/include $(SDKROOT)/usr/local/include/WebCoreTestSupport $(SRCROOT)/../../Source/WebKit2/Platform/spi/ios;
 HEADER_SEARCH_PATHS_iphonesimulator = $(HEADER_SEARCH_PATHS_iphoneos);
 HEADER_SEARCH_PATHS_macosx = mac/InternalHeaders $(NEXT_ROOT)/usr/local/include/WebCoreTestSupport;
 FRAMEWORK_SEARCH_PATHS = $(FRAMEWORK_SEARCH_PATHS_$(PLATFORM_NAME));
index 76fe711..daba50e 100644 (file)
 
 #if PLATFORM(IOS)
 #import "DumpRenderTreeBrowserView.h"
+#import "UIKitSPI.h"
 #import <CoreGraphics/CGFontDB.h>
 #import <QuartzCore/QuartzCore.h>
-#import <UIKit/UIApplication_Private.h>
 #import <UIKit/UIMath.h>
-#import <UIKit/UIWebBrowserView.h>
-#import <UIKit/UIWebScrollView.h>
 #import <WebKit/WAKWindow.h>
 #import <WebKit/WebCoreThread.h>
 #import <WebKit/WebCoreThreadRun.h>
index d8c0b9d..6d7fcc4 100644 (file)
@@ -31,8 +31,7 @@
 #if !PLATFORM(IOS)
 #import <AppKit/AppKit.h>
 #else
-#import <UIKit/UIKit.h>
-#import <UIKit/UIWebBrowserView.h>
+#import "UIKitSPI.h"
 #import <WebKit/WAKWindow.h>
 #endif
 
index e034198..3746c62 100644 (file)
 #import <WebKit/WebViewPrivate.h>
 
 #if !PLATFORM(IOS)
-#import <Carbon/Carbon.h>                           // for GetCurrentEventTime()
+#import <Carbon/Carbon.h> // for GetCurrentEventTime()
 #endif
 
 #if PLATFORM(IOS)
-#import <GraphicsServices/GraphicsServices.h>       // for GSCurrentEventTimestamp()
+#import <WebCore/GraphicsServicesSPI.h> // for GSCurrentEventTimestamp()
 #import <WebKit/KeyEventCodesIOS.h>
 #import <WebKit/WAKWindow.h>
 #import <WebKit/WebEvent.h>
index 736c880..2a3965a 100644 (file)
@@ -81,7 +81,7 @@
 #endif
 
 #if PLATFORM(IOS)
-#import <UIKit/UIWebBrowserView.h>
+#import "UIKitSPI.h"
 #import <WebKit/WebCoreThread.h>
 #import <WebKit/WebCoreThreadMessage.h>
 #import <WebKit/WebDOMOperationsPrivate.h>