Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6de5dd7b71a8e2e554a795b25f01ff411d5a6a8b
https://github.com/WebKit/WebKit/commit/6de5dd7b71a8e2e554a795b25f01ff411d5a6a8b
Author: Phinehas Fuachie <[email protected]>
Date: 2026-07-14 (Tue, 14 Jul 2026)
Changed paths:
M
LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-timeline-scrub-stops-propagation-expected.txt
M
LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-timeline-scrub-stops-propagation.html
M Source/WebCore/Modules/modern-media-controls/media/media-controller.js
Log Message:
-----------
Can't swipe between videos on pr0gramm.com while a video is playing
https://bugs.webkit.org/show_bug.cgi?id=319291
rdar://181186791
Reviewed by Jer Noble.
The media controls stop propagation of touchstart/touchmove/touchend so that
scrubbing the timeline
isn't misinterpreted as a page gesture. Those listeners were attached to the
full-surface
.media-controls element, which swallowed all touch events over the entire video
area — including
swipes over the bare video body. This broke sites like pr0gramm.com that
install their own
touch/swipe handlers on an ancestor of the <video> to navigate between posts.
Only stop propagation when the touch actually lands on an interactive control
(a descendant of the
controls element) rather than on the bare video surface. A touch on the video
body targets
.media-controls itself (its faded children have pointer-events: none), so it
now propagates to
the page; a touch that scrubs the timeline or hits a button targets a
descendant and is still
swallowed.
*
LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-timeline-scrub-stops-propagation-expected.txt:
*
LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-timeline-scrub-stops-propagation.html:
* Source/WebCore/Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype._stopPropagationOnTouchEvents):
Canonical link: https://commits.webkit.org/317201@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications