Index: Source/core/rendering/RenderMediaControls.cpp |
diff --git a/Source/core/rendering/RenderMediaControls.cpp b/Source/core/rendering/RenderMediaControls.cpp |
index 6288aa3969d8087ddf1e4f2898fa61c128ea5b9a..d713293995c273cb2e92d514764d1d102eecf9e2 100644 |
--- a/Source/core/rendering/RenderMediaControls.cpp |
+++ b/Source/core/rendering/RenderMediaControls.cpp |
@@ -335,7 +335,39 @@ static bool paintMediaToggleClosedCaptionsButton(RenderObject* object, const Pai |
return paintMediaButton(paintInfo.context, rect, mediaClosedCaptionButtonDisabled); |
} |
+static bool paintMediaCastButton(RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect) |
+{ |
+ HTMLMediaElement* mediaElement = toParentMediaElement(object); |
+ if (!mediaElement) |
+ return false; |
+ |
+ static Image* mediaCastOnButton = platformResource("mediaplayerCastOn"); |
+ static Image* mediaCastOffButton = platformResource("mediaplayerCastOff"); |
+ |
+ if (mediaElement->isCasting()) { |
+ return paintMediaButton(paintInfo.context, rect, mediaCastOnButton); |
+ } |
+ |
+ return paintMediaButton(paintInfo.context, rect, mediaCastOffButton); |
+ |
+} |
+static bool paintMediaOverlayCastButton(RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect) |
+{ |
+ HTMLMediaElement* mediaElement = toParentMediaElement(object); |
+ if (!mediaElement) |
+ return false; |
+ |
+ static Image* mediaCastOnButton = platformResource("mediaplayerCastOn"); |
+ static Image* mediaCastOffButton = platformResource("mediaplayerCastOff"); |
+ |
+ if (mediaElement->isCasting()) { |
+ return paintMediaButton(paintInfo.context, rect, mediaCastOnButton); |
+ } |
+ |
+ return paintMediaButton(paintInfo.context, rect, mediaCastOffButton); |
+ |
+} |
bool RenderMediaControls::paintMediaControlsPart(MediaControlElementType part, RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect) |
{ |
@@ -361,6 +393,12 @@ bool RenderMediaControls::paintMediaControlsPart(MediaControlElementType part, R |
return paintMediaFullscreenButton(object, paintInfo, rect); |
case MediaOverlayPlayButton: |
return paintMediaOverlayPlayButton(object, paintInfo, rect); |
+ case MediaCastOffButton: |
+ case MediaCastOnButton: |
+ return paintMediaCastButton(object, paintInfo, rect); |
+ case MediaOverlayCastOffButton: |
+ case MediaOverlayCastOnButton: |
+ return paintMediaOverlayCastButton(object, paintInfo, rect); |
case MediaVolumeSliderContainer: |
case MediaTimelineContainer: |
case MediaCurrentTimeDisplay: |