Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / rendering / RenderMediaControls.cpp
index 9124b87..71201e5 100644 (file)
@@ -345,15 +345,24 @@ static bool paintMediaCastButton(RenderObject* object, const PaintInfo& paintInf
     if (!mediaElement)
         return false;
 
-    static Image* mediaCastOnButton = platformResource("mediaplayerCastOn");
-    static Image* mediaCastOffButton = platformResource("mediaplayerCastOff");
+    static Image* mediaCastOn = platformResource("mediaplayerCastOn");
+    static Image* mediaCastOff = platformResource("mediaplayerCastOff");
+    // To ensure that the overlaid cast button is visible when overlaid on pale videos we use a
+    // different version of it for the overlaid case with a semi-opaque background.
+    static Image* mediaOverlayCastOff = platformResource("mediaplayerOverlayCastOff");
 
-    if (mediaElement->isPlayingRemotely()) {
-        return paintMediaButton(paintInfo.context, rect, mediaCastOnButton);
+    switch (mediaControlElementType(object->node())) {
+    case MediaCastOnButton:
+    case MediaOverlayCastOnButton:
+        return paintMediaButton(paintInfo.context, rect, mediaCastOn);
+    case MediaCastOffButton:
+        return paintMediaButton(paintInfo.context, rect, mediaCastOff);
+    case MediaOverlayCastOffButton:
+        return paintMediaButton(paintInfo.context, rect, mediaOverlayCastOff);
+    default:
+        ASSERT_NOT_REACHED();
+        return false;
     }
-
-    return paintMediaButton(paintInfo.context, rect, mediaCastOffButton);
-
 }
 
 bool RenderMediaControls::paintMediaControlsPart(MediaControlElementType part, RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect)