| Index: Source/core/layout/LayoutTheme.cpp
|
| diff --git a/Source/core/layout/LayoutTheme.cpp b/Source/core/layout/LayoutTheme.cpp
|
| index 8247156a170ac5faf07f1a4d1b8dc4044a7866bf..fe42b2c4ee48ecd46cf6778e573926d71d199ed1 100644
|
| --- a/Source/core/layout/LayoutTheme.cpp
|
| +++ b/Source/core/layout/LayoutTheme.cpp
|
| @@ -228,7 +228,7 @@ String LayoutTheme::extraDefaultStyleSheet()
|
| return runtimeCSS.toString();
|
| }
|
|
|
| -static String formatChromiumMediaControlsTime(float time, float duration)
|
| +static String formatChromiumMediaControlsTime(float time, float duration, bool includeSeparator)
|
| {
|
| if (!std::isfinite(time))
|
| time = 0;
|
| @@ -236,30 +236,49 @@ static String formatChromiumMediaControlsTime(float time, float duration)
|
| duration = 0;
|
| int seconds = static_cast<int>(fabsf(time));
|
| int hours = seconds / (60 * 60);
|
| - int minutes = (seconds / 60) % 60;
|
| + int minutes = (seconds / 60);
|
| + if (!RuntimeEnabledFeatures::newMediaPlaybackUiEnabled())
|
| + minutes %= 60;
|
| +
|
| seconds %= 60;
|
|
|
| // duration defines the format of how the time is rendered
|
| int durationSecs = static_cast<int>(fabsf(duration));
|
| - int durationHours = durationSecs / (60 * 60);
|
| - int durationMins = (durationSecs / 60) % 60;
|
| + int durationMins = (durationSecs / 60);
|
| +
|
| + if (!RuntimeEnabledFeatures::newMediaPlaybackUiEnabled()) {
|
| + int durationHours = durationSecs / (60 * 60);
|
| + durationMins %= 60;
|
| + if (durationHours || hours)
|
| + return String::format("%s%01d:%02d:%02d", (time < 0 ? "-" : ""), hours, minutes, seconds);
|
| + if (durationMins > 9)
|
| + return String::format("%s%02d:%02d", (time < 0 ? "-" : ""), minutes, seconds);
|
| +
|
| + return String::format("%s%01d:%02d", (time < 0 ? "-" : ""), minutes, seconds);
|
| + }
|
| +
|
| + // New UI includes a leading "/ " before duration.
|
| + const char* separator = (includeSeparator ? "/ " : "");
|
|
|
| - if (durationHours || hours)
|
| - return String::format("%s%01d:%02d:%02d", (time < 0 ? "-" : ""), hours, minutes, seconds);
|
| - if (durationMins > 9)
|
| - return String::format("%s%02d:%02d", (time < 0 ? "-" : ""), minutes, seconds);
|
| + // 0-9 minutes duration is 0:00
|
| + // 10-60 minutes duration is 00:00
|
| + // >60 minutes duration is 000:00
|
| + if (durationMins > 60 || minutes > 60)
|
| + return String::format("%s%s%03d:%02d", separator, (time < 0 ? "-" : ""), minutes, seconds);
|
| + if (durationMins > 10)
|
| + return String::format("%s%s%02d:%02d", separator, (time < 0 ? "-" : ""), minutes, seconds);
|
|
|
| - return String::format("%s%01d:%02d", (time < 0 ? "-" : ""), minutes, seconds);
|
| + return String::format("%s%s%01d:%02d", separator, (time < 0 ? "-" : ""), minutes, seconds);
|
| }
|
|
|
| String LayoutTheme::formatMediaControlsTime(float time) const
|
| {
|
| - return formatChromiumMediaControlsTime(time, time);
|
| + return formatChromiumMediaControlsTime(time, time, true);
|
| }
|
|
|
| String LayoutTheme::formatMediaControlsCurrentTime(float currentTime, float duration) const
|
| {
|
| - return formatChromiumMediaControlsTime(currentTime, duration);
|
| + return formatChromiumMediaControlsTime(currentTime, duration, false);
|
| }
|
|
|
| Color LayoutTheme::activeSelectionBackgroundColor() const
|
|
|