Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Unified Diff: third_party/WebKit/Source/core/paint/MediaControlsPainter.cpp

Issue 2447503002: Remove newMediaPlaybackUi flag from content/ and Blink. (Closed)
Patch Set: fix mistake caught by tests Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/paint/MediaControlsPainter.cpp
diff --git a/third_party/WebKit/Source/core/paint/MediaControlsPainter.cpp b/third_party/WebKit/Source/core/paint/MediaControlsPainter.cpp
index f1ac387d140c8d2ce88ca19cc4d42516a34f0315..b244895e06670a61a34d5c531eae43a753c3f8fc 100644
--- a/third_party/WebKit/Source/core/paint/MediaControlsPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/MediaControlsPainter.cpp
@@ -44,19 +44,13 @@ static const double kCurrentTimeBufferedDelta = 1.0;
typedef WTF::HashMap<const char*, Image*> MediaControlImageMap;
static MediaControlImageMap* gMediaControlImageMap = 0;
-// Current UI slider thumbs sizes.
-static const int mediaSliderThumbWidth = 32;
-static const int mediaSliderThumbHeight = 24;
-static const int mediaVolumeSliderThumbHeight = 24;
-static const int mediaVolumeSliderThumbWidth = 24;
-
-// New UI slider thumb sizes, shard between time and volume.
+// Slider thumb sizes, shard between time and volume.
static const int mediaSliderThumbTouchWidthNew = 36; // Touch zone size.
static const int mediaSliderThumbTouchHeightNew = 48;
static const int mediaSliderThumbPaintWidthNew = 12; // Painted area.
static const int mediaSliderThumbPaintHeightNew = 12;
-// New UI overlay play button size.
+// Overlay play button size.
static const int mediaOverlayPlayButtonWidthNew = 48;
static const int mediaOverlayPlayButtonHeightNew = 48;
@@ -76,13 +70,6 @@ static Image* platformResource(const char* name) {
return 0;
}
-static Image* platformResource(const char* currentName, const char* newName) {
- // Return currentName or newName based on current or new playback.
- return platformResource(RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()
- ? newName
- : currentName);
-}
-
static bool hasSource(const HTMLMediaElement* mediaElement) {
return mediaElement->getNetworkState() != HTMLMediaElement::kNetworkEmpty &&
mediaElement->getNetworkState() != HTMLMediaElement::kNetworkNoSource;
@@ -114,11 +101,6 @@ static bool paintMediaButton(GraphicsContext& context,
Image* image,
const LayoutObject* object,
bool isEnabled) {
- if (!RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()) {
- context.drawImage(image, rect);
- return true;
- }
-
FloatRect drawRect = adjustRectForPadding(rect, object);
if (!isEnabled)
@@ -147,16 +129,11 @@ bool MediaControlsPainter::paintMediaMuteButton(const LayoutObject& object,
return false;
// The new UI uses "muted" and "not muted" only.
- static Image* soundLevel3 =
- platformResource("mediaplayerSoundLevel3", "mediaplayerSoundLevel3New");
- static Image* soundLevel2 =
- platformResource("mediaplayerSoundLevel2", "mediaplayerSoundLevel3New");
- static Image* soundLevel1 =
- platformResource("mediaplayerSoundLevel1", "mediaplayerSoundLevel3New");
- static Image* soundLevel0 =
- platformResource("mediaplayerSoundLevel0", "mediaplayerSoundLevel0New");
- static Image* soundDisabled =
- platformResource("mediaplayerSoundDisabled", "mediaplayerSoundLevel0New");
+ static Image* soundLevel3 = platformResource("mediaplayerSoundLevel3New");
+ static Image* soundLevel2 = platformResource("mediaplayerSoundLevel3New");
+ static Image* soundLevel1 = platformResource("mediaplayerSoundLevel3New");
+ static Image* soundLevel0 = platformResource("mediaplayerSoundLevel0New");
+ static Image* soundDisabled = platformResource("mediaplayerSoundLevel0New");
if (!hasSource(mediaElement) || !mediaElement->hasAudio())
return paintMediaButton(paintInfo.context, rect, soundDisabled, &object,
@@ -184,14 +161,11 @@ bool MediaControlsPainter::paintMediaPlayButton(const LayoutObject& object,
if (!mediaElement)
return false;
- static Image* mediaPlay =
- platformResource("mediaplayerPlay", "mediaplayerPlayNew");
- static Image* mediaPause =
- platformResource("mediaplayerPause", "mediaplayerPauseNew");
+ static Image* mediaPlay = platformResource("mediaplayerPlayNew");
+ static Image* mediaPause = platformResource("mediaplayerPauseNew");
// For this case, the new UI draws the normal icon, but the entire panel
// grays out.
- static Image* mediaPlayDisabled =
- platformResource("mediaplayerPlayDisabled", "mediaplayerPlayNew");
+ static Image* mediaPlayDisabled = platformResource("mediaplayerPlayNew");
if (!hasSource(mediaElement))
return paintMediaButton(paintInfo.context, rect, mediaPlayDisabled, &object,
@@ -217,31 +191,24 @@ bool MediaControlsPainter::paintMediaOverlayPlayButton(
return false;
static Image* mediaOverlayPlay =
- platformResource("mediaplayerOverlayPlay", "mediaplayerOverlayPlayNew");
+ platformResource("mediaplayerOverlayPlayNew");
IntRect buttonRect(rect);
- if (RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()) {
- // Overlay play button covers the entire player, so center and draw a
- // smaller button. Center in the entire element.
- // TODO(liberato): object.enclosingBox()?
- const LayoutBox* box = mediaElement->layoutObject()->enclosingBox();
- if (!box)
- return false;
- int mediaHeight = box->pixelSnappedHeight();
- buttonRect.setX(rect.center().x() - mediaOverlayPlayButtonWidthNew / 2);
- buttonRect.setY(rect.center().y() - mediaOverlayPlayButtonHeightNew / 2 +
- (mediaHeight - rect.height()) / 2);
- buttonRect.setWidth(mediaOverlayPlayButtonWidthNew);
- buttonRect.setHeight(mediaOverlayPlayButtonHeightNew);
- }
- return paintMediaButton(paintInfo.context, buttonRect, mediaOverlayPlay);
-}
+ // Overlay play button covers the entire player, so center and draw a
+ // smaller button. Center in the entire element.
+ // TODO(liberato): object.enclosingBox()?
+ const LayoutBox* box = mediaElement->layoutObject()->enclosingBox();
+ if (!box)
+ return false;
+ int mediaHeight = box->pixelSnappedHeight();
+ buttonRect.setX(rect.center().x() - mediaOverlayPlayButtonWidthNew / 2);
+ buttonRect.setY(rect.center().y() - mediaOverlayPlayButtonHeightNew / 2 +
+ (mediaHeight - rect.height()) / 2);
+ buttonRect.setWidth(mediaOverlayPlayButtonWidthNew);
+ buttonRect.setHeight(mediaOverlayPlayButtonHeightNew);
-static Image* getMediaSliderThumb() {
- static Image* mediaSliderThumb =
- platformResource("mediaplayerSliderThumb", "mediaplayerSliderThumbNew");
- return mediaSliderThumb;
+ return paintMediaButton(paintInfo.context, buttonRect, mediaOverlayPlay);
}
static void paintRoundedSliderBackground(const IntRect& rect,
@@ -330,8 +297,7 @@ bool MediaControlsPainter::paintMediaSlider(const LayoutObject& object,
GraphicsContext& context = paintInfo.context;
// Should we paint the slider partially transparent?
- bool drawUiGrayed = !hasSource(mediaElement) &&
- RuntimeEnabledFeatures::newMediaPlaybackUiEnabled();
+ bool drawUiGrayed = !hasSource(mediaElement);
if (drawUiGrayed)
context.beginLayer(kDisabledAlpha);
@@ -346,7 +312,6 @@ bool MediaControlsPainter::paintMediaSlider(const LayoutObject& object,
void MediaControlsPainter::paintMediaSliderInternal(const LayoutObject& object,
const PaintInfo& paintInfo,
const IntRect& rect) {
- const bool useNewUi = RuntimeEnabledFeatures::newMediaPlaybackUiEnabled();
const HTMLMediaElement* mediaElement = toParentMediaElement(object);
if (!mediaElement)
return;
@@ -355,13 +320,7 @@ void MediaControlsPainter::paintMediaSliderInternal(const LayoutObject& object,
GraphicsContext& context = paintInfo.context;
// Paint the slider bar in the "no data buffered" state.
- Color sliderBackgroundColor;
- if (!useNewUi)
- sliderBackgroundColor = Color(11, 11, 11);
- else
- sliderBackgroundColor = Color(0xda, 0xda, 0xda);
-
- paintRoundedSliderBackground(rect, style, context, sliderBackgroundColor);
+ paintRoundedSliderBackground(rect, style, context, Color(0xda, 0xda, 0xda));
// Draw the buffered range. Since the element may have multiple buffered
// ranges and it'd be distracting/'busy' to show all of them, show only the
@@ -390,40 +349,22 @@ void MediaControlsPainter::paintMediaSliderInternal(const LayoutObject& object,
int currentPosition = int(currentTime * rect.width() / duration);
int endPosition = int(end * rect.width() / duration);
- if (!useNewUi) {
- // Add half the thumb width proportionally adjusted to the current
- // painting position.
- int thumbCenter = mediaSliderThumbWidth / 2;
- int addWidth = thumbCenter * (1.0 - 2.0 * currentPosition / rect.width());
- currentPosition += addWidth;
- }
-
// Draw highlight before current time.
- Color startColor;
- Color endColor;
- if (!useNewUi) {
- startColor = Color(195, 195, 195); // white-ish.
- endColor = Color(217, 217, 217);
- } else {
- startColor = endColor = Color(0x42, 0x85, 0xf4); // blue.
- }
+ Color startColor = Color(0x42, 0x85, 0xf4);
+ Color endColor = Color(0x42, 0x85, 0xf4);
- if (currentPosition > startPosition)
+ if (currentPosition > startPosition) {
paintSliderRangeHighlight(rect, style, context, startPosition,
currentPosition, startColor, endColor);
-
- // Draw grey-ish highlight after current time.
- if (!useNewUi) {
- startColor = Color(60, 60, 60);
- endColor = Color(76, 76, 76);
- } else {
- startColor = endColor = Color(0x5a, 0x5a, 0x5a); // dark grey
}
- if (endPosition > currentPosition)
+ // Draw dark grey highlight after current time.
+ startColor = endColor = Color(0x5a, 0x5a, 0x5a);
+
+ if (endPosition > currentPosition) {
paintSliderRangeHighlight(rect, style, context, currentPosition,
endPosition, startColor, endColor);
-
+ }
return;
}
}
@@ -438,14 +379,9 @@ void MediaControlsPainter::adjustMediaSliderThumbPaintSize(
// adjustMediaSliderThumbSize(), and scale it back when we paint.
rectOut = rect;
- if (!RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()) {
- // ...except for the old UI.
- return;
- }
-
- float zoomLevel = style.effectiveZoom();
- float zoomedPaintWidth = mediaSliderThumbPaintWidthNew * zoomLevel;
- float zoomedPaintHeight = mediaSliderThumbPaintHeightNew * zoomLevel;
+ const float zoomLevel = style.effectiveZoom();
+ const float zoomedPaintWidth = mediaSliderThumbPaintWidthNew * zoomLevel;
+ const float zoomedPaintHeight = mediaSliderThumbPaintHeightNew * zoomLevel;
rectOut.setX(rect.center().x() - zoomedPaintWidth / 2);
rectOut.setY(rect.center().y() - zoomedPaintHeight / 2);
@@ -467,7 +403,8 @@ bool MediaControlsPainter::paintMediaSliderThumb(const LayoutObject& object,
if (!hasSource(mediaElement))
return true;
- Image* mediaSliderThumb = getMediaSliderThumb();
+ static Image* mediaSliderThumb =
+ platformResource("mediaplayerSliderThumbNew");
IntRect paintRect;
const ComputedStyle& style = object.styleRef();
adjustMediaSliderThumbPaintSize(rect, style, paintRect);
@@ -485,12 +422,7 @@ bool MediaControlsPainter::paintMediaVolumeSlider(const LayoutObject& object,
const ComputedStyle& style = object.styleRef();
// Paint the slider bar.
- Color sliderBackgroundColor;
- if (!RuntimeEnabledFeatures::newMediaPlaybackUiEnabled())
- sliderBackgroundColor = Color(11, 11, 11);
- else
- sliderBackgroundColor = Color(0x5a, 0x5a, 0x5a); // dark grey
- paintRoundedSliderBackground(rect, style, context, sliderBackgroundColor);
+ paintRoundedSliderBackground(rect, style, context, Color(0x5a, 0x5a, 0x5a));
// Calculate volume position for white background rectangle.
float volume = mediaElement->volume();
@@ -499,29 +431,14 @@ bool MediaControlsPainter::paintMediaVolumeSlider(const LayoutObject& object,
if (volume > 1)
volume = 1;
if (!hasSource(mediaElement) || !mediaElement->hasAudio() ||
- mediaElement->muted())
+ mediaElement->muted()) {
volume = 0;
-
- // Calculate the position relative to the center of the thumb.
- float fillWidth = 0;
- if (!RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()) {
- if (volume > 0) {
- float thumbCenter = mediaVolumeSliderThumbWidth / 2;
- float zoomLevel = style.effectiveZoom();
- float positionWidth = volume * (rect.width() - (zoomLevel * thumbCenter));
- fillWidth = positionWidth + (zoomLevel * thumbCenter / 2);
- }
- } else {
- fillWidth = volume * rect.width();
}
- Color startColor = Color(195, 195, 195);
- Color endColor = Color(217, 217, 217);
- if (RuntimeEnabledFeatures::newMediaPlaybackUiEnabled())
- startColor = endColor = Color(0x42, 0x85, 0xf4); // blue.
-
- paintSliderRangeHighlight(rect, style, context, 0.0, fillWidth, startColor,
- endColor);
+ // Calculate the position relative to the center of the thumb.
+ const float fillWidth = volume * rect.width();
+ static const Color color = Color(0x42, 0x85, 0xf4); // blue
+ paintSliderRangeHighlight(rect, style, context, 0.0, fillWidth, color, color);
return true;
}
@@ -541,8 +458,8 @@ bool MediaControlsPainter::paintMediaVolumeSliderThumb(
if (!hasSource(mediaElement) || !mediaElement->hasAudio())
return true;
- static Image* mediaVolumeSliderThumb = platformResource(
- "mediaplayerVolumeSliderThumb", "mediaplayerVolumeSliderThumbNew");
+ static Image* mediaVolumeSliderThumb =
+ platformResource("mediaplayerVolumeSliderThumbNew");
IntRect paintRect;
const ComputedStyle& style = object.styleRef();
@@ -561,9 +478,9 @@ bool MediaControlsPainter::paintMediaFullscreenButton(
// With the new player UI, we have separate assets for enter / exit
// fullscreen mode.
static Image* mediaEnterFullscreenButton =
- platformResource("mediaplayerFullscreen", "mediaplayerEnterFullscreen");
+ platformResource("mediaplayerEnterFullscreen");
static Image* mediaExitFullscreenButton =
- platformResource("mediaplayerFullscreen", "mediaplayerExitFullscreen");
+ platformResource("mediaplayerExitFullscreen");
bool isEnabled = hasSource(mediaElement);
@@ -582,11 +499,10 @@ bool MediaControlsPainter::paintMediaToggleClosedCaptionsButton(
if (!mediaElement)
return false;
- static Image* mediaClosedCaptionButton = platformResource(
- "mediaplayerClosedCaption", "mediaplayerClosedCaptionNew");
+ static Image* mediaClosedCaptionButton =
+ platformResource("mediaplayerClosedCaptionNew");
static Image* mediaClosedCaptionButtonDisabled =
- platformResource("mediaplayerClosedCaptionDisabled",
- "mediaplayerClosedCaptionDisabledNew");
+ platformResource("mediaplayerClosedCaptionDisabledNew");
bool isEnabled = mediaElement->hasClosedCaptions();
@@ -605,15 +521,13 @@ bool MediaControlsPainter::paintMediaCastButton(const LayoutObject& object,
if (!mediaElement)
return false;
- static Image* mediaCastOn =
- platformResource("mediaplayerCastOn", "mediaplayerCastOnNew");
- static Image* mediaCastOff =
- platformResource("mediaplayerCastOff", "mediaplayerCastOffNew");
+ static Image* mediaCastOn = platformResource("mediaplayerCastOnNew");
+ static Image* mediaCastOff = platformResource("mediaplayerCastOffNew");
// 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", "mediaplayerOverlayCastOffNew");
+ static Image* mediaOverlayCastOff =
+ platformResource("mediaplayerOverlayCastOffNew");
bool isEnabled = mediaElement->hasRemoteRoutes();
@@ -643,8 +557,7 @@ bool MediaControlsPainter::paintMediaTrackSelectionCheckmark(
return false;
static Image* mediaTrackSelectionCheckmark =
- platformResource("mediaplayerTrackSelectionCheckmark",
- "mediaplayerTrackSelectionCheckmarkNew");
+ platformResource("mediaplayerTrackSelectionCheckmarkNew");
return paintMediaButton(paintInfo.context, rect,
mediaTrackSelectionCheckmark);
}
@@ -657,8 +570,8 @@ bool MediaControlsPainter::paintMediaClosedCaptionsIcon(
if (!mediaElement)
return false;
- static Image* mediaClosedCaptionsIcon = platformResource(
- "mediaplayerClosedCaptionsIcon", "mediaplayerClosedCaptionsIconNew");
+ static Image* mediaClosedCaptionsIcon =
+ platformResource("mediaplayerClosedCaptionsIconNew");
return paintMediaButton(paintInfo.context, rect, mediaClosedCaptionsIcon);
}
@@ -669,8 +582,8 @@ bool MediaControlsPainter::paintMediaSubtitlesIcon(const LayoutObject& object,
if (!mediaElement)
return false;
- static Image* mediaSubtitlesIcon = platformResource(
- "mediaplayerSubtitlesIcon", "mediaplayerSubtitlesIconNew");
+ static Image* mediaSubtitlesIcon =
+ platformResource("mediaplayerSubtitlesIconNew");
return paintMediaButton(paintInfo.context, rect, mediaSubtitlesIcon);
}
@@ -702,35 +615,12 @@ bool MediaControlsPainter::paintMediaDownloadIcon(const LayoutObject& object,
}
void MediaControlsPainter::adjustMediaSliderThumbSize(ComputedStyle& style) {
- static Image* mediaSliderThumb =
- platformResource("mediaplayerSliderThumb", "mediaplayerSliderThumbNew");
- static Image* mediaVolumeSliderThumb = platformResource(
- "mediaplayerVolumeSliderThumb", "mediaplayerVolumeSliderThumbNew");
- int width = 0;
- int height = 0;
-
- Image* thumbImage = 0;
-
- if (RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()) {
- // Volume and time sliders are the same.
- thumbImage = mediaSliderThumb;
- width = mediaSliderThumbTouchWidthNew;
- height = mediaSliderThumbTouchHeightNew;
- } else if (style.appearance() == MediaSliderThumbPart) {
- thumbImage = mediaSliderThumb;
- width = mediaSliderThumbWidth;
- height = mediaSliderThumbHeight;
- } else if (style.appearance() == MediaVolumeSliderThumbPart) {
- thumbImage = mediaVolumeSliderThumb;
- width = mediaVolumeSliderThumbWidth;
- height = mediaVolumeSliderThumbHeight;
- }
+ const float zoomLevel = style.effectiveZoom();
- float zoomLevel = style.effectiveZoom();
- if (thumbImage) {
- style.setWidth(Length(static_cast<int>(width * zoomLevel), Fixed));
- style.setHeight(Length(static_cast<int>(height * zoomLevel), Fixed));
- }
+ style.setWidth(Length(
+ static_cast<int>(mediaSliderThumbTouchWidthNew * zoomLevel), Fixed));
+ style.setHeight(Length(
+ static_cast<int>(mediaSliderThumbTouchHeightNew * zoomLevel), Fixed));
}
} // namespace blink
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutThemeTest.cpp ('k') | third_party/WebKit/Source/core/testing/Internals.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698