Title: [260899] trunk
Revision
260899
Author
[email protected]
Date
2020-04-29 09:09:02 -0700 (Wed, 29 Apr 2020)

Log Message

[GPUP][GTK] compile GPUProcess in GTK port
https://bugs.webkit.org/show_bug.cgi?id=208814

Patch by Víctor Manuel Jáquez Leal <[email protected]> on 2020-04-29
Reviewed by Don Olmstead.

Enable GPUProcess compilation in WebKitGTK as an experimental
feature

.:

* Source/cmake/OptionsGTK.cmake: sort alphabetically WebKit
options for GTK port and enable GPU_PROCESS if experimental
features option is enabled.

Source/WebKit:

No new tests required.

* GPUProcess/GPUConnectionToWebProcess.cpp: guard
UserMediaCaptureManagerProxy for Cocoa platform only.
(WebKit::GPUConnectionToWebProcess::dispatchMessage): guard
messages from UserMediaCaptureManagerProxy for Cocoa platform,
moving up this guard from video track messages.
(WebKit::GPUConnectionToWebProcess::mediaKeyStorageDirectory):
removed guard for this function of ENCRYPTED_MEDIA leaving only
LEGACY_ENCRYPTED_MEDIA, since it's were it is defined.
(WebKit::GPUConnectionToWebProcess::setOrientationForMediaCapture):
guard the content of this function for Cocoa platform, since it is
calling a UserMediaCaptureManagerProxy object.
* GPUProcess/GPUProcess.cpp: Replace the included header to match
with the used symbols in file.
* GPUProcess/gstreamer/GPUProcessGStreamer.cpp: Added.
(WebKit::GPUProcess::initializeProcess): Empty function.
(WebKit::GPUProcess::initializeProcessName): Empty function.
(WebKit::GPUProcess::initializeSandbox): Empty function.
* GPUProcess/gstreamer/GPUProcessMainGStreamer.cpp: Added.
(WebKit::initializeAuxiliaryProcess<GPUProcess>): New function.
(WebKit::GPUProcessMain): New function.
* GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp: changed guard
for this file from ENCRYPTED_MEDIA to LEGACY_ENCRYPTED_MEDIA to
match with its header file.
* GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp: Added.
(WebKit::RemoteMediaPlayerProxy::prepareForPlayback):
New function that raises noImplemented()
(WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable):
New function that raises noImplemented()
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged):
New function that raises noImplemented()
(WebKit::RemoteMediaPlayerProxy::enterFullscreen): New function
that raises noImplemented()
(WebKit::RemoteMediaPlayerProxy::exitFullscreen): New function
that raises noImplemented()
* PlatformGTK.cmake: add Platform/generic header directory.
* SourcesGTK.txt: Add the new files and
GPUProcess/media/RemoteAudioDestinationManager.cpp
* WebProcess/GPU/GPUProcessConnection.cpp: guard
UserMediaCaptureManager for Cocoa platform only.
(WebKit::GPUProcessConnection::dispatchMessage): guard messages
from UserMediaCaptureManager for Cocoa platform, moving up this
guard applied also for video track.
* WebProcess/GPU/media/RemoteCDM.cpp: include missing header
GPUProcessConnection.h
* WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp: Added.
(WebKit::createVideoLayerRemote): New function
that raises noImplemented()

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (260898 => 260899)


--- trunk/ChangeLog	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/ChangeLog	2020-04-29 16:09:02 UTC (rev 260899)
@@ -1,3 +1,17 @@
+2020-04-29  Víctor Manuel Jáquez Leal  <[email protected]>
+
+        [GPUP][GTK] compile GPUProcess in GTK port
+        https://bugs.webkit.org/show_bug.cgi?id=208814
+
+        Reviewed by Don Olmstead.
+
+        Enable GPUProcess compilation in WebKitGTK as an experimental
+        feature
+
+        * Source/cmake/OptionsGTK.cmake: sort alphabetically WebKit
+        options for GTK port and enable GPU_PROCESS if experimental
+        features option is enabled.
+
 2020-04-29  Sergio Villar Senin  <[email protected]>
 
         Add ccls config file to the list of ignored files

Modified: trunk/Source/WebKit/ChangeLog (260898 => 260899)


