Branch: refs/heads/webkitglib/2.54
Home: https://github.com/WebKit/WebKit
Commit: d7548346f33e5d7acd0e7af6eb5b44297b6b63bc
https://github.com/WebKit/WebKit/commit/d7548346f33e5d7acd0e7af6eb5b44297b6b63bc
Author: Philippe Normand <[email protected]>
Date: 2026-08-02 (Sun, 02 Aug 2026)
Changed paths:
M Source/WebCore/platform/glib/UserAgentQuirks.cpp
M Tools/TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp
Log Message:
-----------
Cherry-pick 318152@main (1d43d49faf11).
https://bugs.webkit.org/show_bug.cgi?id=320550
[GLib] Quirks: Make HBOMax library accessible again
https://bugs.webkit.org/show_bug.cgi?id=320550
Reviewed by Carlos Garcia Campos.
Without a firefox quirk for play.hbomax.com we are redirected to a page
asking to install some HBO
mobile app.
Canonical link: https://commits.webkit.org/318152@main
Canonical link: https://commits.webkit.org/317695.23@webkitglib/2.54
Commit: e9750334b47114487a7e70fa3bc428a3f59e0aca
https://github.com/WebKit/WebKit/commit/e9750334b47114487a7e70fa3bc428a3f59e0aca
Author: Philippe Normand <[email protected]>
Date: 2026-08-02 (Sun, 02 Aug 2026)
Changed paths:
M Source/WebCore/platform/glib/UserAgentQuirks.cpp
Log Message:
-----------
Cherry-pick 318156@main (933452434c72).
https://bugs.webkit.org/show_bug.cgi?id=320553
[GLib] Simplify hboxmax User-Agent quirk
https://bugs.webkit.org/show_bug.cgi?id=320553
Reviewed by Carlos Garcia Campos.
Use Firefox UA for all hbomax.com sub-domains. The previous approach broke
once already and we had
to handle play.hbomax.com. This new approach should be more reliable in
case of additional
User-Agent checks on hbomax.
* Source/WebCore/platform/glib/UserAgentQuirks.cpp:
(WebCore::urlRequiresFirefoxBrowser):
(WebCore::UserAgentQuirks::quirksForURL):
Canonical link: https://commits.webkit.org/318156@main
Canonical link: https://commits.webkit.org/317695.24@webkitglib/2.54
Commit: 7212242b41604d23333cfca410cb066019ff8590
https://github.com/WebKit/WebKit/commit/7212242b41604d23333cfca410cb066019ff8590
Author: Carlos Garcia Campos <[email protected]>
Date: 2026-08-02 (Sun, 02 Aug 2026)
Changed paths:
M Source/JavaScriptCore/API/glib/JSCVirtualMachine.cpp
M Source/WTF/wtf/glib/ActivityObserver.h
M Source/WebCore/page/scrolling/coordinated/ScrollingTreeCoordinated.cpp
M Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.cpp
M
Source/WebCore/platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp
M Source/WebCore/platform/graphics/skia/SkiaGPUAtlas.h
M Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferProxy.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerContentsDisplayDelegateCoordinated.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp
M Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp
M Source/WebCore/platform/gstreamer/GStreamerElementHarness.h
M Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp
M Source/WebCore/platform/image-decoders/ScalableImageDecoder.h
M Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.cpp
M Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.h
M Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp
M Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp
M Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.h
M Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp
M Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.h
M Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp
M Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp
M Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h
M Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp
M Source/WebCore/platform/image-decoders/png/PNGImageDecoder.h
M Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.cpp
M Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.h
M Source/WebCore/platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLGBM.cpp
M Source/WebKit/UIProcess/glib/DisplayVBlankMonitorThreaded.cpp
M Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp
M Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.h
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.h
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp
Log Message:
-----------
Cherry-pick 318300@main (a7ea27dd3bb6).
https://bugs.webkit.org/show_bug.cgi?id=320639
[GTK][WPE] Fix thread safety issues caught by -Wthread-safety
https://bugs.webkit.org/show_bug.cgi?id=320639
Reviewed by Adrian Perez de Castro.
Most of them are false positives that just require proper annotations,
but there are quite a few real issues too.
* Source/JavaScriptCore/API/glib/JSCVirtualMachine.cpp:
(jscVirtualMachineGetOrCreate):
* Source/WTF/wtf/glib/ActivityObserver.h:
(WTF::ActivityObserver::start):
(WTF::ActivityObserver::notify):
* Source/WebCore/page/scrolling/coordinated/ScrollingTreeCoordinated.cpp:
(WebCore::ScrollingTreeCoordinated::applyLayerPositionsInternal):
(WebCore::traverseDescendantLayersAtPoint):
(WebCore::ScrollingTreeCoordinated::scrollingNodeForPoint):
(WebCore::ScrollingTreeCoordinated::eventListenerRegionTypesForPoint const):
* Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::notifyIsPlaying):
* Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackDataHolder::disconnect):
*
Source/WebCore/platform/graphics/gstreamer/VideoFrameMetadataGStreamer.cpp:
(webkitGstBufferGetVideoFrameMetadata):
(webkitGstBufferGetProcessingTime):
*
Source/WebCore/platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp:
(WebCore::MediaSourcePrivateGStreamer::addSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::startPlaybackIfHasAllTracks):
* Source/WebCore/platform/graphics/skia/SkiaGPUAtlas.h:
(WebCore::AtlasUploadCondition::wait):
* Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
(WebCore::BitmapTexturePool::enterLimitExceededModeIfNeeded):
(WebCore::BitmapTexturePool::exitLimitExceededModeIfNeeded):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp:
(WebCore::CoordinatedBackingStoreProxy::updateIfNeeded):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp:
(WebCore::CoordinatedPlatformLayer::setPosition):
(WebCore::CoordinatedPlatformLayer::position const):
(WebCore::CoordinatedPlatformLayer::setBoundsOrigin):
(WebCore::CoordinatedPlatformLayer::boundsOrigin const):
(WebCore::CoordinatedPlatformLayer::setAnchorPoint):
(WebCore::CoordinatedPlatformLayer::anchorPoint const):
(WebCore::CoordinatedPlatformLayer::setSize):
(WebCore::CoordinatedPlatformLayer::size const):
(WebCore::CoordinatedPlatformLayer::bounds const):
(WebCore::CoordinatedPlatformLayer::setTransform):
(WebCore::CoordinatedPlatformLayer::transform const):
(WebCore::CoordinatedPlatformLayer::setChildrenTransform):
(WebCore::CoordinatedPlatformLayer::childrenTransform const):
(WebCore::CoordinatedPlatformLayer::setVisibleRect):
(WebCore::CoordinatedPlatformLayer::visibleRect const):
(WebCore::CoordinatedPlatformLayer::setTransformedVisibleRect):
(WebCore::CoordinatedPlatformLayer::setScrollingNodeID):
(WebCore::CoordinatedPlatformLayer::scrollingNodeID const):
(WebCore::CoordinatedPlatformLayer::setDrawsContent):
(WebCore::CoordinatedPlatformLayer::setMasksToBounds):
(WebCore::CoordinatedPlatformLayer::setPreserves3D):
(WebCore::CoordinatedPlatformLayer::setBackfaceVisibility):
(WebCore::CoordinatedPlatformLayer::setOpacity):
(WebCore::CoordinatedPlatformLayer::setBlendMode):
(WebCore::CoordinatedPlatformLayer::setContentsVisible):
(WebCore::CoordinatedPlatformLayer::contentsVisible const):
(WebCore::CoordinatedPlatformLayer::setContentsOpaque):
(WebCore::CoordinatedPlatformLayer::setContentsRect):
(WebCore::CoordinatedPlatformLayer::setContentsRectClipsDescendants):
(WebCore::CoordinatedPlatformLayer::setContentsClippingRect):
(WebCore::CoordinatedPlatformLayer::setContentsScale):
(WebCore::CoordinatedPlatformLayer::contentsScale const):
(WebCore::CoordinatedPlatformLayer::hasCommittedContentsBuffer const):
(WebCore::CoordinatedPlatformLayer::setContentsBuffer):
(WebCore::CoordinatedPlatformLayer::setContentsImage):
(WebCore::CoordinatedPlatformLayer::setContentsColor):
(WebCore::CoordinatedPlatformLayer::setContentsTileSize):
(WebCore::CoordinatedPlatformLayer::setContentsTilePhase):
(WebCore::CoordinatedPlatformLayer::setDirtyRegion):
(WebCore::CoordinatedPlatformLayer::addDamage):
(WebCore::CoordinatedPlatformLayer::damageWholeLayer):
(WebCore::CoordinatedPlatformLayer::setFilters):
(WebCore::CoordinatedPlatformLayer::setMask):
(WebCore::CoordinatedPlatformLayer::setReplica):
(WebCore::CoordinatedPlatformLayer::setBackdrop):
(WebCore::CoordinatedPlatformLayer::notifyBackdropFiltersChanged):
(WebCore::CoordinatedPlatformLayer::setBackdropRect):
(WebCore::CoordinatedPlatformLayer::setIsBackdropRoot):
(WebCore::CoordinatedPlatformLayer::setAnimations):
(WebCore::CoordinatedPlatformLayer::setChildren):
(WebCore::CoordinatedPlatformLayer::children const):
(WebCore::CoordinatedPlatformLayer::setEventRegion):
(WebCore::CoordinatedPlatformLayer::eventRegion const):
(WebCore::CoordinatedPlatformLayer::setClipPath):
(WebCore::CoordinatedPlatformLayer::setDebugBorder):
(WebCore::CoordinatedPlatformLayer::setShowRepaintCounter):
(WebCore::CoordinatedPlatformLayer::needsBackingStore const):
(WebCore::CoordinatedPlatformLayer::updateContents):
(WebCore::CoordinatedPlatformLayer::paint):
(WebCore::CoordinatedPlatformLayer::record):
(WebCore::CoordinatedPlatformLayer::replay):
(WebCore::CoordinatedPlatformLayer::flushPositionChanges):
(WebCore::CoordinatedPlatformLayer::flushCompositingStateOnTarget):
(WebCore::CoordinatedPlatformLayer::flushCompositingStateOnSkiaTarget):
(WebCore::CoordinatedPlatformLayer::hasPendingBackingStoreTileUpdates
const):
(WebCore::CoordinatedPlatformLayer::processPendingBackingStoreTileUpdates):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h:
(WebCore::CoordinatedPlatformLayer::WTF_RETURNS_LOCK):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferProxy.cpp:
(WebCore::CoordinatedPlatformLayerBufferProxy::consumePendingBufferIfNeeded):
*
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerContentsDisplayDelegateCoordinated.cpp:
(WebCore::GraphicsLayerContentsDisplayDelegateCoordinated::display):
*
Source/WebCore/platform/graphics/texmap/coordinated/GraphicsLayerCoordinated.cpp:
(WebCore::GraphicsLayerCoordinated::updateGeometry):
(WebCore::GraphicsLayerCoordinated::updateVisibleRect):
(WebCore::GraphicsLayerCoordinated::updateBackdropFilters):
(WebCore::GraphicsLayerCoordinated::updateBackdropFiltersRect):
(WebCore::GraphicsLayerCoordinated::updateAnimations):
(WebCore::GraphicsLayerCoordinated::updateIndicators):
* Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp:
(WebCore::GStreamerElementHarness::Stream::Stream):
(WebCore::GStreamerElementHarness::Stream::pullSample):
(WebCore::GStreamerElementHarness::Stream::outputCaps):
* Source/WebCore/platform/gstreamer/GStreamerElementHarness.h:
* Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.cpp:
(WebCore::AVIFImageDecoder::findFirstRequiredFrameToDecode):
(WebCore::AVIFImageDecoder::frameBufferAtIndex):
(WebCore::AVIFImageDecoder::isComplete):
(WebCore::AVIFImageDecoder::decode):
* Source/WebCore/platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::frameBufferAtIndex):
(WebCore::BMPImageDecoder::decode):
(WebCore::BMPImageDecoder::decodeHelper):
* Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::frameCount const):
(WebCore::GIFImageDecoder::findFirstRequiredFrameToDecode):
(WebCore::GIFImageDecoder::frameBufferAtIndex):
(WebCore::GIFImageDecoder::clearFrameBufferCache):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::frameComplete):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::initFrameBuffer):
(WebCore::GIFImageDecoder::decodeIfNeededAndGetFrameCount const):
(WebCore::GIFImageDecoder::clearDecodedPixelDataIfNeeded):
* Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::frameCount const):
(WebCore::ICOImageDecoder::frameBufferAtIndex):
(WebCore::ICOImageDecoder::decode):
(WebCore::ICOImageDecoder::decodeAtIndex):
(WebCore::ICOImageDecoder::decodeIfNeededAndGetFrameCount const):
* Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::frameBufferAtIndex):
(WebCore::JPEGImageDecoder::outputScanlines):
(WebCore::JPEGImageDecoder::jpegComplete):
(WebCore::JPEGImageDecoder::decode):
* Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp:
(WebCore::JPEGXLImageDecoder::frameBufferAtIndex):
(WebCore::JPEGXLImageDecoder::clearFrameBufferCache):
(WebCore::JPEGXLImageDecoder::updateFrameCount):
(WebCore::JPEGXLImageDecoder::processInput):
(WebCore::JPEGXLImageDecoder::imageOut):
(WebCore::JPEGXLImageDecoder::decodeIfNeededAndGetFrameCount const):
(WebCore::JPEGXLImageDecoder::clearDecodedPixelDataIfNeeded):
(WebCore::JPEGXLImageDecoder::frameCount const): Deleted.
* Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::pngComplete):
(WebCore::PNGImageDecoder::readChunks):
(WebCore::PNGImageDecoder::clearFrameBufferCache):
(WebCore::PNGImageDecoder::initFrameBuffer):
(WebCore::PNGImageDecoder::frameComplete):
(WebCore::PNGImageDecoder::firstFrameBuffer):
(WebCore::PNGImageDecoder::clearDecodedPixelDataIfNeeded):
* Source/WebCore/platform/image-decoders/png/PNGImageDecoder.h:
* Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::frameBufferAtIndex):
(WebCore::WEBPImageDecoder::findFirstRequiredFrameToDecode):
(WebCore::WEBPImageDecoder::decode):
(WebCore::WEBPImageDecoder::decodeFrame):
(WebCore::WEBPImageDecoder::initFrameBuffer):
(WebCore::WEBPImageDecoder::applyPostProcessing):
(WebCore::WEBPImageDecoder::clearFrameBufferCache):
(WebCore::WEBPImageDecoder::clearDecodedPixelDataIfNeeded):
* Source/WebCore/platform/mediarecorder/MediaRecorderPrivateGStreamer.cpp:
(WebCore::MediaRecorderPrivateBackend::stopRecording):
* Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
(WebCore::GStreamerVideoCapturer::setupPipeline): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLGBM.cpp:
(WebKit::RemoteGraphicsContextGLGBM::prepareForDisplay):
* Source/WebKit/UIProcess/glib/DisplayVBlankMonitorThreaded.cpp:
(WebKit::DisplayVBlankMonitorThreaded::startThreadIfNeeded):
(WebKit::DisplayVBlankMonitorThreaded::invalidate):
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp:
(WebKit::AcceleratedSurface::SwapChain::createTarget const):
(WebKit::AcceleratedSurface::isOpaque const):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.h:
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp:
(WebKit::m_renderTimer):
(WebKit::ThreadedCompositor::startRenderTimer):
(WebKit::ThreadedCompositor::stopRenderTimer):
(WebKit::ThreadedCompositor::updateRenderTimer):
(WebKit::ThreadedCompositor::isOnlyRenderingUpdatePendingAndWaitingForTiles
const):
(WebKit::ThreadedCompositor::scheduleUpdateLocked):
* Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.cpp:
(WebKit::DisplayVBlankMonitorWPE::addCallbackIfNeeded):
(WebKit::DisplayVBlankMonitorWPE::removeCallbackIfNeeded):
* Source/WebKit/UIProcess/wpe/DisplayVBlankMonitorWPE.h:
* Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp:
(WebCore::ScalableImageDecoder::frameCount const):
(WebCore::ScalableImageDecoder::clearFrameBufferCache):
* Source/WebCore/platform/image-decoders/ScalableImageDecoder.h:
(WebCore::ScalableImageDecoder::WTF_REQUIRES_LOCK):
* Source/WebCore/platform/image-decoders/avif/AVIFImageDecoder.h:
* Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.h:
* Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.h:
* Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h:
* Source/WebCore/platform/image-decoders/webp/WEBPImageDecoder.h:
Canonical link: https://commits.webkit.org/318300@main
Canonical link: https://commits.webkit.org/317695.25@webkitglib/2.54
Commit: f6c0e4666b54bb5b5fe447cce84ee86377aaf14d
https://github.com/WebKit/WebKit/commit/f6c0e4666b54bb5b5fe447cce84ee86377aaf14d
Author: Carlos Garcia Campos <[email protected]>
Date: 2026-08-02 (Sun, 02 Aug 2026)
Changed paths:
M Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp
M Source/WebCore/platform/RunLoopObserver.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Log Message:
-----------
Cherry-pick 318316@main (bd37677064a8).
https://bugs.webkit.org/show_bug.cgi?id=320741
[GTK][WPE] Fix more issues caught by -Wthread-safety
https://bugs.webkit.org/show_bug.cgi?id=320741
Reviewed by Philippe Normand.
* Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::JSONFileHandler::open):
* Source/WebCore/platform/RunLoopObserver.cpp:
(WebCore::RunLoopObserver::runLoopObserverFired):
*
Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::repaint):
Canonical link: https://commits.webkit.org/318316@main
Canonical link: https://commits.webkit.org/317695.26@webkitglib/2.54
Compare: https://github.com/WebKit/WebKit/compare/31cfb645ecfb...f6c0e4666b54
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications