[PlayStation] Enable WebKit
https://bugs.webkit.org/show_bug.cgi?id=205965

Reviewed by Ross Kirsling.

.:

Turn on build WebKit for the PlayStation port. Temporarily turn off API tests
until the WebKit tests are added.

* Source/cmake/OptionsPlayStation.cmake:

Source/WebKit:

Add the CMake platform for PlayStation. Add stubs for platform specific bits.
This gets us to linking through WebKit.

* Platform/unix/ModuleUnix.cpp: Added.
(WebKit::Module::load):
(WebKit::Module::unload):
(WebKit::Module::platformFunctionPointer const):
* PlatformPlayStation.cmake: Added.
* UIProcess/Launcher/playstation/ProcessLauncherPlayStation.cpp: Added.
(WebKit::ProcessLauncher::launchProcess):
(WebKit::ProcessLauncher::terminateProcess):
(WebKit::ProcessLauncher::platformInvalidate):
* UIProcess/WebPageProxy.h:
* UIProcess/WebsiteData/playstation/WebsiteDataStorePlayStation.cpp: Added.
(WebKit::WebsiteDataStore::platformInitialize):
(WebKit::WebsiteDataStore::platformDestroy):
(WebKit::WebsiteDataStore::platformRemoveRecentSearches):
(WebKit::WebsiteDataStore::defaultApplicationCacheDirectory):
(WebKit::WebsiteDataStore::defaultCacheStorageDirectory):
(WebKit::WebsiteDataStore::defaultNetworkCacheDirectory):
(WebKit::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(WebKit::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory):
(WebKit::WebsiteDataStore::defaultLocalStorageDirectory):
(WebKit::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(WebKit::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(WebKit::WebsiteDataStore::defaultResourceLoadStatisticsDirectory):
(WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
* UIProcess/playstation/WebPageProxyPlayStation.cpp: Added.
(WebKit::WebPageProxy::platformInitialize):
(WebKit::WebPageProxy::viewBackend):
(WebKit::WebPageProxy::standardUserAgent):
(WebKit::WebPageProxy::saveRecentSearches):
(WebKit::WebPageProxy::loadRecentSearches):
(WebKit::WebPageProxy::updateEditorState):
* UIProcess/playstation/WebProcessPoolPlayStation.cpp: Added.
(WebKit::WebProcessPool::platformInitialize):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInvalidateContext):
(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):
* WebProcess/InjectedBundle/playstation/InjectedBundlePlayStation.cpp: Added.
(WebKit::InjectedBundle::initialize):
(WebKit::InjectedBundle::setBundleParameter):
(WebKit::InjectedBundle::setBundleParameters):
* WebProcess/WebPage/playstation/WebPagePlayStation.cpp: Added.
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::platformReinitialize):
(WebKit::WebPage::platformDetach):
(WebKit::WebPage::performDefaultBehaviorForKeyEvent):
(WebKit::WebPage::platformCanHandleRequest):
(WebKit::WebPage::platformUserAgent const):
(WebKit::WebPage::handleEditingKeyboardEvent):
(WebKit::WebPage::platformEditorState const):
* WebProcess/playstation/WebProcessPlayStation.cpp: Added.
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformSetWebsiteDataStoreParameters):
(WebKit::WebProcess::platformTerminate):
(WebKit::WebProcess::platformSetCacheModel):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@254713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/ChangeLog b/ChangeLog
index db1f714..12c449d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2020-01-16  Don Olmstead  <don.olmstead@sony.com>
+
+        [PlayStation] Enable WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=205965
+
+        Reviewed by Ross Kirsling.
+
+        Turn on build WebKit for the PlayStation port. Temporarily turn off API tests
+        until the WebKit tests are added.
+
+        * Source/cmake/OptionsPlayStation.cmake:
+
 2020-01-16  Philippe Normand  <philn@igalia.com>
 
         [GStreamer][WPE] Client-side video rendering support
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index c6720c8..6ba20c4 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,70 @@
+2020-01-16  Don Olmstead  <don.olmstead@sony.com>
+
+        [PlayStation] Enable WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=205965
+
+        Reviewed by Ross Kirsling.
+
+        Add the CMake platform for PlayStation. Add stubs for platform specific bits.
+        This gets us to linking through WebKit.
+
+        * Platform/unix/ModuleUnix.cpp: Added.
+        (WebKit::Module::load):
+        (WebKit::Module::unload):
+        (WebKit::Module::platformFunctionPointer const):
+        * PlatformPlayStation.cmake: Added.
+        * UIProcess/Launcher/playstation/ProcessLauncherPlayStation.cpp: Added.
+        (WebKit::ProcessLauncher::launchProcess):
+        (WebKit::ProcessLauncher::terminateProcess):
+        (WebKit::ProcessLauncher::platformInvalidate):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebsiteData/playstation/WebsiteDataStorePlayStation.cpp: Added.
+        (WebKit::WebsiteDataStore::platformInitialize):
+        (WebKit::WebsiteDataStore::platformDestroy):
+        (WebKit::WebsiteDataStore::platformRemoveRecentSearches):
+        (WebKit::WebsiteDataStore::defaultApplicationCacheDirectory):
+        (WebKit::WebsiteDataStore::defaultCacheStorageDirectory):
+        (WebKit::WebsiteDataStore::defaultNetworkCacheDirectory):
+        (WebKit::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
+        (WebKit::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory):
+        (WebKit::WebsiteDataStore::defaultLocalStorageDirectory):
+        (WebKit::WebsiteDataStore::defaultMediaKeysStorageDirectory):
+        (WebKit::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
+        (WebKit::WebsiteDataStore::defaultResourceLoadStatisticsDirectory):
+        (WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
+        (WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
+        * UIProcess/playstation/WebPageProxyPlayStation.cpp: Added.
+        (WebKit::WebPageProxy::platformInitialize):
+        (WebKit::WebPageProxy::viewBackend):
+        (WebKit::WebPageProxy::standardUserAgent):
+        (WebKit::WebPageProxy::saveRecentSearches):
+        (WebKit::WebPageProxy::loadRecentSearches):
+        (WebKit::WebPageProxy::updateEditorState):
+        * UIProcess/playstation/WebProcessPoolPlayStation.cpp: Added.
+        (WebKit::WebProcessPool::platformInitialize):
+        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
+        (WebKit::WebProcessPool::platformInitializeWebProcess):
+        (WebKit::WebProcessPool::platformInvalidateContext):
+        (WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):
+        * WebProcess/InjectedBundle/playstation/InjectedBundlePlayStation.cpp: Added.
+        (WebKit::InjectedBundle::initialize):
+        (WebKit::InjectedBundle::setBundleParameter):
+        (WebKit::InjectedBundle::setBundleParameters):
+        * WebProcess/WebPage/playstation/WebPagePlayStation.cpp: Added.
+        (WebKit::WebPage::platformInitialize):
+        (WebKit::WebPage::platformReinitialize):
+        (WebKit::WebPage::platformDetach):
+        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+        (WebKit::WebPage::platformCanHandleRequest):
+        (WebKit::WebPage::platformUserAgent const):
+        (WebKit::WebPage::handleEditingKeyboardEvent):
+        (WebKit::WebPage::platformEditorState const):
+        * WebProcess/playstation/WebProcessPlayStation.cpp: Added.
+        (WebKit::WebProcess::platformInitializeWebProcess):
+        (WebKit::WebProcess::platformSetWebsiteDataStoreParameters):
+        (WebKit::WebProcess::platformTerminate):
+        (WebKit::WebProcess::platformSetCacheModel):
+
 2020-01-16  Chris Dumez  <cdumez@apple.com>
 
         Regression(r253224) No longer able to prevent a tab from closing via the beforeunload prompt
diff --git a/Source/WebKit/Platform/unix/ModuleUnix.cpp b/Source/WebKit/Platform/unix/ModuleUnix.cpp
new file mode 100644
index 0000000..af29ca1
--- /dev/null
+++ b/Source/WebKit/Platform/unix/ModuleUnix.cpp
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2020 Sony Interactive Entertainment Inc.
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include "Module.h"
+
+namespace WebKit {
+
+bool Module::load()
+{
+    return false;
+}
+
+void Module::unload()
+{
+}
+
+void* Module::platformFunctionPointer(const char*) const
+{
+}
+
+}
diff --git a/Source/WebKit/PlatformPlayStation.cmake b/Source/WebKit/PlatformPlayStation.cmake
new file mode 100644
index 0000000..a1547a4
--- /dev/null
+++ b/Source/WebKit/PlatformPlayStation.cmake
@@ -0,0 +1,293 @@
+set(WebKit_OUTPUT_NAME SceWebKit)
+set(WebKit_WebProcess_OUTPUT_NAME WebKitWebProcess)
+set(WebKit_NetworkProcess_OUTPUT_NAME WebKitNetworkProcess)
+set(WebKit_PluginProcess_OUTPUT_NAME WebKitPluginProcess)
+
+add_definitions(-DBUILDING_WEBKIT)
+
+set(WebKit_USE_PREFIX_HEADER ON)
+
+list(APPEND WebProcess_SOURCES
+    WebProcess/EntryPoint/unix/WebProcessMain.cpp
+)
+
+list(APPEND NetworkProcess_SOURCES
+    NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp
+)
+
+list(APPEND WebKit_SOURCES
+    NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp
+    NetworkProcess/Classifier/WebResourceLoadStatisticsTelemetry.cpp
+
+    NetworkProcess/Cookies/curl/WebCookieManagerCurl.cpp
+
+    NetworkProcess/WebStorage/StorageManager.cpp
+
+    NetworkProcess/cache/NetworkCacheDataCurl.cpp
+    NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp
+
+    NetworkProcess/curl/NetworkDataTaskCurl.cpp
+    NetworkProcess/curl/NetworkProcessCurl.cpp
+    NetworkProcess/curl/NetworkSessionCurl.cpp
+    NetworkProcess/curl/RemoteNetworkingContextCurl.cpp
+
+    Platform/IPC/unix/AttachmentUnix.cpp
+    Platform/IPC/unix/ConnectionUnix.cpp
+
+    Platform/classifier/ResourceLoadStatisticsClassifier.cpp
+
+    Platform/unix/LoggingUnix.cpp
+    Platform/unix/ModuleUnix.cpp
+    Platform/unix/SharedMemoryUnix.cpp
+
+    Shared/API/c/cairo/WKImageCairo.cpp
+
+    Shared/API/c/curl/WKCertificateInfoCurl.cpp
+
+    Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
+    Shared/CoordinatedGraphics/SimpleViewportController.cpp
+
+    Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp
+    Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
+    Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp
+
+    Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp
+
+    Shared/cairo/ShareableBitmapCairo.cpp
+
+    Shared/curl/WebCoreArgumentCodersCurl.cpp
+
+    Shared/libwpe/NativeWebKeyboardEventLibWPE.cpp
+    Shared/libwpe/NativeWebMouseEventLibWPE.cpp
+    Shared/libwpe/NativeWebTouchEventLibWPE.cpp
+    Shared/libwpe/NativeWebWheelEventLibWPE.cpp
+    Shared/libwpe/WebEventFactory.cpp
+
+    Shared/unix/AuxiliaryProcessMain.cpp
+
+    UIProcess/BackingStore.cpp
+    UIProcess/DefaultUndoController.cpp
+    UIProcess/LegacySessionStateCodingNone.cpp
+    UIProcess/WebGrammarDetail.cpp
+    UIProcess/WebMemoryPressureHandler.cpp
+    UIProcess/WebViewportAttributes.cpp
+
+    UIProcess/API/C/WKGrammarDetail.cpp
+    UIProcess/API/C/WKViewportAttributes.cpp
+
+    UIProcess/API/C/curl/WKProtectionSpaceCurl.cpp
+    UIProcess/API/C/curl/WKWebsiteDataStoreRefCurl.cpp
+
+    UIProcess/Automation/cairo/WebAutomationSessionCairo.cpp
+
+    UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
+
+    UIProcess/Launcher/playstation/ProcessLauncherPlayStation.cpp
+
+    UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp
+
+    UIProcess/WebsiteData/playstation/WebsiteDataStorePlayStation.cpp
+
+    UIProcess/cairo/BackingStoreCairo.cpp
+
+    UIProcess/libwpe/WebPasteboardProxyLibWPE.cpp
+
+    UIProcess/playstation/WebPageProxyPlayStation.cpp
+    UIProcess/playstation/WebProcessPoolPlayStation.cpp
+
+    WebProcess/InjectedBundle/playstation/InjectedBundlePlayStation.cpp
+
+    WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.cpp
+
+    WebProcess/WebPage/AcceleratedSurface.cpp
+
+    WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
+    WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
+    WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
+
+    WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp
+
+    WebProcess/WebPage/playstation/WebPagePlayStation.cpp
+
+    WebProcess/playstation/WebProcessPlayStation.cpp
+)
+
+list(APPEND WebKit_INCLUDE_DIRECTORIES
+    "${WEBKIT_DIR}/NetworkProcess/curl"
+    "${WEBKIT_DIR}/NetworkProcess/unix"
+    "${WEBKIT_DIR}/Platform/IPC/unix"
+    "${WEBKIT_DIR}/Shared/CoordinatedGraphics"
+    "${WEBKIT_DIR}/Shared/CoordinatedGraphics/threadedcompositor"
+    "${WEBKIT_DIR}/Shared/libwpe"
+    "${WEBKIT_DIR}/Shared/unix"
+    "${WEBKIT_DIR}/UIProcess/API/C/cairo"
+    "${WEBKIT_DIR}/UIProcess/API/C/curl"
+    "${WEBKIT_DIR}/UIProcess/CoordinatedGraphics"
+    "${WEBKIT_DIR}/WebProcess/WebCoreSupport/curl"
+    "${WEBKIT_DIR}/WebProcess/WebPage/CoordinatedGraphics"
+    "${WEBKIT_DIR}/WebProcess/WebPage/libwpe"
+    "${WEBKIT_DIR}/WebProcess/unix"
+)
+
+# Temporarily list out shared headers here
+set(WebKit_PUBLIC_FRAMEWORK_HEADERS
+    Shared/API/c/WKArray.h
+    Shared/API/c/WKBase.h
+    Shared/API/c/WKCertificateInfo.h
+    Shared/API/c/WKConnectionRef.h
+    Shared/API/c/WKContextMenuItem.h
+    Shared/API/c/WKContextMenuItemTypes.h
+    Shared/API/c/WKData.h
+    Shared/API/c/WKDeclarationSpecifiers.h
+    Shared/API/c/WKDeprecated.h
+    Shared/API/c/WKDiagnosticLoggingResultType.h
+    Shared/API/c/WKDictionary.h
+    Shared/API/c/WKErrorRef.h
+    Shared/API/c/WKEvent.h
+    Shared/API/c/WKFindOptions.h
+    Shared/API/c/WKGeometry.h
+    Shared/API/c/WKImage.h
+    Shared/API/c/WKMutableArray.h
+    Shared/API/c/WKMutableDictionary.h
+    Shared/API/c/WKNumber.h
+    Shared/API/c/WKPageLoadTypes.h
+    Shared/API/c/WKPageLoadTypesPrivate.h
+    Shared/API/c/WKPageVisibilityTypes.h
+    Shared/API/c/WKPluginInformation.h
+    Shared/API/c/WKSecurityOriginRef.h
+    Shared/API/c/WKSerializedScriptValue.h
+    Shared/API/c/WKString.h
+    Shared/API/c/WKStringPrivate.h
+    Shared/API/c/WKType.h
+    Shared/API/c/WKURL.h
+    Shared/API/c/WKURLRequest.h
+    Shared/API/c/WKURLResponse.h
+    Shared/API/c/WKUserContentInjectedFrames.h
+    Shared/API/c/WKUserScriptInjectionTime.h
+
+    UIProcess/API/C/WKAuthenticationChallenge.h
+    UIProcess/API/C/WKAuthenticationDecisionListener.h
+    UIProcess/API/C/WKBackForwardListItemRef.h
+    UIProcess/API/C/WKBackForwardListRef.h
+    UIProcess/API/C/WKContext.h
+    UIProcess/API/C/WKContextConfigurationRef.h
+    UIProcess/API/C/WKContextConnectionClient.h
+    UIProcess/API/C/WKContextDownloadClient.h
+    UIProcess/API/C/WKContextHistoryClient.h
+    UIProcess/API/C/WKContextInjectedBundleClient.h
+    UIProcess/API/C/WKContextPrivate.h
+    UIProcess/API/C/WKCookieManager.h
+    UIProcess/API/C/WKCredential.h
+    UIProcess/API/C/WKCredentialTypes.h
+    UIProcess/API/C/WKDownload.h
+    UIProcess/API/C/WKFormSubmissionListener.h
+    UIProcess/API/C/WKFrame.h
+    UIProcess/API/C/WKFrameHandleRef.h
+    UIProcess/API/C/WKFrameInfoRef.h
+    UIProcess/API/C/WKFramePolicyListener.h
+    UIProcess/API/C/WKGeolocationManager.h
+    UIProcess/API/C/WKGeolocationPermissionRequest.h
+    UIProcess/API/C/WKGeolocationPosition.h
+    UIProcess/API/C/WKHTTPCookieStoreRef.h
+    UIProcess/API/C/WKHitTestResult.h
+    UIProcess/API/C/WKIconDatabase.h
+    UIProcess/API/C/WKInspector.h
+    UIProcess/API/C/WKLayoutMode.h
+    UIProcess/API/C/WKMessageListener.h
+    UIProcess/API/C/WKMockDisplay.h
+    UIProcess/API/C/WKMockMediaDevice.h
+    UIProcess/API/C/WKNativeEvent.h
+    UIProcess/API/C/WKNavigationActionRef.h
+    UIProcess/API/C/WKNavigationDataRef.h
+    UIProcess/API/C/WKNavigationRef.h
+    UIProcess/API/C/WKNavigationResponseRef.h
+    UIProcess/API/C/WKNotification.h
+    UIProcess/API/C/WKNotificationManager.h
+    UIProcess/API/C/WKNotificationPermissionRequest.h
+    UIProcess/API/C/WKNotificationProvider.h
+    UIProcess/API/C/WKOpenPanelParametersRef.h
+    UIProcess/API/C/WKOpenPanelResultListener.h
+    UIProcess/API/C/WKPage.h
+    UIProcess/API/C/WKPageConfigurationRef.h
+    UIProcess/API/C/WKPageContextMenuClient.h
+    UIProcess/API/C/WKPageDiagnosticLoggingClient.h
+    UIProcess/API/C/WKPageFindClient.h
+    UIProcess/API/C/WKPageFindMatchesClient.h
+    UIProcess/API/C/WKPageFormClient.h
+    UIProcess/API/C/WKPageGroup.h
+    UIProcess/API/C/WKPageInjectedBundleClient.h
+    UIProcess/API/C/WKPageLoaderClient.h
+    UIProcess/API/C/WKPageNavigationClient.h
+    UIProcess/API/C/WKPagePolicyClient.h
+    UIProcess/API/C/WKPagePrivate.h
+    UIProcess/API/C/WKPageRenderingProgressEvents.h
+    UIProcess/API/C/WKPageStateClient.h
+    UIProcess/API/C/WKPageUIClient.h
+    UIProcess/API/C/WKPluginLoadPolicy.h
+    UIProcess/API/C/WKPreferencesRef.h
+    UIProcess/API/C/WKPreferencesRefPrivate.h
+    UIProcess/API/C/WKProcessTerminationReason.h
+    UIProcess/API/C/WKProtectionSpace.h
+    UIProcess/API/C/WKProtectionSpaceTypes.h
+    UIProcess/API/C/WKResourceCacheManager.h
+    UIProcess/API/C/WKSessionStateRef.h
+    UIProcess/API/C/WKTestingSupport.h
+    UIProcess/API/C/WKTextChecker.h
+    UIProcess/API/C/WKUserContentControllerRef.h
+    UIProcess/API/C/WKUserContentExtensionStoreRef.h
+    UIProcess/API/C/WKUserMediaPermissionCheck.h
+    UIProcess/API/C/WKUserMediaPermissionRequest.h
+    UIProcess/API/C/WKUserScriptRef.h
+    UIProcess/API/C/WKViewportAttributes.h
+    UIProcess/API/C/WKWebsiteDataStoreConfigurationRef.h
+    UIProcess/API/C/WKWebsiteDataStoreRef.h
+    UIProcess/API/C/WKWebsitePolicies.h
+    UIProcess/API/C/WKWindowFeaturesRef.h
+    UIProcess/API/C/WebKit2_C.h
+
+    UIProcess/API/cpp/WKRetainPtr.h
+
+    WebProcess/InjectedBundle/API/c/WKBundle.h
+    WebProcess/InjectedBundle/API/c/WKBundleAPICast.h
+    WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h
+    WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h
+    WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.h
+    WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h
+    WebProcess/InjectedBundle/API/c/WKBundleFrame.h
+    WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h
+    WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h
+    WebProcess/InjectedBundle/API/c/WKBundleInitialize.h
+    WebProcess/InjectedBundle/API/c/WKBundleInspector.h
+    WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h
+    WebProcess/InjectedBundle/API/c/WKBundleNavigationActionPrivate.h
+    WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h
+    WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h
+    WebProcess/InjectedBundle/API/c/WKBundlePage.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h
+    WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h
+    WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h
+    WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h
+    WebProcess/InjectedBundle/API/c/WKBundlePrivate.h
+    WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h
+    WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h
+)
+
+# PlayStation specific
+list(APPEND WebKit_PUBLIC_FRAMEWORK_HEADERS
+
+)
+
+WEBKIT_MAKE_FORWARDING_HEADERS(WebKit
+    TARGET_NAME WebKitFrameworkHeaders
+    DESTINATION ${WebKit_FRAMEWORK_HEADERS_DIR}/WebKit
+    FILES ${WebKit_PUBLIC_FRAMEWORK_HEADERS}
+    FLATTENED
+)
diff --git a/Source/WebKit/UIProcess/Launcher/playstation/ProcessLauncherPlayStation.cpp b/Source/WebKit/UIProcess/Launcher/playstation/ProcessLauncherPlayStation.cpp
new file mode 100644
index 0000000..54e610d
--- /dev/null
+++ b/Source/WebKit/UIProcess/Launcher/playstation/ProcessLauncherPlayStation.cpp
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2020 Sony Interactive Entertainment Inc.
+ *
+ * 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.
+ * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ *     its contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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.
+ */
+
+#include "config.h"
+#include "ProcessLauncher.h"
+
+namespace WebKit {
+
+void ProcessLauncher::launchProcess()
+{
+}
+
+void ProcessLauncher::terminateProcess()
+{
+}
+
+void ProcessLauncher::platformInvalidate()
+{
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit/UIProcess/WebPageProxy.h b/Source/WebKit/UIProcess/WebPageProxy.h
index bca0b84..d8e4287 100644
--- a/Source/WebKit/UIProcess/WebPageProxy.h
+++ b/Source/WebKit/UIProcess/WebPageProxy.h
@@ -248,7 +248,7 @@
 typedef GtkWidget* PlatformViewWidget;
 #endif
 
-#if PLATFORM(WPE)
+#if USE(LIBWPE)
 struct wpe_view_backend;
 #endif
 
@@ -877,7 +877,7 @@
     void setDevice(ID3D11Device1*);
 #endif
 #endif
-#if PLATFORM(WPE)
+#if USE(LIBWPE)
     struct wpe_view_backend* viewBackend();
 #endif
 
diff --git a/Source/WebKit/UIProcess/WebsiteData/playstation/WebsiteDataStorePlayStation.cpp b/Source/WebKit/UIProcess/WebsiteData/playstation/WebsiteDataStorePlayStation.cpp
new file mode 100644
index 0000000..31bdcad
--- /dev/null
+++ b/Source/WebKit/UIProcess/WebsiteData/playstation/WebsiteDataStorePlayStation.cpp
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2020 Sony Interactive Entertainment Inc.
+ *
+ * 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 THE COPYRIGHT HOLDERS ``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 THE COPYRIGHT HOLDERS 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.
+ */
+
+#include "config.h"
+#include "WebsiteDataStore.h"
+
+#include <WebCore/NotImplemented.h>
+#include <wtf/FileSystem.h>
+
+namespace WebKit {
+
+void WebsiteDataStore::platformInitialize()
+{
+    notImplemented();
+}
+
+void WebsiteDataStore::platformDestroy()
+{
+    notImplemented();
+}
+
+void WebsiteDataStore::platformRemoveRecentSearches(WallTime)
+{
+    notImplemented();
+}
+
+String WebsiteDataStore::defaultApplicationCacheDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::defaultCacheStorageDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::defaultNetworkCacheDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::defaultIndexedDBDatabaseDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::defaultServiceWorkerRegistrationDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::defaultLocalStorageDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::defaultMediaKeysStorageDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::defaultWebSQLDatabaseDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::defaultResourceLoadStatisticsDirectory()
+{
+    return { };
+}
+
+String WebsiteDataStore::cacheDirectoryFileSystemRepresentation(const String& directoryName)
+{
+    return { };
+}
+
+String WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(const String& directoryName)
+{
+    return { };
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit/UIProcess/playstation/WebPageProxyPlayStation.cpp b/Source/WebKit/UIProcess/playstation/WebPageProxyPlayStation.cpp
new file mode 100644
index 0000000..58f8fb6
--- /dev/null
+++ b/Source/WebKit/UIProcess/playstation/WebPageProxyPlayStation.cpp
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2020 Sony Interactive Entertainment Inc.
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include "WebPageProxy.h"
+
+#include "EditorState.h"
+#include "WebsiteDataStore.h"
+#include <WebCore/NotImplemented.h>
+#include <WebCore/UserAgent.h>
+
+namespace WebKit {
+
+void WebPageProxy::platformInitialize()
+{
+    notImplemented();
+}
+
+struct wpe_view_backend* WebPageProxy::viewBackend()
+{
+    return nullptr;
+}
+
+String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent)
+{
+    return WebCore::standardUserAgent(applicationNameForUserAgent);
+}
+
+void WebPageProxy::saveRecentSearches(const String&, const Vector<WebCore::RecentSearch>&)
+{
+    notImplemented();
+}
+
+void WebPageProxy::loadRecentSearches(const String&, CompletionHandler<void(Vector<WebCore::RecentSearch>&&)>&& completionHandler)
+{
+    notImplemented();
+    completionHandler({ });
+}
+
+void WebPageProxy::updateEditorState(const EditorState& editorState)
+{
+    m_editorState = editorState;
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit/UIProcess/playstation/WebProcessPoolPlayStation.cpp b/Source/WebKit/UIProcess/playstation/WebProcessPoolPlayStation.cpp
new file mode 100644
index 0000000..f6dfe37
--- /dev/null
+++ b/Source/WebKit/UIProcess/playstation/WebProcessPoolPlayStation.cpp
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2020 Sony Interactive Entertainment Inc.
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include "WebProcessPool.h"
+
+namespace WebKit {
+
+void WebProcessPool::platformInitialize()
+{
+}
+
+void WebProcessPool::platformInitializeNetworkProcess(NetworkProcessCreationParameters&)
+{
+    notImplemented();
+}
+
+void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy&, WebProcessCreationParameters&)
+{
+    notImplemented();
+}
+
+void WebProcessPool::platformInvalidateContext()
+{
+    notImplemented();
+}
+
+void WebProcessPool::platformResolvePathsForSandboxExtensions()
+{
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit/WebProcess/InjectedBundle/playstation/InjectedBundlePlayStation.cpp b/Source/WebKit/WebProcess/InjectedBundle/playstation/InjectedBundlePlayStation.cpp
new file mode 100644
index 0000000..4bfe02c
--- /dev/null
+++ b/Source/WebKit/WebProcess/InjectedBundle/playstation/InjectedBundlePlayStation.cpp
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2020 Sony Interactive Entertainment Inc.
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include "InjectedBundle.h"
+
+namespace WebKit {
+
+bool InjectedBundle::initialize(const WebProcessCreationParameters&, API::Object* initializationUserData)
+{
+    return false;
+}
+
+void InjectedBundle::setBundleParameter(WTF::String const&, IPC::DataReference const&)
+{
+}
+
+void InjectedBundle::setBundleParameters(const IPC::DataReference&)
+{
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit/WebProcess/WebPage/playstation/WebPagePlayStation.cpp b/Source/WebKit/WebProcess/WebPage/playstation/WebPagePlayStation.cpp
new file mode 100644
index 0000000..451ce25
--- /dev/null
+++ b/Source/WebKit/WebProcess/WebPage/playstation/WebPagePlayStation.cpp
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2020 Sony Interactive Entertainment Inc.
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include "WebPage.h"
+
+#include <WebCore/NotImplemented.h>
+#include <WebCore/Settings.h>
+#include <WebCore/UserAgent.h>
+
+namespace WebKit {
+using namespace WebCore;
+
+void WebPage::platformInitialize()
+{
+}
+
+void WebPage::platformReinitialize()
+{
+}
+
+void WebPage::platformDetach()
+{
+}
+
+bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent&)
+{
+    notImplemented();
+    return false;
+}
+
+bool WebPage::platformCanHandleRequest(const ResourceRequest&)
+{
+    notImplemented();
+    return false;
+}
+
+String WebPage::platformUserAgent(const URL& url) const
+{
+    if (url.isNull() || !m_page->settings().needsSiteSpecificQuirks())
+        return emptyString();
+
+    return WebCore::standardUserAgentForURL(url);
+}
+
+bool WebPage::handleEditingKeyboardEvent(WebCore::KeyboardEvent& event)
+{
+    notImplemented();
+    return false;
+}
+
+void WebPage::platformEditorState(Frame& frame, EditorState& result, IncludePostLayoutDataHint shouldIncludePostLayoutData) const
+{
+    notImplemented();
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit/WebProcess/playstation/WebProcessPlayStation.cpp b/Source/WebKit/WebProcess/playstation/WebProcessPlayStation.cpp
new file mode 100644
index 0000000..d7e60c3
--- /dev/null
+++ b/Source/WebKit/WebProcess/playstation/WebProcessPlayStation.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2020 Sony Interactive Entertainment Inc.
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include "WebProcess.h"
+
+namespace WebKit {
+
+void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters&)
+{
+}
+
+void WebProcess::platformSetWebsiteDataStoreParameters(WebProcessDataStoreParameters&&)
+{
+}
+
+void WebProcess::platformTerminate()
+{
+}
+
+void WebProcess::platformSetCacheModel(CacheModel)
+{
+}
+
+} // namespace WebKit
diff --git a/Source/cmake/OptionsPlayStation.cmake b/Source/cmake/OptionsPlayStation.cmake
index d4f02de..f126bc6 100644
--- a/Source/cmake/OptionsPlayStation.cmake
+++ b/Source/cmake/OptionsPlayStation.cmake
@@ -7,19 +7,16 @@
 
 add_definitions(-DSCE_LIBC_DISABLE_CPP14_HEADER_WARNING= -DSCE_LIBC_DISABLE_CPP17_HEADER_WARNING=)
 
-set(ENABLE_API_TESTS ON CACHE BOOL "Build APITests")
+# Temporarily turn off tests
+set(ENABLE_API_TESTS OFF CACHE BOOL "Build API Tests")
 set(ENABLE_WEBCORE ON CACHE BOOL "Build WebCore")
-set(ENABLE_WEBKIT OFF CACHE BOOL "Build WebKit")
+set(ENABLE_WEBKIT ON CACHE BOOL "Build WebKit")
 set(ENABLE_WEBKIT_LEGACY OFF)
 
 if (NOT ENABLE_WEBCORE)
     set(ENABLE_WEBKIT OFF)
 endif ()
 
-if (NOT ENABLE_WEBKIT)
-    set(ENABLE_API_TESTS OFF)
-endif ()
-
 WEBKIT_OPTION_BEGIN()
 
 # Turn off JIT
@@ -37,6 +34,7 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_PAINTING_API PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_TYPED_OM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS_LEVEL_2 PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYOUT_FORMATTING_CONTEXT PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REMOTE_INSPECTOR PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SERVICE_WORKER PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
@@ -86,8 +84,6 @@
 
 list(APPEND CMAKE_PREFIX_PATH ${WEBKIT_LIBRARIES_DIR})
 
-set(HarfBuzz_ICU_NAMES harfbuzz)
-
 find_library(C_STD_LIBRARY c)
 find_library(KERNEL_LIBRARY kernel)
 
@@ -140,6 +136,29 @@
 SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER_GL ON)
 SET_AND_EXPOSE_TO_BUILD(USE_TILED_BACKING_STORE ON)
 
+# Override headers directories
+set(ANGLE_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/ANGLE/Headers)
+set(WTF_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/WTF/Headers)
+set(JavaScriptCore_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/JavaScriptCore/Headers)
+set(JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/JavaScriptCore/PrivateHeaders)
+set(PAL_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/PAL/Headers)
+set(WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/WebCore/PrivateHeaders)
+set(WebKitLegacy_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/WebKitLegacy/Headers)
+set(WebKit_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/WebKit/Headers)
+set(WebKit_PRIVATE_FRAMEWORK_HEADERS_DIR ${CMAKE_BINARY_DIR}/WebKit/PrivateHeaders)
+
+# Override derived sources directories
+set(WTF_DERIVED_SOURCES_DIR ${CMAKE_BINARY_DIR}/WTF/DerivedSources)
+set(JavaScriptCore_DERIVED_SOURCES_DIR ${CMAKE_BINARY_DIR}/JavaScriptCore/DerivedSources)
+set(WebCore_DERIVED_SOURCES_DIR ${CMAKE_BINARY_DIR}/WebCore/DerivedSources)
+set(WebKitLegacy_DERIVED_SOURCES_DIR ${CMAKE_BINARY_DIR}/WebKitLegacy/DerivedSources)
+set(WebKit_DERIVED_SOURCES_DIR ${CMAKE_BINARY_DIR}/WebKit/DerivedSources)
+
+# Override scripts directories
+set(WTF_SCRIPTS_DIR ${CMAKE_BINARY_DIR}/WTF/Scripts)
+set(JavaScriptCore_SCRIPTS_DIR ${CMAKE_BINARY_DIR}/JavaScriptCore/Scripts)
+
+# Override library types
 set(WTF_LIBRARY_TYPE STATIC)
 set(JavaScriptCore_LIBRARY_TYPE STATIC)
 set(WebCore_LIBRARY_TYPE STATIC)