[webkit-changes] [WebKit/WebKit] bf152c: Merge 256232 at main - [GTK] Handle files being disal...

Philippe Normand noreply at github.com
Thu Nov 3 02:55:46 PDT 2022


  Branch: refs/heads/webkitglib/2.38
  Home:   https://github.com/WebKit/WebKit
  Commit: bf152ca374cfc866ec8b784cce84092851da0e70
      https://github.com/WebKit/WebKit/commit/bf152ca374cfc866ec8b784cce84092851da0e70
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/platform/gtk/DragDataGtk.cpp

  Log Message:
  -----------
  Merge 256232 at main - [GTK] Handle files being disallowed in DragDataGtk after 254380 at main
https://bugs.webkit.org/show_bug.cgi?id=247359

Reviewed by Michael Catanzaro.

We need to do the same changes done in 254380 at main for DragDataGtk.

* Source/WebCore/platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::containsFiles const):
(WebCore::DragData::numberOfFiles const):
(WebCore::DragData::asFilenames const):

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

(cherry picked from commit 0d05bac8d326001e57a518b42ae7ad3eafb2c186)


  Commit: 2a31f0c55ad942d1cf78dda9b8a82c79ba6711f9
      https://github.com/WebKit/WebKit/commit/2a31f0c55ad942d1cf78dda9b8a82c79ba6711f9
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp
    M Source/WebCore/page/scrolling/ThreadedScrollingTree.h
    M Source/WebCore/page/scrolling/mac/ScrollingTreeMac.h
    M Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm
    M Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp

  Log Message:
  -----------
  Merge 255722 at main - [Nicosia] AsyncScrolling: lock/unlock layers for hit testing is not implemented
https://bugs.webkit.org/show_bug.cgi?id=246687

Reviewed by Žan Doberšek and Simon Fraser.

It's only implemented for mac platform, we can just move it to ThreadedScrollingTree.

* Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::lockLayersForHitTesting):
(WebCore::ThreadedScrollingTree::unlockLayersForHitTesting):
* Source/WebCore/page/scrolling/ThreadedScrollingTree.h:
* Source/WebCore/page/scrolling/mac/ScrollingTreeMac.h:
* Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm:
(ScrollingTreeMac::lockLayersForHitTesting): Deleted.
(ScrollingTreeMac::unlockLayersForHitTesting): Deleted.
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
(WebCore::ScrollingTreeNicosia::scrollingNodeForPoint):

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

(cherry picked from commit 248bd5dfd8705b4d7ae1a7ce41f9ea1ac075ed4c)


  Commit: 46c6a0be6e121805757f15d79ac9ca0986abdc72
      https://github.com/WebKit/WebKit/commit/46c6a0be6e121805757f15d79ac9ca0986abdc72
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp
    M Source/WebCore/page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h

  Log Message:
  -----------
  Merge 255959 at main - [GTK][WPE] Async Scrolling: Slow scrolling and CSS animations on a static page
https://bugs.webkit.org/show_bug.cgi?id=221738

Reviewed by Žan Doberšek.

Do not schedule a threaded compositor update from the scrolling thread
on every scroll. We were doing that to avoid blocking scrolling when
main thread is blocked, but it doesn't currently work and it's breaking
some sites using fixed backgrounds.

* Source/WebCore/page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::createUpdateScope): Deleted.
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::immediateScrollBy): Deleted.
* Source/WebCore/page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:

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

(cherry picked from commit 1bf61e6bec1893edfa64c595eea49793fa53fccb)


  Commit: 53e0a3c071c6db5017adcd1d57a9a821ae14cd54
      https://github.com/WebKit/WebKit/commit/53e0a3c071c6db5017adcd1d57a9a821ae14cd54
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp
    M Source/WebCore/platform/graphics/nicosia/NicosiaPlatformLayer.h
    M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
    M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h

  Log Message:
  -----------
  Merge 256004 at main - [GTK][WPE] AsyncScrolling: site bobbyhadz.com/blog/git-commit-skip-hooks is not scrollable
