haikuwebkit/Source/WebCore/platform/HolePunch.cmake

7 lines
193 B
CMake
Raw Permalink Normal View History

[CMake] Make WebCore headers copies https://bugs.webkit.org/show_bug.cgi?id=182512 <rdar://problem/37510435> Reviewed by Alex Christensen. Source/WebCore: The header copying is moved to a target WebCorePrivateFrameworkHeaders. This target was originally Windows only but now this is enabled for all CMake based ports. Enumerated all headers within WebCore that are used for WebKit(Legacy), tools and tests. Shared headers are within Headers.cmake while port and platform specific headers are in their respective CMake files. Listing out all headers is preferred because globbing will break the build whenever a file is added. All include directories within the WebCore source tree are now PRIVATE. They were modified to use WebCore_PRIVATE_INCLUDE_DIRECTORIES. They will not propagate to other targets which will prevent erroneous includes in targets dependent on WebCore. * CMakeLists.txt: * Headers.cmake: Added. * PlatformAppleWin.cmake: * PlatformGTK.cmake: * PlatformMac.cmake: * PlatformPlayStation.cmake: * PlatformWPE.cmake: * PlatformWin.cmake: * PlatformWinCairo.cmake: * platform/Cairo.cmake: * platform/Curl.cmake: * platform/FreeType.cmake: * platform/GStreamer.cmake: * platform/HolePunch.cmake: * platform/ImageDecoders.cmake: * platform/Soup.cmake: Added. * platform/TextureMapper.cmake: Source/WebKit: WebCore now uses WebCore_PRIVATE_INCLUDE_DIRECTORIES for all ports. This revealed problems with WebKit's usage of WebCore headers. All include directories directly referencing the WebCore source tree we're removed from the CMake files. Any includes of WebCore headers using "*.h" were modified to <WebCore/*.h> Removed generation of forwarding headers for WebCore using the perl script. * CMakeLists.txt: * NetworkProcess/curl/NetworkDataTaskCurl.h: * PlatformWPE.cmake: * PlatformWin.cmake: * Scripts/generate-forwarding-headers.pl: * UIProcess/API/glib/WebKitUserContentFilterStore.cpp: * UIProcess/API/wpe/WebKitColorPrivate.h: * UIProcess/WebsiteData/win/WebsiteDataStoreWin.cpp: * UIProcess/win/PageClientImpl.cpp: Source/WebKitLegacy: Added WebCorePrivateFrameworkHeaders as a dependency of WebKitLegacy for all ports. WebCore now uses WebCore_PRIVATE_INCLUDE_DIRECTORIES for all ports. This revealed problems with WebKit's usage of WebCore headers. All include directories directly referencing the WebCore source tree we're removed from the CMake files. * CMakeLists.txt: * PlatformWin.cmake: Tools: Added WebCorePrivateFrameworkHeaders as a dependency of TestWebKitAPI for all ports. WebCore now uses WebCore_PRIVATE_INCLUDE_DIRECTORIES for all ports. Any includes of WebCore headers using "*.h" were modified to <WebCore/*.h> * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h: * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h: * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp: * TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp: * WebKitTestRunner/win/PlatformWebViewWin.cpp: Canonical link: https://commits.webkit.org/211325@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-18 23:20:26 +00:00
list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES
[WPE] Add support for holepunch using an external video player https://bugs.webkit.org/show_bug.cgi?id=194899 Reviewed by Xabier Rodriguez-Calvar. .: Add EXTERNAL_HOLEPUNCH option to the WPE port. Add a manual test to check the feature. Rename and update the test for GStreamer holepunch to avoid confusion. * ManualTests/wpe/video-player-holepunch-external.html: Added. * ManualTests/wpe/video-player-holepunch-gstreamer.html: Renamed from ManualTests/wpe/video-player-holepunch.html. * Source/cmake/OptionsWPE.cmake: Source/WebCore: Implement the holepunch feature to allow playback using an external player. This creates a new dummy MediaPlayerPrivateHolePunch that accepts only the type "video/holepunch", and whose goal is to just draw a transparent rectangle in the position where the video should be. This can be used to allow a player placed on a lower plane than the browser to become visible. Added ManualTest wpe/video-player-holepunch-external.html to test the feature. * PlatformWPE.cmake: * platform/HolePunch.cmake: Added. * platform/graphics/MediaPlayer.cpp: (WebCore::buildMediaEnginesVector): * platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp: Added. (WebCore::MediaPlayerPrivateHolePunch::MediaPlayerPrivateHolePunch): (WebCore::MediaPlayerPrivateHolePunch::~MediaPlayerPrivateHolePunch): (WebCore::MediaPlayerPrivateHolePunch::platformLayer const): (WebCore::MediaPlayerPrivateHolePunch::naturalSize const): (WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer): (WebCore::MediaPlayerPrivateHolePunch::swapBuffersIfNeeded): (WebCore::MediaPlayerPrivateHolePunch::proxy const): (WebCore::mimeTypeCache): (WebCore::MediaPlayerPrivateHolePunch::getSupportedTypes): (WebCore::MediaPlayerPrivateHolePunch::supportsType): (WebCore::MediaPlayerPrivateHolePunch::registerMediaEngine): (WebCore::MediaPlayerPrivateHolePunch::notifyReadyState): * platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h: Added. * platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp: (WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper): Canonical link: https://commits.webkit.org/209357@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-25 09:20:01 +00:00
"${WEBCORE_DIR}/platform/graphics/holepunch"
)
list(APPEND WebCore_SOURCES
platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp
)