--- trunk/Source/WebKit/ChangeLog	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/WebKit/ChangeLog	2020-04-29 16:09:02 UTC (rev 260899)
@@ -1,3 +1,63 @@
+2020-04-29  Víctor Manuel Jáquez Leal  <[email protected]>
+
+        [GPUP][GTK] compile GPUProcess in GTK port
+        https://bugs.webkit.org/show_bug.cgi?id=208814
+
+        Reviewed by Don Olmstead.
+
+        Enable GPUProcess compilation in WebKitGTK as an experimental
+        feature
+
+        No new tests required.
+
+        * GPUProcess/GPUConnectionToWebProcess.cpp: guard
+        UserMediaCaptureManagerProxy for Cocoa platform only.
+        (WebKit::GPUConnectionToWebProcess::dispatchMessage): guard
+        messages from UserMediaCaptureManagerProxy for Cocoa platform,
+        moving up this guard from video track messages.
+        (WebKit::GPUConnectionToWebProcess::mediaKeyStorageDirectory):
+        removed guard for this function of ENCRYPTED_MEDIA leaving only
+        LEGACY_ENCRYPTED_MEDIA, since it's were it is defined.
+        (WebKit::GPUConnectionToWebProcess::setOrientationForMediaCapture):
+        guard the content of this function for Cocoa platform, since it is
+        calling a UserMediaCaptureManagerProxy object.
+        * GPUProcess/GPUProcess.cpp: Replace the included header to match
+        with the used symbols in file.
+        * GPUProcess/gstreamer/GPUProcessGStreamer.cpp: Added.
+        (WebKit::GPUProcess::initializeProcess): Empty function.
+        (WebKit::GPUProcess::initializeProcessName): Empty function.
+        (WebKit::GPUProcess::initializeSandbox): Empty function.
+        * GPUProcess/gstreamer/GPUProcessMainGStreamer.cpp: Added.
+        (WebKit::initializeAuxiliaryProcess<GPUProcess>): New function.
+        (WebKit::GPUProcessMain): New function.
+        * GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp: changed guard
+        for this file from ENCRYPTED_MEDIA to LEGACY_ENCRYPTED_MEDIA to
+        match with its header file.
+        * GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp: Added.
+        (WebKit::RemoteMediaPlayerProxy::prepareForPlayback):
+        New function that raises noImplemented()
+        (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable):
+        New function that raises noImplemented()
+        (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged):
+        New function that raises noImplemented()
+        (WebKit::RemoteMediaPlayerProxy::enterFullscreen): New function
+        that raises noImplemented()
+        (WebKit::RemoteMediaPlayerProxy::exitFullscreen): New function
+        that raises noImplemented()
+        * PlatformGTK.cmake: add Platform/generic header directory.
+        * SourcesGTK.txt: Add the new files and
+        GPUProcess/media/RemoteAudioDestinationManager.cpp
+        * WebProcess/GPU/GPUProcessConnection.cpp: guard
+        UserMediaCaptureManager for Cocoa platform only.
+        (WebKit::GPUProcessConnection::dispatchMessage): guard messages
+        from UserMediaCaptureManager for Cocoa platform, moving up this
+        guard applied also for video track.
+        * WebProcess/GPU/media/RemoteCDM.cpp: include missing header
+        GPUProcessConnection.h
+        * WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp: Added.
+        (WebKit::createVideoLayerRemote): New function
+        that raises noImplemented()
+
 2020-04-29  Claudio Saavedra  <[email protected]>
 
         [GTK4] Unreviewed compile-warning fixes

Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp (260898 => 260899)


--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -73,7 +73,9 @@
 #include "RemoteCDMProxyMessages.h"
 #endif
 
-#if ENABLE(MEDIA_STREAM)
+// FIXME: <https://bugs.webkit.org/show_bug.cgi?id=211085>
+// UserMediaCaptureManagerProxy should not be platform specific
+#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
 #include "UserMediaCaptureManagerProxy.h"
 #include "UserMediaCaptureManagerProxyMessages.h"
 #endif
@@ -364,7 +366,7 @@
         remoteMediaResourceManager().didReceiveMessage(connection, decoder);
         return true;
     }
-#if ENABLE(MEDIA_STREAM)
+#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
     if (decoder.messageReceiverName() == Messages::UserMediaCaptureManagerProxy::messageReceiverName()) {
         userMediaCaptureManagerProxy().didReceiveMessageFromGPUProcess(connection, decoder);
         return true;
@@ -377,7 +379,7 @@
         mediaRecorderManager().didReceiveRemoteMediaRecorderMessage(connection, decoder);
         return true;
     }