https://bugs.webkit.org/show_bug.cgi?id=247004

Reviewed by Žan Doberšek.

The problem is that ScrollingTreeNicosia::scrollingNodeForPoint() is
returning an overflow node containing the given point, but its event
region doesn't contain the point.

* Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
(WebCore::collectDescendantLayersAtPoint): Check also the event region contains the given point.
* Source/WebCore/platform/graphics/nicosia/NicosiaPlatformLayer.h: Add EventRegion.
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setEventRegion):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

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

(cherry picked from commit d911d7875a4949d3b3b5fd15246ea752882ff658)


  Commit: f0a73ef0bd1b61d9c78d2b636fdb0fce9694c56b
      https://github.com/WebKit/WebKit/commit/f0a73ef0bd1b61d9c78d2b636fdb0fce9694c56b
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp

  Log Message:
  -----------
  Merge 256220 at main - [Nicosia] AsyncScrolling: use accessCommitted instead of accessPending when collecting layers for hit testing
https://bugs.webkit.org/show_bug.cgi?id=247182

Reviewed by Žan Doberšek.

We are currently using accessPending when collecting layers and
accessCommitted when iterating the collected layers.

* Source/WebCore/page/scrolling/nicosia/ScrollingTreeNicosia.cpp:
(WebCore::collectDescendantLayersAtPoint):

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

(cherry picked from commit 64b55a4086d73ac3d3b606699e3c851cfa70fd44)


  Commit: e1799c4d072b569a32c3c16886b13d0a3add3210
      https://github.com/WebKit/WebKit/commit/e1799c4d072b569a32c3c16886b13d0a3add3210
  Author: Michael Catanzaro <mcatanzaro at redhat.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/platform/glib/UserAgentGLib.cpp

  Log Message:
  -----------
  Merge 254673 at main - [GLIB] Bump Safari version in user agent header for Safari 16
https://bugs.webkit.org/show_bug.cgi?id=245373

Reviewed by Adrian Perez de Castro.

* Source/WebCore/platform/glib/UserAgentGLib.cpp:
(WebCore::buildUserAgentString):

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

(cherry picked from commit 58b8c07cd04bcae559336698e8cb66c29f8f2892)


  Commit: fb4db1a97bf2f17fdd62258b6a4bc9dc3f5229f9
      https://github.com/WebKit/WebKit/commit/fb4db1a97bf2f17fdd62258b6a4bc9dc3f5229f9
  Author: Philippe Normand <philn at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.h
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.h
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.h
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.h

  Log Message:
  -----------
  Merge 256149 at main - [GStreamer][WebRTC] Events forwarding between end-point and its consumers
https://bugs.webkit.org/show_bug.cgi?id=247126

Reviewed by Xabier Rodriguez-Calvar.

We need to relay upstream events coming from depayloaders to webrtcbin and we also need to relay
downstream events from webrtcbin to the incoming media sources. This should help improving RTP
retransmission, for instance.

RealtimeIncomingSourceGStreamer now directly inherits from RealtimeMediaSource in order to avoid
duplication of the downstream event handling in each sub-class.

* Source/WebCore/platform/mediastream/RealtimeMediaSource.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.cpp:
(WebCore::RealtimeIncomingAudioSourceGStreamer::RealtimeIncomingAudioSourceGStreamer):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp:
(WebCore::RealtimeIncomingSourceGStreamer::RealtimeIncomingSourceGStreamer):
(WebCore::RealtimeIncomingSourceGStreamer::registerClient):
(WebCore::RealtimeIncomingSourceGStreamer::handleUpstreamEvent):
(WebCore::RealtimeIncomingSourceGStreamer::handleDownstreamEvent):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.h:

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

(cherry picked from commit e6b4012424bfe6b5d91858df2959e7535285b452)


  Commit: 24392f6d032f210046233e4775efa714f6df50f7
      https://github.com/WebKit/WebKit/commit/24392f6d032f210046233e4775efa714f6df50f7
  Author: Diego Pino Garcia <dpino at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.h

  Log Message:
  -----------
  Merge 256151 at main - [GTK] Unreviewed, build fix for Debian stable after 256149 at main

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

