Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 21a364afcaee057528c71ae022e8140e5882c414
https://github.com/WebKit/WebKit/commit/21a364afcaee057528c71ae022e8140e5882c414
Author: Phinehas Fuachie <[email protected]>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M Source/WebCore/html/MediaElementSession.cpp
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/Quirks.h
M Source/WebCore/page/QuirksData.h
Log Message:
-----------
rdar://166727225 theguardian.com: media controls don’t disappear in full
screen after scrubbing through media. It only disappears after user taps video
to pause then unpause
https://bugs.webkit.org/show_bug.cgi?id=315346
rdar://166727225
Reviewed by Jer Noble.
Tapping the big YouTube play overlay on theguardian.com causes the embed to
load but the video
never starts: YouTube's IFrame API reports unstarted -> buffering -> unstarted
-> silence and no
onError. Scrubbing and tapping play on the bottom controls then starts playback
normally. Symptom
is distinct from the original report fixed by 7089525bc66b and reverted by
9e811461e652 due to
apple.com/events and Netflix regressions (rdar://174184152, rdar://175186857).
Root cause: the parent click's user activation never reaches the cross-origin
YouTube web process.
RemoteDOMWindow::postMessage carries no UserGestureToken across IPC, the
cross-process activation
sync added in 8b0e7a8b2343 explicitly excludes cross-origin descendants, and
allow="autoplay" is
not honored by WebKit's PermissionsPolicy. As a result
Document::processingUserGestureForMedia()
returns false in the YouTube process and
MediaElementSession::playbackStateChangePermitted denies
<video>.play().
Add a per-site quirk that grants playback for a YouTube embed Document when its
top frame is
theguardian.com. Scope is iOS only. This is a stopgap pending a holistic fix
(Feature::Autoplay in
PermissionsPolicy, and/or forwarding the user gesture across postMessage IPC).
* Source/WebCore/html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackStateChangePermitted const):
* Source/WebCore/page/Quirks.cpp:
* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:
Canonical link: https://commits.webkit.org/313743@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications