[webkit-changes] [WebKit/WebKit] 790c97: Cherry-pick 260986 at main (a7c8d725eade). https://bu...
Xabier Rodríguez
noreply at github.com
Wed Apr 12 17:51:02 PDT 2023
Branch: refs/heads/webkitglib/2.40
Home: https://github.com/WebKit/WebKit
Commit: 790c977fdf7b8216637ba5f9a33bc407641ed58f
https://github.com/WebKit/WebKit/commit/790c977fdf7b8216637ba5f9a33bc407641ed58f
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
M Source/WebCore/loader/FrameLoader.cpp
Log Message:
-----------
Cherry-pick 260986 at main (a7c8d725eade). https://bugs.webkit.org/show_bug.cgi?id=253128
Lookalike characters should be removed from the request URL when deciding navigation policy
https://bugs.webkit.org/show_bug.cgi?id=253128
rdar://106061388
Reviewed by Aditya Keerthi.
Add some logic to adjust the request URL if needed, before proceeding with navigation (and calling
out to the client layer).
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::updateRequestAndAddExtraFields):
Canonical link: https://commits.webkit.org/260986@main
Commit: 22c6d2a05359cce9ff4a46ff02ae68e93b8fbf94
https://github.com/WebKit/WebKit/commit/22c6d2a05359cce9ff4a46ff02ae68e93b8fbf94
Author: Philippe Normand <philn at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp
M Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp
Log Message:
-----------
Cherry-pick 261069 at main (558d4317538c). https://bugs.webkit.org/show_bug.cgi?id=253159
[GStreamer][WebRTC] Logging improvements and disable auto-header-extensions on video payloaders
https://bugs.webkit.org/show_bug.cgi?id=253159
Reviewed by Xabier Rodriguez-Calvar.
Also make sure the WebKit GStreamer elements are registered when creating the end-point, otherwise
there's the possibility of outgoing video source failing to configure the encoder in case the
registry scanner hasn't been triggered.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::GStreamerMediaEndpoint):
(WebCore::GStreamerMediaEndpoint::requestPad):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp:
(WebCore::createGStreamerPeerConnectionBackend):
(WebCore::GStreamerPeerConnectionBackend::addTrack):
(WebCore::GStreamerPeerConnectionBackend::addTransceiverFromTrackOrKind):
(WebCore::GStreamerPeerConnectionBackend::newRemoteTransceiver):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:
(WebCore::RealtimeOutgoingVideoSourceGStreamer::setPayloadType):
Canonical link: https://commits.webkit.org/261069@main
Commit: 5194391d652ac0d3437029087cc5ee27558c2f99
https://github.com/WebKit/WebKit/commit/5194391d652ac0d3437029087cc5ee27558c2f99
Author: Philippe Normand <philn at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h
Log Message:
-----------
Cherry-pick 261070 at main (c9a7acf64ee3). https://bugs.webkit.org/show_bug.cgi?id=253237
[GStreamer] GRefPtr template specialization for GstDeviceMonitor
https://bugs.webkit.org/show_bug.cgi?id=253237
Reviewed by Xabier Rodriguez-Calvar.
We're (hopefully) not fixing a leak here, since without specialization the generic
g_object_ref/unref would be called. But having a specialization for this object is still a good
thing, allowing for instance the GStreamer leak tracer to correctly track lifetime of device
monitors.
Also, drive-by, stop the monitor only if it was successfully started, similarily to the
CaptureDeviceManager implementation.
* Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::maximumNumberOfOutputChannels):
* Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
(WTF::refGPtr<GstDeviceMonitor>):
(WTF::derefGPtr<GstDeviceMonitor>):
* Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h:
Canonical link: https://commits.webkit.org/261070@main
Commit: 08263c3ed7b8d72912de87f34ea42af706c1f563
https://github.com/WebKit/WebKit/commit/08263c3ed7b8d72912de87f34ea42af706c1f563
Author: Philippe Normand <philn at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerWebRTCUtils.h
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.cpp
Log Message:
-----------
Cherry-pick 261074 at main (7878d72b0fd7). https://bugs.webkit.org/show_bug.cgi?id=251428
[GStreamer][WebRTC] Implement GstMappedRtpBuffer
https://bugs.webkit.org/show_bug.cgi?id=251428
Reviewed by Xabier Rodriguez-Calvar.
With this new RAII object for mapping RTP buffers we don't need to manually unmap anymore.
Canonical link: https://commits.webkit.org/261074@main
Commit: 11b647a57eb18bcce675ff006a60f22869cea39a
https://github.com/WebKit/WebKit/commit/11b647a57eb18bcce675ff006a60f22869cea39a
Author: Enrique Ocaña González <eocanha at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/Modules/mediasource/SourceBuffer.cpp
Log Message:
-----------
Cherry-pick 261328 at main (1581c8aa2d3c). https://bugs.webkit.org/show_bug.cgi?id=253074
[MSE] Skip initial buffering rate computation
https://bugs.webkit.org/show_bug.cgi?id=253074
Reviewed by Jer Noble.
m_timeOfBufferingMonitor is initialized in SourceBuffer at creation
time. If the first call to monitorBufferingRate() takes too much to
happen for whatever reason (eg: because the webpage takes too much to
perform the first append), the computed interval is already going to be
too big and generate an artificially low m_averageBufferRate.
To mitigate this, I've added code to initialize m_timeOfBufferingMonitor
to zero, detect that special value in monitorBufferingRate() and skip
the first time that the rate computation is done (just assigning the
"now" time to m_timeOfBufferingMonitor, so when the next update is done,
the interval is most realistic).
However, since monitorBufferingRate() calls are only done from
canPlayThroughRange() and that call might happen only once in some
layout tests and production scenarios, m_averageBufferRate might not
reach accurate values on time and make the test fail. To mitigate that,
I've also added extra calls every time a buffer is appended and every
time the append completes.
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/issues/928#issuecomment-1327746356
* Source/WebCore/Modules/mediasource/SourceBuffer.cpp: Initialize m_timeOfBufferingMonitor to zero, meaning "never updated before".
(WebCore::SourceBuffer::appendBuffer): Update monitorBufferingRate.
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): UpdateMonitorBufferingRate.
(WebCore::SourceBuffer::monitorBufferingRate): Skip first m_averageBufferRate update.
Canonical link: https://commits.webkit.org/261328@main
Commit: b4cdd42746802fbb8bc37407e775ad33ea22730b
https://github.com/WebKit/WebKit/commit/b4cdd42746802fbb8bc37407e775ad33ea22730b
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
A LayoutTests/editing/pasteboard/copy-paste-text-with-trailing-colon-expected.txt
A LayoutTests/editing/pasteboard/copy-paste-text-with-trailing-colon.html
M LayoutTests/platform/ios-wk2/TestExpectations
M Source/WebCore/page/Page.cpp
Log Message:
-----------
Cherry-pick 261516 at main (cb882e942695). https://bugs.webkit.org/show_bug.cgi?id=250119
Copying text on a GitHub pull request in split mode sometimes lowercases the first letter
https://bugs.webkit.org/show_bug.cgi?id=250119
rdar://105603708
Reviewed by Aditya Keerthi.
When running lookalike character sanitization upon pasting text, allow the original text to pass
through unchanged in the case where lookalike character sanitization didn't adjust the URL.
Test: editing/pasteboard/copy-paste-text-with-trailing-colon.html
* LayoutTests/editing/pasteboard/copy-paste-text-with-trailing-colon-expected.txt: Added.
* LayoutTests/editing/pasteboard/copy-paste-text-with-trailing-colon.html: Added.
* LayoutTests/platform/ios-wk2/TestExpectations:
Mark the test as failing on iOS for now, while I investigate a fix in <https://webkit.org/b/253708>.
* Source/WebCore/page/Page.cpp:
(WebCore::Page::sanitizeLookalikeCharacters const):
Canonical link: https://commits.webkit.org/261516@main
Commit: 552ed8bc5e2a888d4f178f3bdbdd8c98c523d1ff
https://github.com/WebKit/WebKit/commit/552ed8bc5e2a888d4f178f3bdbdd8c98c523d1ff
Author: Xabier Rodriguez-Calvar <calvaris at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
Log Message:
-----------
Cherry-pick 261571 at main (c5cfffe19659). https://bugs.webkit.org/show_bug.cgi?id=252310
[GStreamer] Try to detect and recover inconsistent playing state
https://bugs.webkit.org/show_bug.cgi?id=252310
Reviewed by Philippe Normand.
A series of buffer flushings could leave pipeline in an inconsistent state: top-level bin in playing with sinks in
paused. This happens if flush is triggered in the middle of paused-to-playing transition which was started by gst bin
async handling of ASYNC_DONE message.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::areAllSinksPlayingForBin):
(WebCore::MediaPlayerPrivateGStreamer::checkPlayingConsistency):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
Canonical link: https://commits.webkit.org/261571@main
Commit: b1ae5757e3d8cd64f22a097d4b94b79a1370fbbd
https://github.com/WebKit/WebKit/commit/b1ae5757e3d8cd64f22a097d4b94b79a1370fbbd
Author: Philippe Normand <philn at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h
Log Message:
-----------
Cherry-pick 261626 at main (e2ccf6b69511). https://bugs.webkit.org/show_bug.cgi?id=253833
[GStreamer][WebRTC] Ensure end-point pipeline is stopped when destroying
https://bugs.webkit.org/show_bug.cgi?id=253833
Reviewed by Xabier Rodriguez-Calvar.
As subject says, make sure the pipeline is teared down during disposal of the EndPoint.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::~GStreamerMediaEndpoint):
(WebCore::GStreamerMediaEndpoint::teardownPipeline):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
Canonical link: https://commits.webkit.org/261626@main
Commit: dbe13ed399dc4d579293a14e3d73ba56b7be58f4
https://github.com/WebKit/WebKit/commit/dbe13ed399dc4d579293a14e3d73ba56b7be58f4
Author: Philippe Normand <philn at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp
Log Message:
-----------
Cherry-pick 261681 at main (2e8371efc38c). https://bugs.webkit.org/show_bug.cgi?id=253955
[GStreamer][WebRTC] StatsCollector: Update GStreamer version checks
https://bugs.webkit.org/show_bug.cgi?id=253955
Reviewed by Xabier Rodriguez-Calvar.
GStreamer 1.22 is out so no need to check 1.21 anymore.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp:
(WebCore::fillReportCallback):
Canonical link: https://commits.webkit.org/261681@main
Commit: d515d9d76d0887a868d5d1ea80ee5190d6b02a0f
https://github.com/WebKit/WebKit/commit/d515d9d76d0887a868d5d1ea80ee5190d6b02a0f
Author: Philippe Normand <philn at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.h
Log Message:
-----------
Cherry-pick 261683 at main (758056c72f5c). https://bugs.webkit.org/show_bug.cgi?id=253954
[GStreamer][WebRTC] Improve DataChannel logs
https://bugs.webkit.org/show_bug.cgi?id=253954
Reviewed by Xabier Rodriguez-Calvar.
The logs now mention one unique identifier per data-channel. This works only when building against
GStreamer 1.22 though because it requires new macros.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.cpp:
(WebCore::GStreamerDataChannelHandler::GStreamerDataChannelHandler):
(WebCore::GStreamerDataChannelHandler::~GStreamerDataChannelHandler):
(WebCore::GStreamerDataChannelHandler::setClient):
(WebCore::GStreamerDataChannelHandler::sendStringData):
(WebCore::GStreamerDataChannelHandler::sendRawData):
(WebCore::GStreamerDataChannelHandler::close):
(WebCore::GStreamerDataChannelHandler::checkState):
(WebCore::GStreamerDataChannelHandler::bufferedAmountChanged):
(WebCore::GStreamerDataChannelHandler::onMessageData):
(WebCore::GStreamerDataChannelHandler::onMessageString):
(WebCore::GStreamerDataChannelHandler::onError):
(WebCore::GStreamerDataChannelHandler::onClose):
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerDataChannelHandler.h:
Canonical link: https://commits.webkit.org/261683@main
Commit: 025203d1ad69124d065a132e0b1df978dd1a8c53
https://github.com/WebKit/WebKit/commit/025203d1ad69124d065a132e0b1df978dd1a8c53
Author: Philippe Normand <philn at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.h
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
Log Message:
-----------
Cherry-pick 261684 at main (8f08fa82eddb). https://bugs.webkit.org/show_bug.cgi?id=253000
[GStreamer][EME] Added support to check support of cryptoblockformat
https://bugs.webkit.org/show_bug.cgi?id=253000
Reviewed by Xabier Rodriguez-Calvar.
Inspired from downstream WPE 2.22 patch:
https://github.com/WebPlatformForEmbedded/WPEWebKit/commit/e5b91c2bb7732e1047e3f52aa6f6651e0e1f02da
Fixes YT cert test: "Format Support Tests" -> "1. isTypeSupported cryptoblockformat"
Also drive-by change suggested by Xabier, remove the application/x-cbcs check in the Thunder
decryptor as that is now cenc with a cypher-mode.
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::isContentTypeSupported const):
Canonical link: https://commits.webkit.org/261684@main
Commit: b4e1b8bb738da63d1b65f1e40fe677fef975113b
https://github.com/WebKit/WebKit/commit/b4e1b8bb738da63d1b65f1e40fe677fef975113b
Author: Youenn Fablet <youennf at gmail.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/platform/mediastream/RealtimeMediaSource.h
M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h
Log Message:
-----------
Cherry-pick 261785 at main (8684905426f0). https://bugs.webkit.org/show_bug.cgi?id=254018
Expose RealtimeMediaSource fitnessScore as a double
https://bugs.webkit.org/show_bug.cgi?id=254018
rdar://problem/106801067
Reviewed by Eric Carlson.
We should not silently cast double into unsigned, especially since we are doing comparison on the values.
* Source/WebCore/platform/mediastream/RealtimeMediaSource.h:
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h:
Canonical link: https://commits.webkit.org/261785@main
Commit: 2fde66858fd5978e157ae8e6d59b167a393712ef
https://github.com/WebKit/WebKit/commit/2fde66858fd5978e157ae8e6d59b167a393712ef
Author: Jean-Yves Avenard <jya at apple.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/Modules/mediasource/MediaSource.cpp
M Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp
Log Message:
-----------
Cherry-pick 261830 at main (8575978fe5ef). https://bugs.webkit.org/show_bug.cgi?id=254076
MediaSource duration change algorithm incorrectly update the duration
https://bugs.webkit.org/show_bug.cgi?id=254076
rdar://106858912
Reviewed by Jer Noble.
Will be covered by existing tests once the MockMediaSource will be
runnin in the GPU process.
* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setDurationInternal):
* Source/WebCore/platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::durationChanged):
Canonical link: https://commits.webkit.org/261830@main
Commit: 6a874cf052569f49fb452a80513bd1e91cab00cf
https://github.com/WebKit/WebKit/commit/6a874cf052569f49fb452a80513bd1e91cab00cf
Author: Xabier Rodriguez-Calvar <calvaris at igalia.com>
Date: 2023-04-13 (Thu, 13 Apr 2023)
Changed paths:
M Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp
Log Message:
-----------
Cherry-pick 261914 at main (71eaa127b96b). https://bugs.webkit.org/show_bug.cgi?id=254159
[GStreamer][PlayReady] Accept init data as sanitized
https://bugs.webkit.org/show_bug.cgi?id=254159
Reviewed by Carlos Garcia Campos.
When getting init datas from adaptive streaming technologies, it can happen that information does not come in pssh form
and we need to parse it in a custom way.
* Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp:
(WebCore::isPlayReadySanitizedInitializationData):
(WebCore::InitDataRegistry::sanitizeCenc):
Canonical link: https://commits.webkit.org/261914@main
Compare: https://github.com/WebKit/WebKit/compare/c583baa9fe9b...6a874cf05256
More information about the webkit-changes
mailing list