Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4a29ae3f958842320967e784789167031a0af083
      
https://github.com/WebKit/WebKit/commit/4a29ae3f958842320967e784789167031a0af083
  Author: Andy Estes <[email protected]>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M LayoutTests/TestExpectations
    A 
LayoutTests/media/wireless-playback-media-player/remote-playback-connecting-expected.txt
    A 
LayoutTests/media/wireless-playback-media-player/remote-playback-connecting.html
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    A Source/WebCore/PAL/pal/spi/ios/AVRoutingSPI.h
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/platform/audio/ios/MediaDeviceRoute.mm
    M Source/WebCore/platform/audio/ios/MediaDeviceRouteController.h
    M Source/WebCore/platform/audio/ios/MediaDeviceRouteController.mm
    M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.h
    M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm
    M Source/WebCore/platform/graphics/MediaPlayer.cpp
    M Source/WebCore/testing/Internals.cpp
    M Source/WebCore/testing/Internals.h
    M Source/WebCore/testing/Internals.idl
    A Source/WebCore/testing/MockMediaDeviceRoute.h
    A Source/WebCore/testing/MockMediaDeviceRoute.idl
    A Source/WebCore/testing/MockMediaDeviceRoute.mm
    A Source/WebCore/testing/MockMediaDeviceRouteController.h
    A Source/WebCore/testing/MockMediaDeviceRouteController.idl
    A Source/WebCore/testing/MockMediaDeviceRouteController.mm
    A Source/WebCore/testing/cocoa/WebMockMediaDeviceRoute.h
    A Source/WebCore/testing/cocoa/WebMockMediaDeviceRoute.mm
    M Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h

  Log Message:
  -----------
  [iOS] Introduce MockMediaDeviceRouteController
https://bugs.webkit.org/show_bug.cgi?id=303872
rdar://166169152

Reviewed by Jer Noble.

Introduced MockMediaDeviceRouteController to facilitate writing layout tests 
for wireless playback.
MockMediaDeviceRouteController can create MockMediaDeviceRoutes and 
activate/deactivate them,
simulating an AirPlay route being activated or deactivated by the system. For 
now, a single test is
introduced that ensures that a RemotePlayback 'connecting' event is dispatched 
when a
MockMediaDeviceRoute is activated. Additional tests will be added in follow-on 
changes.

Test: media/wireless-playback-media-player/remote-playback-connecting.html

* LayoutTests/TestExpectations:
* 
LayoutTests/media/wireless-playback-media-player/remote-playback-connecting-expected.txt:
 Added.
* 
LayoutTests/media/wireless-playback-media-player/remote-playback-connecting.html:
 Added.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/PAL/pal/spi/ios/AVRoutingSPI.h: Added.
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/audio/ios/MediaDeviceRoute.mm:
* Source/WebCore/platform/audio/ios/MediaDeviceRouteController.h:
* Source/WebCore/platform/audio/ios/MediaDeviceRouteController.mm:
(WebCore::mockMediaDeviceRouteControllerEnabledValue):
(WebCore::setMockMediaDeviceRouteControllerEnabled):
(WebCore::mockMediaDeviceRouteControllerEnabled):
(WebCore::MediaDeviceRouteController::handleEvent): Deleted.
* Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.h:
* Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm:
(MediaSessionHelper::activeRoutesDidChange):
(MediaSessionHelperIOS::activeRoutesDidChange): Deleted.
* Source/WebCore/platform/graphics/MediaPlayer.cpp:
(WebCore::WTF_REQUIRES_LOCK):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore::Internals::mockMediaDeviceRouteController):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
* Source/WebCore/testing/MockMediaDeviceRoute.h: Copied from 
Source/WebCore/platform/audio/ios/MediaDeviceRouteController.h.
* Source/WebCore/testing/MockMediaDeviceRoute.idl: Added.
* Source/WebCore/testing/MockMediaDeviceRoute.mm: Added.
(WebCore::MockMediaDeviceRoute::create):
(WebCore::MockMediaDeviceRoute::MockMediaDeviceRoute):
(WebCore::MockMediaDeviceRoute::platformRoute const):
* Source/WebCore/testing/MockMediaDeviceRouteController.h: Added.
* Source/WebCore/testing/MockMediaDeviceRouteController.idl: Added.
* Source/WebCore/testing/MockMediaDeviceRouteController.mm: Added.
(WebCore::MockMediaDeviceRouteController::create):
(WebCore::MockMediaDeviceRouteController::enabled const):
(WebCore::MockMediaDeviceRouteController::setEnabled):
(WebCore::MockMediaDeviceRouteController::createMockMediaDeviceRoute):
(WebCore::MockMediaDeviceRouteController::activateRoute):
(WebCore::MockMediaDeviceRouteController::deactivateRoute):
* Source/WebCore/testing/cocoa/WebMockMediaDeviceRoute.h: Added.
* Source/WebCore/testing/cocoa/WebMockMediaDeviceRoute.mm: Added.
* Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h:

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



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

Reply via email to