bool MediaElementSession::wirelessVideoPlaybackDisabled(const HTMLMediaElement& element) const { Settings* settings = element.document().settings(); if (!settings || !settings->allowsAirPlayForMediaPlayback()) { LOG(Media, "MediaElementSession::wirelessVideoPlaybackDisabled - returning TRUE because of settings"); return true; } if (element.fastHasAttribute(HTMLNames::webkitwirelessvideoplaybackdisabledAttr)) { LOG(Media, "MediaElementSession::wirelessVideoPlaybackDisabled - returning TRUE because of attribute"); return true; } #if PLATFORM(IOS) String legacyAirplayAttributeValue = element.fastGetAttribute(HTMLNames::webkitairplayAttr); if (equalLettersIgnoringASCIICase(legacyAirplayAttributeValue, "deny")) { LOG(Media, "MediaElementSession::wirelessVideoPlaybackDisabled - returning TRUE because of legacy attribute"); return true; } if (equalLettersIgnoringASCIICase(legacyAirplayAttributeValue, "allow")) { LOG(Media, "MediaElementSession::wirelessVideoPlaybackDisabled - returning FALSE because of legacy attribute"); return false; } #endif MediaPlayer* player = element.player(); if (!player) return true; bool disabled = player->wirelessVideoPlaybackDisabled(); LOG(Media, "MediaElementSession::wirelessVideoPlaybackDisabled - returning %s because media engine says so", disabled ? "TRUE" : "FALSE"); return disabled; }