-#if PLATFORM(COCOA) && ENABLE(VIDEO_TRACK)
+#if ENABLE(VIDEO_TRACK)
     if (decoder.messageReceiverName() == Messages::RemoteAudioMediaStreamTrackRendererManager::messageReceiverName()) {
         audioTrackRendererManager().didReceiveMessageFromWebProcess(connection, decoder);
         return true;
@@ -497,7 +499,7 @@
     return m_gpuProcess->mediaCacheDirectory(m_sessionID);
 }
 
-#if ENABLE(ENCRYPTED_MEDIA) || ENABLE(LEGACY_ENCRYPTED_MEDIA)
+#if ENABLE(LEGACY_ENCRYPTED_MEDIA)
 const String& GPUConnectionToWebProcess::mediaKeysStorageDirectory() const
 {
     return m_gpuProcess->mediaKeysStorageDirectory(m_sessionID);
@@ -507,7 +509,10 @@
 #if ENABLE(MEDIA_STREAM)
 void GPUConnectionToWebProcess::setOrientationForMediaCapture(uint64_t orientation)
 {
+// FIXME: <https://bugs.webkit.org/show_bug.cgi?id=211085>
+#if PLATFORM(COCOA)
     userMediaCaptureManagerProxy().setOrientation(orientation);
+#endif
 }
 
 void GPUConnectionToWebProcess::updateCaptureAccess(bool allowAudioCapture, bool allowVideoCapture, bool allowDisplayCapture)

Modified: trunk/Source/WebKit/GPUProcess/GPUProcess.cpp (260898 => 260899)


--- trunk/Source/WebKit/GPUProcess/GPUProcess.cpp	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/WebKit/GPUProcess/GPUProcess.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -56,7 +56,7 @@
 #endif
 
 #if ENABLE(MEDIA_STREAM)
-#include <WebCore/MockAudioSharedUnit.h>
+#include <WebCore/MockRealtimeMediaSourceCenter.h>
 #endif
 
 namespace WebKit {

Added: trunk/Source/WebKit/GPUProcess/gstreamer/GPUProcessGStreamer.cpp (0 => 260899)


--- trunk/Source/WebKit/GPUProcess/gstreamer/GPUProcessGStreamer.cpp	                        (rev 0)
+++ trunk/Source/WebKit/GPUProcess/gstreamer/GPUProcessGStreamer.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2020 Igalia S.L.
+ *
+ * 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 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 "GPUProcess.h"
+
+#if ENABLE(GPU_PROCESS) && USE(GSTREAMER)
+
+#include "GPUProcessCreationParameters.h"
+
+namespace WebKit {
+
+void GPUProcess::initializeProcess(const AuxiliaryProcessInitializationParameters&)
+{
+}
+
+void GPUProcess::initializeProcessName(const AuxiliaryProcessInitializationParameters&)
+{
+}
+
+void GPUProcess::initializeSandbox(const AuxiliaryProcessInitializationParameters&, SandboxInitializationParameters&)
+{
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(GPU_PROCESS)
+

Added: trunk/Source/WebKit/GPUProcess/gstreamer/GPUProcessMainGStreamer.cpp (0 => 260899)


--- trunk/Source/WebKit/GPUProcess/gstreamer/GPUProcessMainGStreamer.cpp	                        (rev 0)
+++ trunk/Source/WebKit/GPUProcess/gstreamer/GPUProcessMainGStreamer.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2020 Igalia S.L.
+ *
+ * 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 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 "GPUProcessMain.h"
+
+#if ENABLE(GPU_PROCESS) && USE(GSTREAMER)
+
+#include "AuxiliaryProcessMain.h"
+#include "GPUProcess.h"
+
+namespace WebKit {
+
+static RefPtr<GPUProcess> globalGPUProcess;
+
+class GPUProcessMainGStreamer final: public AuxiliaryProcessMainBase {
+public:
+    bool platformInitialize() override
+    {
+        return true;
+    }
+};
+
+template<>
+void initializeAuxiliaryProcess<GPUProcess>(AuxiliaryProcessInitializationParameters&& parameters)
+{
+    static NeverDestroyed<GPUProcess> gpuProcess(WTFMove(parameters));
+    globalGPUProcess = &gpuProcess.get();
+}
+
+int GPUProcessMain(int argc, char** argv)
+{
+    return AuxiliaryProcessMain<GPUProcess, GPUProcessMainGStreamer>(argc, argv);
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(GPU_PROCESS)

Modified: trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp (260898 => 260899)


--- trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -26,7 +26,7 @@
 #include "config.h"
 #include "RemoteLegacyCDMFactoryProxy.h"
 
-#if ENABLE(GPU_PROCESS) && ENABLE(ENCRYPTED_MEDIA)
+#if ENABLE(GPU_PROCESS) && ENABLE(LEGACY_ENCRYPTED_MEDIA)
 
 #include "RemoteLegacyCDMProxy.h"
 #include "RemoteLegacyCDMProxyMessages.h"

Added: trunk/Source/WebKit/GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp (0 => 260899)


--- trunk/Source/WebKit/GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp	                        (rev 0)
+++ trunk/Source/WebKit/GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2020 Igalia S.L.
+ *
+ * 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 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 "RemoteMediaPlayerProxy.h"
+
+#if ENABLE(GPU_PROCESS) && USE(GSTREAMER)
+
+#include "LayerHostingContext.h"
+#include <WebCore/NotImplemented.h>
+
+namespace WebKit {
+
+void RemoteMediaPlayerProxy::prepareForPlayback(bool, WebCore::MediaPlayerEnums::Preload, bool, bool, float videoContentScale, CompletionHandler<void(Optional<LayerHostingContextID>&& inlineLayerHostingContextId, Optional<LayerHostingContextID>&& fullscreenLayerHostingContextId)>&&)
+{
+    notImplemented();
+}
+
+void RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable()
+{
+    notImplemented();
+}
+
+void RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged()
+{
+    notImplemented();
+}
+
+#if ENABLE(VIDEO_PRESENTATION_MODE)
+void RemoteMediaPlayerProxy::enterFullscreen(CompletionHandler<void()>&& completionHandler)
+{
+    notImplemented();
+}
+
+void RemoteMediaPlayerProxy::exitFullscreen(CompletionHandler<void()>&& completionHandler)
+{
+    notImplemented();
+}
+#endif
+
+} // namespace WebKit
+
+
+#endif // ENABLE(GPU_PROCESS)

Modified: trunk/Source/WebKit/PlatformGTK.cmake (260898 => 260899)


--- trunk/Source/WebKit/PlatformGTK.cmake	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/WebKit/PlatformGTK.cmake	2020-04-29 16:09:02 UTC (rev 260899)
@@ -397,6 +397,7 @@
     "${WEBKIT_DIR}/Platform/IPC/glib"
     "${WEBKIT_DIR}/Platform/IPC/unix"
     "${WEBKIT_DIR}/Platform/classifier"
+    "${WEBKIT_DIR}/Platform/generic"
     "${WEBKIT_DIR}/Shared/API/c/gtk"
     "${WEBKIT_DIR}/Shared/API/glib"
     "${WEBKIT_DIR}/Shared/CoordinatedGraphics"

Modified: trunk/Source/WebKit/SourcesGTK.txt (260898 => 260899)


--- trunk/Source/WebKit/SourcesGTK.txt	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/WebKit/SourcesGTK.txt	2020-04-29 16:09:02 UTC (rev 260899)
@@ -21,6 +21,13 @@
 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 // THE POSSIBILITY OF SUCH DAMAGE.
 
+GPUProcess/gstreamer/GPUProcessGStreamer.cpp
+GPUProcess/gstreamer/GPUProcessMainGStreamer.cpp
+
+GPUProcess/media/RemoteAudioDestinationManager.cpp
+
+GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp
+
 NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp
 NetworkProcess/Classifier/WebResourceLoadStatisticsTelemetry.cpp
 
@@ -267,6 +274,8 @@
 UIProcess/soup/WebCookieManagerProxySoup.cpp
 UIProcess/soup/WebProcessPoolSoup.cpp
 
+WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp
+
 WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp @no-unify
 WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMDocument.cpp @no-unify
 WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMElement.cpp @no-unify

Modified: trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp (260898 => 260899)


--- trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -50,7 +50,7 @@
 #include "RemoteCDMInstanceSessionMessages.h"
 #endif
 
-#if ENABLE(MEDIA_STREAM)
+#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
 #include "UserMediaCaptureManager.h"
 #include "UserMediaCaptureManagerMessages.h"
 #endif
@@ -112,19 +112,19 @@
         return true;
     }
 
-#if ENABLE(MEDIA_STREAM)
+#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
     if (decoder.messageReceiverName() == Messages::UserMediaCaptureManager::messageReceiverName()) {
         if (auto* captureManager = WebProcess::singleton().supplement<UserMediaCaptureManager>())
             captureManager->didReceiveMessageFromGPUProcess(connection, decoder);
         return true;
     }
-#if PLATFORM(COCOA) && ENABLE(VIDEO_TRACK)
+#if ENABLE(VIDEO_TRACK)
     if (decoder.messageReceiverName() == Messages::SampleBufferDisplayLayer::messageReceiverName()) {
         sampleBufferDisplayLayerManager().didReceiveLayerMessage(connection, decoder);
         return true;
     }
-#endif // PLATFORM(COCOA) && ENABLE(VIDEO_TRACK)
-#endif // ENABLE(MEDIA_STREAM)
+#endif // ENABLE(VIDEO_TRACK)
+#endif // PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
 #if USE(LIBWEBRTC) && PLATFORM(COCOA)
     if (decoder.messageReceiverName() == Messages::LibWebRTCCodecs::messageReceiverName()) {
         WebProcess::singleton().libWebRTCCodecs().didReceiveMessage(connection, decoder);

Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDM.cpp (260898 => 260899)


--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDM.cpp	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteCDM.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -29,6 +29,7 @@
 #if ENABLE(GPU_PROCESS) && ENABLE(ENCRYPTED_MEDIA)
 
 #include "DataReference.h"
+#include "GPUProcessConnection.h"
 #include "RemoteCDMInstance.h"
 #include "RemoteCDMInstanceConfiguration.h"
 #include "RemoteCDMInstanceIdentifier.h"

Added: trunk/Source/WebKit/WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp (0 => 260899)


--- trunk/Source/WebKit/WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp	                        (rev 0)
+++ trunk/Source/WebKit/WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp	2020-04-29 16:09:02 UTC (rev 260899)
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2020 Igalia S.L.
+ *
+ * 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 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 "VideoLayerRemote.h"
+
+#if ENABLE(GPU_PROCESS)
+
+#include <WebCore/NotImplemented.h>
+#include <WebCore/PlatformLayer.h>
+
+#if USE(NICOSIA)
+#include <WebCore/NicosiaPlatformLayer.h>
+#elif USE(COORDINATED_GRAPHICS)
+#include <WebCore/TextureMapperPlatformLayerProxyProvider.h>
+#elif USE(TEXTURE_MAPPER)
+#include <WebCore/TextureMapperPlatformLayer.h>
+#endif
+
+namespace WebKit {
+
+PlatformLayerContainer createVideoLayerRemote(MediaPlayerPrivateRemote* mediaPlayerPrivateRemote, LayerHostingContextID contextId)
+{
+    notImplemented();
+    return nullptr;
+}
+
+}
+
+#endif

Modified: trunk/Source/cmake/OptionsGTK.cmake (260898 => 260899)


--- trunk/Source/cmake/OptionsGTK.cmake	2020-04-29 16:06:32 UTC (rev 260898)
+++ trunk/Source/cmake/OptionsGTK.cmake	2020-04-29 16:09:02 UTC (rev 260899)
@@ -168,6 +168,9 @@
 # Changing these options is completely unsupported.
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_AUTOCAPITALIZE PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CONTENT_EXTENSIONS PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_CONIC_GRADIENTS PRIVATE ON)
+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_CURSOR_VISIBILITY PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DARK_MODE_CSS PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT PRIVATE ON)
@@ -174,6 +177,7 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ENCRYPTED_MEDIA PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTPDIR PRIVATE OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GPU_PROCESS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYOUT_FORMATTING_CONTEXT PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
@@ -182,13 +186,10 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_RESOURCE_LOAD_STATISTICS PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SERVICE_WORKER PRIVATE ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PUBLIC ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
-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_CSS_CONIC_GRADIENTS PRIVATE ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_RESOURCE_LOAD_STATISTICS PRIVATE ON)
 
 if (USE_GTK4)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API PRIVATE OFF)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to