[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)
commit01a419d881ba0934290edfb3d7079864848e8adb
tree84d64621c8a99a9def44bd41cc4c24754a9329cc
parente373b997b812e4cfb420d506d379e4bf26f41a8c
[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.

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