#include "ScriptController.h"
#if PLATFORM(IOS)
+#include "AudioSession.h"
#include "RuntimeApplicationChecksIOS.h"
#endif
namespace WebCore {
+static void initializeAudioSession()
+{
+#if PLATFORM(IOS)
+ static bool wasAudioSessionInitialized;
+ if (wasAudioSessionInitialized)
+ return;
+
+ wasAudioSessionInitialized = true;
+ if (!WebCore::applicationIsMobileSafari())
+ return;
+
+ AudioSession::sharedSession().setCategory(AudioSession::MediaPlayback);
+#endif
+}
+
std::unique_ptr<HTMLMediaSession> HTMLMediaSession::create(MediaSessionClient& client)
{
return std::make_unique<HTMLMediaSession>(client);
: MediaSession(client)
, m_restrictions(NoRestrictions)
{
+ initializeAudioSession();
}
void HTMLMediaSession::addBehaviorRestriction(BehaviorRestrictions restriction)
LOG(Media, "HTMLMediaSession::pageAllowsDataLoading - returning FALSE");
return false;
}
-
+
return true;
}
LOG(Media, "HTMLMediaSession::pageAllowsPlaybackAfterResuming - returning FALSE");
return false;
}
-
+
return true;
}
LOG(Media, "HTMLMediaSession::showingPlaybackTargetPickerPermitted - returning FALSE");
return false;
}
-
+
return true;
}
#endif