(cherry picked from commit a241dcd08bdea3799f4cd72ec01929227ea52279)


  Commit: 05ef9a893d4a50222fd171b28e0e204f90d4d15d
      https://github.com/WebKit/WebKit/commit/05ef9a893d4a50222fd171b28e0e204f90d4d15d
  Author: Enrique Ocaña González <eocanha at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h

  Log Message:
  -----------
  Merge 255627 at main - [GStreamer] Fix prolonged buffering during progressive live playback
https://bugs.webkit.org/show_bug.cgi?id=246352

Reviewed by Xabier Rodriguez-Calvar.

On one of the Comcast devices prolonged buffering is observed in some apps
where live assets are using progressive player. The high threshold of the
queue element (used in live videos or in scenarios where disk buffering is
disabled) can be lowered to mitigate the problem, so that buffering can finish
much faster.

This patch sets the high-watermark on the GstQueue2 element.

The way in which elements are configured has been refactored to its own method.
This may not seem very important in the upstream code, but will certainly ease
the porting to the downstream repository, where at least 3 other custom
configurations are done for other platform dependant elements[1].

Original author: Pawel Lampe <pawel.lampe at gmail.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/953

[1] https://github.com/WebPlatformForEmbedded/WPEWebKit/blob/9f61fce0a2b04a3784440cf5ea6b8473c670c19d/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp#L3866

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::configureElement): New method to centralize the setup of the elements. It delegates to configureVideoDecoder(), configureDepayloader(), etc. for specific elements and handles the rest of the configuration for non-specific ones (such as GstQueue2).
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Use the new configureElement() method instead of having everithing embedded in a lambda.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Created configureElement().

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

(cherry picked from commit 7fd5af5101339bcf6c80040a5f74e35368effad4)


  Commit: 9d5542c11e80f54f41f7d527a9b9ea2c90366320
      https://github.com/WebKit/WebKit/commit/9d5542c11e80f54f41f7d527a9b9ea2c90366320
  Author: Philippe Normand <philn at igalia.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.cpp

  Log Message:
  -----------
  Merge 256225 at main - [GStreamer][WebRTC] Media rendering improvements
https://bugs.webkit.org/show_bug.cgi?id=247319

Reviewed by Xabier Rodriguez-Calvar.

The main one is that clock synchronization no longer happens on incoming sources, this is not needed
because the renderer pipeline is separate and they can't synchronize on the system clock either. So
before this patch the clock sync on the first pipeline was artificially limiting the playback on the
renderer pipeline.

Additionally the player no longer configures the pipeline for buffering or doing useless duration
queries when playing mediastreams.

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::setPreload):
(WebCore::MediaPlayerPrivateGStreamer::maxMediaTimeSeekable const):
(WebCore::MediaPlayerPrivateGStreamer::totalBytes const):
(WebCore::MediaPlayerPrivateGStreamer::platformDuration const):
(WebCore::MediaPlayerPrivateGStreamer::isMediaStreamPlayer const):
(WebCore::MediaPlayerPrivateGStreamer::configureElement):
(WebCore::setPlaybackFlags):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::configureDepayloader):
(WebCore::MediaPlayerPrivateGStreamer::configureVideoDecoder):
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.cpp:
(WebCore::RealtimeIncomingAudioSourceGStreamer::dispatchSample):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp:
(WebCore::RealtimeIncomingSourceGStreamer::registerClient):
* Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.cpp:
(WebCore::RealtimeIncomingVideoSourceGStreamer::dispatchSample):

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

(cherry picked from commit 5adbc713768c2e828b5995ef72fef9d21b10f6fb)


Compare: https://github.com/WebKit/WebKit/compare/661e97999a4b...9d5542c11e80


More information about the webkit-changes mailing list