Title: [188077] branches/safari-601.1-branch/Source/WebCore
- Revision
- 188077
- Author
- dburk...@apple.com
- Date
- 2015-08-06 16:09:42 -0700 (Thu, 06 Aug 2015)
Log Message
Merge r187892. rdar://problem/21932187
Modified Paths
Diff
Modified: branches/safari-601.1-branch/Source/WebCore/ChangeLog (188076 => 188077)
--- branches/safari-601.1-branch/Source/WebCore/ChangeLog 2015-08-06 23:09:38 UTC (rev 188076)
+++ branches/safari-601.1-branch/Source/WebCore/ChangeLog 2015-08-06 23:09:42 UTC (rev 188077)
@@ -1,5 +1,28 @@
2015-08-06 Dana Burkart <dburk...@apple.com>
+ Merge r187892. rdar://problem/21932187
+
+ 2015-08-04 Eric Carlson <eric.carl...@apple.com>
+
+ [Mac] Do not require a video track for AirPlay
+ https://bugs.webkit.org/show_bug.cgi?id=147647
+
+ Reviewed by Jer Noble.
+
+ * Modules/mediacontrols/mediaControlsApple.js:
+ (Controller.prototype.handleReadyStateChange): Call updateWirelessTargetAvailable().
+ (Controller.prototype.updateHasVideo): Don't call updateWirelessTargetAvailable().
+ (Controller.prototype.updateWirelessTargetAvailable): Don't require video.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setReadyState): Call updateMediaState when we reach HAVE_METADATA.
+ (WebCore::HTMLMediaElement::mediaState): Don't require video, only that the file can play.
+
+ * html/MediaElementSession.cpp:
+ (WebCore::MediaElementSession::showPlaybackTargetPicker): Check readyState instead of hasVideo.
+
+2015-08-06 Dana Burkart <dburk...@apple.com>
+
Merge r187886. rdar://problem/15779101
2015-08-04 Alexey Proskuryakov <a...@apple.com>
Modified: branches/safari-601.1-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js (188076 => 188077)
--- branches/safari-601.1-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js 2015-08-06 23:09:38 UTC (rev 188076)
+++ branches/safari-601.1-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js 2015-08-06 23:09:42 UTC (rev 188077)
@@ -688,6 +688,7 @@
this.updateCaptionButton();
this.updateCaptionContainer();
this.updateFullscreenButtons();
+ this.updateWirelessTargetAvailable();
this.updateWirelessTargetPickerButton();
this.updateProgress();
this.updateControls();
@@ -1866,9 +1867,6 @@
this.controls.panel.classList.remove(this.ClassNames.noVideo);
else
this.controls.panel.classList.add(this.ClassNames.noVideo);
-
- // The wireless target picker is only visible for files with video, force an update.
- this.updateWirelessTargetAvailable();
},
updateVolume: function()
@@ -1982,7 +1980,7 @@
if (this.wirelessPlaybackDisabled)
wirelessPlaybackTargetsAvailable = false;
- if (wirelessPlaybackTargetsAvailable && this.isPlayable() && this.hasVideo())
+ if (wirelessPlaybackTargetsAvailable && this.isPlayable())
this.controls.wirelessTargetPicker.classList.remove(this.ClassNames.hidden);
else
this.controls.wirelessTargetPicker.classList.add(this.ClassNames.hidden);
Modified: branches/safari-601.1-branch/Source/WebCore/html/HTMLMediaElement.cpp (188076 => 188077)
--- branches/safari-601.1-branch/Source/WebCore/html/HTMLMediaElement.cpp 2015-08-06 23:09:38 UTC (rev 188076)
+++ branches/safari-601.1-branch/Source/WebCore/html/HTMLMediaElement.cpp 2015-08-06 23:09:42 UTC (rev 188077)
@@ -2119,6 +2119,10 @@
downcast<MediaDocument>(document()).mediaElementNaturalSizeChanged(expandedIntSize(m_player->naturalSize()));
logMediaLoadRequest(document().page(), m_player->engineDescription(), String(), true);
+
+#if ENABLE(WIRELESS_PLAYBACK_TARGET)
+ updateMediaState(UpdateMediaState::Asynchronously);
+#endif
}
bool shouldUpdateDisplayState = false;
@@ -6422,7 +6426,7 @@
state |= RequiresPlaybackTargetMonitoring;
bool requireUserGesture = m_mediaSession->hasBehaviorRestriction(MediaElementSession::RequireUserGestureToAutoplayToExternalDevice);
- if (hasActiveVideo && !requireUserGesture && !m_failedToPlayToWirelessTarget)
+ if (m_readyState >= HAVE_METADATA && !requireUserGesture && !m_failedToPlayToWirelessTarget)
state |= ExternalDeviceAutoPlayCandidate;
if (hasActiveVideo && endedPlayback())
Modified: branches/safari-601.1-branch/Source/WebCore/html/MediaElementSession.cpp (188076 => 188077)
--- branches/safari-601.1-branch/Source/WebCore/html/MediaElementSession.cpp 2015-08-06 23:09:38 UTC (rev 188076)
+++ branches/safari-601.1-branch/Source/WebCore/html/MediaElementSession.cpp 2015-08-06 23:09:42 UTC (rev 188077)
@@ -200,8 +200,8 @@
}
#if !PLATFORM(IOS)
- if (!element.hasVideo()) {
- LOG(Media, "MediaElementSession::showPlaybackTargetPicker - returning early because element has no video");
+ if (element.readyState() < HTMLMediaElementEnums::HAVE_METADATA) {
+ LOG(Media, "MediaElementSession::showPlaybackTargetPicker - returning early because element is not playable");
return;
}
#endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes