Index: Source/core/html/HTMLMediaElement.cpp |
diff --git a/Source/core/html/HTMLMediaElement.cpp b/Source/core/html/HTMLMediaElement.cpp |
index 91ef6708e6f5e78594ef9b36ad751aec9955cc39..87de96b99a1ebb32f8dc7dd150974bac34caaca9 100644 |
--- a/Source/core/html/HTMLMediaElement.cpp |
+++ b/Source/core/html/HTMLMediaElement.cpp |
@@ -354,6 +354,8 @@ HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, Document& docum |
, m_tracksAreReady(true) |
, m_haveVisibleTextTrack(false) |
, m_processingPreferenceChange(false) |
+ , m_remoteRoutesAvailable(false) |
+ , m_playingRemotely(false) |
#if ENABLE(OILPAN) |
, m_isFinalizing(false) |
, m_closeMediaSourceWhenFinalizing(false) |
@@ -2280,6 +2282,22 @@ void HTMLMediaElement::pause() |
updatePlayState(); |
} |
+void HTMLMediaElement::requestRemotePlayback() |
+{ |
+ if (!m_player) |
acolwell GONE FROM CHROMIUM
2014/09/06 00:32:02
Please add code to clearMediaPlayer() and createMe
aberent
2014/09/09 18:35:30
Done.
|
+ return; |
+ ASSERT(m_remoteRoutesAvailable); |
+ webMediaPlayer()->requestRemotePlayback(); |
+} |
+ |
+void HTMLMediaElement::requestRemotePlaybackControl() |
+{ |
+ if (!m_player) |
+ return; |
+ ASSERT(m_remoteRoutesAvailable); |
+ webMediaPlayer()->requestRemotePlaybackControl(); |
+} |
+ |
void HTMLMediaElement::closeMediaSource() |
{ |
if (!m_mediaSource) |
@@ -3194,6 +3212,27 @@ void HTMLMediaElement::mediaPlayerRequestSeek(double time) |
setCurrentTime(time, IGNORE_EXCEPTION); |
} |
+void HTMLMediaElement::remoteRouteAvailabilityChanged(bool routesAvailable) |
+{ |
+ m_remoteRoutesAvailable = routesAvailable; |
+ if (hasMediaControls()) |
+ mediaControls()->refreshCastButtonVisibility(); |
+} |
+ |
+void HTMLMediaElement::connectedToRemoteDevice() |
+{ |
+ m_playingRemotely = true; |
+ if (hasMediaControls()) |
+ mediaControls()->startedCasting(); |
+} |
+ |
+void HTMLMediaElement::disconnectedFromRemoteDevice() |
+{ |
+ m_playingRemotely = false; |
acolwell GONE FROM CHROMIUM
2014/09/06 00:32:01
You'll probably need to reset this on m_player ass
aberent
2014/09/09 18:35:30
Done.
|
+ if (hasMediaControls()) |
+ mediaControls()->stoppedCasting(); |
+} |
+ |
// MediaPlayerPresentation methods |
void HTMLMediaElement::mediaPlayerRepaint() |
{ |
@@ -3647,7 +3686,7 @@ bool HTMLMediaElement::createMediaControls() |
void HTMLMediaElement::configureMediaControls() |
{ |
- if (!shouldShowControls() || !inDocument()) { |
+ if (!inDocument()) { |
if (hasMediaControls()) |
mediaControls()->hide(); |
return; |
@@ -3657,7 +3696,10 @@ void HTMLMediaElement::configureMediaControls() |
return; |
mediaControls()->reset(); |
- mediaControls()->show(); |
+ if (shouldShowControls()) |
+ mediaControls()->show(); |
+ else |
+ mediaControls()->hide(); |
} |
void HTMLMediaElement::configureTextTrackDisplay(VisibilityChangeAssumption assumption) |