Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bd2c5cb034caad9a6d36421ecb4acacf4b35ac20
      
https://github.com/WebKit/WebKit/commit/bd2c5cb034caad9a6d36421ecb4acacf4b35ac20
  Author: Jean-Yves Avenard <[email protected]>
  Date:   2025-11-04 (Tue, 04 Nov 2025)

  Changed paths:
    M Source/WebCore/html/track/AudioTrack.cpp
    M Source/WebCore/html/track/AudioTrack.h
    M Source/WebCore/html/track/InbandGenericTextTrack.cpp
    M Source/WebCore/html/track/InbandTextTrack.cpp
    M Source/WebCore/html/track/InbandTextTrack.h
    M Source/WebCore/html/track/InbandWebVTTTextTrack.cpp
    M Source/WebCore/html/track/TextTrack.h
    M Source/WebCore/html/track/TrackBase.cpp
    M Source/WebCore/html/track/TrackBase.h
    M Source/WebCore/html/track/VTTCue.cpp
    M Source/WebCore/html/track/VTTCue.h
    M Source/WebCore/html/track/VideoTrack.cpp
    M Source/WebCore/html/track/VideoTrack.h
    M Source/WebCore/html/track/WebVTTParser.cpp
    M Source/WebCore/html/track/WebVTTParser.h
    M Source/WebCore/loader/TextTrackLoader.cpp
    M Source/WebCore/platform/graphics/InbandTextTrackPrivate.h
    M Source/WebCore/platform/graphics/TrackPrivateBase.cpp
    M Source/WebCore/platform/graphics/TrackPrivateBase.h
    M Source/WebCore/platform/graphics/TrackPrivateBaseClient.h
    M Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h
    M Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm
    M Source/WebCore/platform/graphics/avfoundation/AudioTrackPrivateAVF.h
    M 
Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h
    M 
Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp
    M Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h
    M Source/WebCore/platform/graphics/avfoundation/VideoTrackPrivateAVF.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/InbandChapterTrackPrivateAVFObjC.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/InbandChapterTrackPrivateAVFObjC.mm
    M 
Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm
    M 
Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm
    M Source/WebCore/platform/graphics/cocoa/AudioTrackPrivateWebM.cpp
    M Source/WebCore/platform/graphics/cocoa/AudioTrackPrivateWebM.h
    M Source/WebCore/platform/graphics/cocoa/VideoTrackPrivateWebM.cpp
    M Source/WebCore/platform/graphics/cocoa/VideoTrackPrivateWebM.h
    M Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h
    M 
Source/WebCore/platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h
    M 
Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp
    M 
Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h
    M Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h
    M Source/WebCore/platform/graphics/iso/ISOVTTCue.cpp
    M Source/WebCore/platform/graphics/iso/ISOVTTCue.h
    M Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.h
    M Source/WebCore/platform/mediastream/VideoTrackPrivateMediaStream.h
    M Source/WebKit/GPUProcess/media/RemoteAudioTrackProxy.cpp
    M Source/WebKit/GPUProcess/media/RemoteAudioTrackProxy.h
    M Source/WebKit/GPUProcess/media/RemoteTextTrackProxy.cpp
    M Source/WebKit/GPUProcess/media/RemoteTextTrackProxy.h
    M Source/WebKit/GPUProcess/media/RemoteVideoTrackProxy.cpp
    M Source/WebKit/GPUProcess/media/RemoteVideoTrackProxy.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/WebProcess/GPU/media/AudioTrackPrivateRemote.cpp
    M Source/WebKit/WebProcess/GPU/media/AudioTrackPrivateRemote.h
    M Source/WebKit/WebProcess/GPU/media/TextTrackPrivateRemote.cpp
    M Source/WebKit/WebProcess/GPU/media/TextTrackPrivateRemote.h
    M Source/WebKit/WebProcess/GPU/media/VideoTrackPrivateRemote.cpp
    M Source/WebKit/WebProcess/GPU/media/VideoTrackPrivateRemote.h

  Log Message:
  -----------
  TrackPrivateBase's label/language should return a String
https://bugs.webkit.org/show_bug.cgi?id=301842
rdar://163911707

Reviewed by Youenn Fablet.

In preparation for running the SourceBufferPrivate/MediaSourcePrivate
in the content process, we need the TrackPrivateBase to use Strings rather
than AtomStrings.
The TrackPrivateBase is created and owned by the SourceBufferPrivate.
While the SourceBufferPrivate was up to now a main thread only object,
this assumption is no longer going to be true: SourceBufferPrivate may
run in a worker's thread.
By making the TrackPrivateBase use Strings instead of AtomStrings we can
allow to move the objects between threads.
Many of the inherited class members had been moved to Strings in 274956@main.
We converted two base class members.
When building an {Audio,Video,Text}Track from an {Audio,Video,Text}TrackPrivate
take an isolatedCopy before converting to an AtomString. The AtomString 
conversion
mutate the original String, even if const that makes it non-isolated.

No change in observable behaviours.
Covered by existing tests.
* Source/WebCore/html/track/AudioTrack.cpp:
(WebCore::AudioTrack::labelChanged):
(WebCore::AudioTrack::languageChanged):
* Source/WebCore/html/track/AudioTrack.h:
* Source/WebCore/html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::InbandTextTrack):
(WebCore::InbandTextTrack::inBandMetadataTrackDispatchType const):
(WebCore::InbandTextTrack::labelChanged):
(WebCore::InbandTextTrack::languageChanged):
* Source/WebCore/html/track/InbandTextTrack.h:
* Source/WebCore/html/track/TextTrack.h:
(WebCore::TextTrack::inBandMetadataTrackDispatchType const):
* Source/WebCore/html/track/TrackBase.cpp:
(WebCore::trackUID):
(WebCore::MediaTrackBase::MediaTrackBase):
* Source/WebCore/html/track/TrackBase.h:
* Source/WebCore/html/track/VideoTrack.cpp:
(WebCore::VideoTrack::VideoTrack):
(WebCore::VideoTrack::labelChanged):
(WebCore::VideoTrack::languageChanged):
* Source/WebCore/html/track/VideoTrack.h:
* Source/WebCore/html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseCueData):
* Source/WebCore/platform/graphics/InbandTextTrackPrivate.h:
(WebCore::InbandTextTrackPrivate::inBandMetadataTrackDispatchType const):
* Source/WebCore/platform/graphics/TrackPrivateBase.cpp:
(WebCore::TrackPrivateBase::trackUID const):
* Source/WebCore/platform/graphics/TrackPrivateBase.h:
* Source/WebCore/platform/graphics/TrackPrivateBaseClient.h:
* Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
* Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
(WebCore::AVTrackPrivateAVFObjCImpl::label const):
(WebCore::AVTrackPrivateAVFObjCImpl::language const):
* Source/WebCore/platform/graphics/avfoundation/AudioTrackPrivateAVF.h:
(WebCore::AudioTrackPrivateAVF::setLabel):
(WebCore::AudioTrackPrivateAVF::setLanguage):
* 
Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
(WebCore::InbandMetadataTextTrackPrivateAVF::setInBandMetadataTrackDispatchType):
* Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processVTTSample):
* Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
(WebCore::InbandTextTrackPrivateAVF::setLabel):
(WebCore::InbandTextTrackPrivateAVF::setLanguage):
* Source/WebCore/platform/graphics/avfoundation/VideoTrackPrivateAVF.h:
(WebCore::VideoTrackPrivateAVF::setLabel):
(WebCore::VideoTrackPrivateAVF::setLanguage):
* 
Source/WebCore/platform/graphics/avfoundation/objc/InbandChapterTrackPrivateAVFObjC.h:
* 
Source/WebCore/platform/graphics/avfoundation/objc/InbandChapterTrackPrivateAVFObjC.mm:
(WebCore::InbandChapterTrackPrivateAVFObjC::processChapters):
(WebCore::InbandChapterTrackPrivateAVFObjC::language const):
* 
Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
* 
Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
(WebCore::InbandTextTrackPrivateAVFObjC::label const):
(WebCore::InbandTextTrackPrivateAVFObjC::language const):
* 
Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm:
(WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
* Source/WebCore/platform/graphics/cocoa/AudioTrackPrivateWebM.cpp:
(WebCore::AudioTrackPrivateWebM::label const):
(WebCore::AudioTrackPrivateWebM::language const):
* Source/WebCore/platform/graphics/cocoa/AudioTrackPrivateWebM.h:
* Source/WebCore/platform/graphics/cocoa/VideoTrackPrivateWebM.cpp:
(WebCore::VideoTrackPrivateWebM::label const):
(WebCore::VideoTrackPrivateWebM::language const):
* Source/WebCore/platform/graphics/cocoa/VideoTrackPrivateWebM.h:
* Source/WebCore/platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
* Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer):
(WebCore::TrackPrivateBaseGStreamer::setPad):
(WebCore::TrackPrivateBaseGStreamer::getLanguageCode):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfStreamChanged):
(WebCore::TrackPrivateBaseGStreamer::updateTrackIDFromTags):
* Source/WebCore/platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
(WebCore::TrackPrivateBaseGStreamer::gstStreamId const):
* Source/WebCore/platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
* Source/WebCore/platform/graphics/iso/ISOVTTCue.cpp:
(WebCore::ISOWebVTTCue::ISOWebVTTCue):
(WebCore::ISOWebVTTCue::parse):
(WebCore::ISOWebVTTCue::isolatedCopy const):
(WebCore::ISOWebVTTCue::isolatedCopy):
* Source/WebCore/platform/graphics/iso/ISOVTTCue.h:
* Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.h:
* Source/WebCore/platform/mediastream/VideoTrackPrivateMediaStream.h:
* Source/WebKit/GPUProcess/media/RemoteAudioTrackProxy.cpp:
(WebKit::RemoteAudioTrackProxy::labelChanged):
(WebKit::RemoteAudioTrackProxy::languageChanged):
* Source/WebKit/GPUProcess/media/RemoteAudioTrackProxy.h:
* Source/WebKit/GPUProcess/media/RemoteTextTrackProxy.cpp:
(WebKit::RemoteTextTrackProxy::labelChanged):
(WebKit::RemoteTextTrackProxy::languageChanged):
* Source/WebKit/GPUProcess/media/RemoteTextTrackProxy.h:
* Source/WebKit/GPUProcess/media/RemoteVideoTrackProxy.cpp:
(WebKit::RemoteVideoTrackProxy::labelChanged):
(WebKit::RemoteVideoTrackProxy::languageChanged):
* Source/WebKit/GPUProcess/media/RemoteVideoTrackProxy.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/GPU/media/AudioTrackPrivateRemote.h:
* Source/WebKit/WebProcess/GPU/media/TextTrackPrivateRemote.h:
* Source/WebKit/WebProcess/GPU/media/VideoTrackPrivateRemote.h:

Canonical link: https://commits.webkit.org/302527@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to