Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d04cdc84f0acd5fdee19f2974b661f3ea62cd60e
      
https://github.com/WebKit/WebKit/commit/d04cdc84f0acd5fdee19f2974b661f3ea62cd60e
  Author: Jer Noble <[email protected]>
  Date:   2026-05-07 (Thu, 07 May 2026)

  Changed paths:
    M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h
    M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm
    M Source/WebCore/Modules/mediasession/MediaSession.cpp
    M Source/WebCore/Modules/mediasession/MediaSession.h
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Quirks.h
    M Source/WebCore/page/QuirksData.h

  Log Message:
  -----------
  [visionOS] Tubular.app prevents other media apps on device from ever playing
rdar://175030498
https://bugs.webkit.org/show_bug.cgi?id=314264

Reviewed by Eric Carlson.

The Tubular app replaces HTMLMediaElement.prototype.pause with its own version 
that
only allows pausing to work when the video has ended, or when it determines 
there the
user clicked the play button. In all other circumstances, it issues the 
pause(), but
follows it immediately with play().

When WebKit receives a system interruption, we let the page know by issuing a
MediaSession pause action; this allows pages' internal state machine to be in 
sync
with the video element. But when Tubular calls play() during a system 
interruption,
this causes WebKit to "steal" the audio session from the other media playback 
application.
What's worse, this Tubular behavior even occurs if the video isn't actually 
playing,
so this stealing will happen even if media inside Tubular is not playing.

Add a quirk that disables the MediaSession pause action, just for the Tubular 
app.

* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.mm:
(WTF::IOSApplication::isTubular):
* Source/WebCore/Modules/mediasession/MediaSession.cpp:
(WebCore::m_coordinator):
* Source/WebCore/Modules/mediasession/MediaSession.h:
* Source/WebCore/page/Quirks.cpp:
* Source/WebCore/page/Quirks.h:
* Source/WebCore/page/QuirksData.h:

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



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

Reply via email to