RemoteMediaSessionHelperProxy.cpp [plain text]
#include "config.h"
#include "RemoteMediaSessionHelperProxy.h"
#if ENABLE(GPU_PROCESS) && PLATFORM(IOS_FAMILY)
#include "Connection.h"
#include "GPUConnectionToWebProcess.h"
#include "RemoteMediaSessionHelperMessages.h"
namespace WebKit {
using namespace WebCore;
RemoteMediaSessionHelperProxy::RemoteMediaSessionHelperProxy(GPUConnectionToWebProcess& gpuConnection)
: m_gpuConnection(gpuConnection)
{
MediaSessionHelper::sharedHelper().addClient(*this);
}
RemoteMediaSessionHelperProxy::~RemoteMediaSessionHelperProxy()
{
stopMonitoringWirelessRoutes();
MediaSessionHelper::sharedHelper().removeClient(*this);
}
void RemoteMediaSessionHelperProxy::startMonitoringWirelessRoutes()
{
if (m_isMonitoringWirelessRoutes)
return;
m_isMonitoringWirelessRoutes = true;
MediaSessionHelper::sharedHelper().startMonitoringWirelessRoutes();
}
void RemoteMediaSessionHelperProxy::stopMonitoringWirelessRoutes()
{
if (!m_isMonitoringWirelessRoutes)
return;
m_isMonitoringWirelessRoutes = false;
MediaSessionHelper::sharedHelper().stopMonitoringWirelessRoutes();
}
void RemoteMediaSessionHelperProxy::providePresentingApplicationPID(int pid)
{
MediaSessionHelper::sharedHelper().providePresentingApplicationPID(pid);
}
void RemoteMediaSessionHelperProxy::applicationWillEnterForeground(SuspendedUnderLock suspendedUnderLock)
{
m_gpuConnection.connection().send(Messages::RemoteMediaSessionHelper::ApplicationWillEnterForeground(suspendedUnderLock), { });
}
void RemoteMediaSessionHelperProxy::applicationDidEnterBackground(SuspendedUnderLock suspendedUnderLock)
{
m_gpuConnection.connection().send(Messages::RemoteMediaSessionHelper::ApplicationDidEnterBackground(suspendedUnderLock), { });
}
void RemoteMediaSessionHelperProxy::applicationWillBecomeInactive()
{
m_gpuConnection.connection().send(Messages::RemoteMediaSessionHelper::ApplicationWillBecomeInactive(), { });
}
void RemoteMediaSessionHelperProxy::applicationDidBecomeActive()
{
m_gpuConnection.connection().send(Messages::RemoteMediaSessionHelper::ApplicationDidBecomeActive(), { });
}
void RemoteMediaSessionHelperProxy::externalOutputDeviceAvailableDidChange(HasAvailableTargets hasAvailableTargets)
{
m_gpuConnection.connection().send(Messages::RemoteMediaSessionHelper::ExternalOutputDeviceAvailableDidChange(hasAvailableTargets), { });
}
void RemoteMediaSessionHelperProxy::isPlayingToAutomotiveHeadUnitDidChange(PlayingToAutomotiveHeadUnit playing)
{
m_gpuConnection.connection().send(Messages::RemoteMediaSessionHelper::IsPlayingToAutomotiveHeadUnitDidChange(playing), { });
}
void RemoteMediaSessionHelperProxy::activeAudioRouteDidChange(ShouldPause shouldPause)
{
m_gpuConnection.connection().send(Messages::RemoteMediaSessionHelper::ActiveAudioRouteDidChange(shouldPause), { });
}
void RemoteMediaSessionHelperProxy::activeVideoRouteDidChange(SupportsAirPlayVideo supportsAirPlayVideo, Ref<WebCore::MediaPlaybackTarget>&& target)
{
m_gpuConnection.connection().send(Messages::RemoteMediaSessionHelper::ActiveVideoRouteDidChange(supportsAirPlayVideo, target->targetContext()), { });
}
}
#endif