Bug 232199 - [GTK] REGRESSION (r279171) (r279854): ENABLE_VIDEO=off build broken
Summary: [GTK] REGRESSION (r279171) (r279854): ENABLE_VIDEO=off build broken
Status: RESOLVED DUPLICATE of bug 232264
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: WebKit Nightly Build
Hardware: Other Other
: P3 Normal
Assignee: Nobody
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2021-10-23 09:49 PDT by 2khramtsov
Modified: 2021-10-25 14:24 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description 2khramtsov 2021-10-23 09:49:37 PDT
ENABLE_VIDEO=off ENABLE_WEB_AUDIO=off build (with r270758 reverted see bug 232198) on FreeBSD fails.

Regressed by: (r279171) https://github.com/WebKit/WebKit/commit/7c0f13f37ec, likely not guarded where appropriate,
downstream reverted [1] this and partly reverted https://github.com/WebKit/WebKit/commit/eb3ebb4849987
Source/WebCore/accessibility/AXObjectCache.cpp: removed #include "AXImage.h

Regressed by: (r279854) https://github.com/WebKit/WebKit/commit/b87d5003f832

In file included from /wrkdirs/usr/ports/www/webkit2-gtk3/work/.build/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-19.cpp:6:
/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.34.0/Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:272:33: error: out-of-line definition of 'paintFrameForMedia' does not match any declaration in 'WebCore::BifurcatedGraphicsContext'
void BifurcatedGraphicsContext::paintFrameForMedia(MediaPlayer& player, const FloatRect& destination)
                                ^~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.34.0/Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:274:22: error: no member named 'paintFrameForMedia' in 'WebCore::GraphicsContext'
    m_primaryContext.paintFrameForMedia(player, destination);
    ~~~~~~~~~~~~~~~~ ^
/wrkdirs/usr/ports/www/webkit2-gtk3/work/webkitgtk-2.34.0/Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:275:24: error: no member named 'paintFrameForMedia' in 'WebCore::
GraphicsContext'
    m_secondaryContext.paintFrameForMedia(player, destination);
    ~~~~~~~~~~~~~~~~~~ ^
3 errors generated.

Downstream fix is to guard BifurcatedGraphicsContext::paintFrameForMedia with ENABLE(VIDEO) [1]:

diff --git Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp
index c0ce72c..a2a58df 100644
--- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp
+++ Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp
@@ -269,11 +269,13 @@ void BifurcatedGraphicsContext::drawPattern(NativeImage& nativeImage, const Floa
     m_secondaryContext.drawPattern(nativeImage, imageSize, destRect, tileRect, patternTransform, phase, spacing, options);
 }
 
+#if ENABLE(VIDEO)
 void BifurcatedGraphicsContext::paintFrameForMedia(MediaPlayer& player, const FloatRect& destination)
 {
     m_primaryContext.paintFrameForMedia(player, destination);
     m_secondaryContext.paintFrameForMedia(player, destination);
 }
+#endif
 
 void BifurcatedGraphicsContext::scale(const FloatSize& scale)
 {

[1]: https://cgit.freebsd.org/ports/commit/?id=f73bc57ac
Comment 1 Adrian Perez 2021-10-25 14:24:31 PDT
Hi, thanks for the bug report! I noticed this issue myself and started
working on a patch without realizing it had been reported here already.
A few more changes are needed to fix the build with the current state
of the tree, which the patch bug #232264 includes. Once that lands, we
will merge a backport in the 2.34.x stable release branch, too :)

*** This bug has been marked as a duplicate of bug 232264 ***