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

Unified Diff: ui/file_manager/audio_player/elements/control_panel.css

Issue 1442583002: Revert of AudioPlayer: Update control panel with playback progress bar. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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: ui/file_manager/audio_player/elements/control_panel.css
diff --git a/ui/file_manager/audio_player/elements/control_panel.css b/ui/file_manager/audio_player/elements/control_panel.css
index 78624e42e4dca8a8a60f739ea2a8fe162ffe7acb..4e5b533de9ab34d7428c97fdf9e4a3d99636b9d0 100644
--- a/ui/file_manager/audio_player/elements/control_panel.css
+++ b/ui/file_manager/audio_player/elements/control_panel.css
@@ -8,17 +8,19 @@
background-color: white;
display: flex;
flex-direction: column;
- height: 96px;
+ height: 64px;
justify-content: center;
padding: 0;
}
-.controls .upper-controls,
+.controls .upper-controls {
+ height: 32px;
+ width: 100%
+}
+
.controls .lower-controls {
- box-sizing: border-box;
- height: 48px;
- padding: 8px;
- width: 100%;
+ height: 32px;
+ width: 100%
}
.audio-controls {
@@ -80,38 +82,171 @@
justify-content: center;
}
-.time-controls > .time-container {
- color: rgb(51, 51, 51);
+.custom-slider.progress {
+ display: flex;
+ flex: 1 1 auto;
+ height: 100%;
+ position: relative;
+ z-index: 0; /* Make a layer which includes the thumb on slider. */
+}
+
+.custom-slider.progress > input[type='range']::-webkit-slider-thumb {
+ background-image: -webkit-image-set(
+ url(../assets/100/player_timeline_handler.png) 1x,
+ url(../assets/200/player_timeline_handler.png) 2x);
+ width: 28px;
+}
+
+.custom-slider.progress > input[type='range']::-webkit-slider-thumb:hover {
+ background-image: -webkit-image-set(
+ url(../assets/100/player_timeline_handler.png) 1x,
+ url(../assets/200/player_timeline_handler.png) 2x);
+}
+
+.custom-slider.progress > input[type='range']::-webkit-slider-thumb:active {
+ background-image: -webkit-image-set(
+ url(../assets/100/player_timeline_handler_pressed.png) 1x,
+ url(../assets/200/player_timeline_handler_pressed.png) 2x);
+}
+
+.custom-slider.progress.disabled > input[type='range']::-webkit-slider-thumb {
+ background-image: none;
+}
+
+.time-controls > .time {
cursor: default;
- flex: none;
+ height: 100%;
+ position: relative;
+ width: 53px;
+}
+
+.time-controls > .time.disabled {
+ opacity: 0;
+}
+
+.custom-slider > input[type='range'] {
+ -webkit-appearance: none !important; /* Hide the default thumb icon. */
+ background: transparent; /* Hide the standard slider bar */
+ height: 100%;
+ left: -2px; /* Required to align the input element with the parent. */
+ outline: none;
+ position: absolute;
+ top: -2px;
+ width: 100%;
+}
+
+/* Custom thumb icon. */
+.custom-slider > input[type='range']::-webkit-slider-thumb {
+ -webkit-appearance: none;
+ background-position: center center;
+ background-repeat: no-repeat;
+ height: 24px;
+ position: relative;
+ z-index: 2;
+}
+
+/* Custom slider bar (we hide the standard one). */
+.custom-slider > .bar {
+ background-image: -webkit-image-set(
+ url(../assets/100/player_timeline_base_center.png) 1x,
+ url(../assets/200/player_timeline_base_center.png) 2x);
+ /* In order to match the horizontal position of the standard slider bar
+ left and right must be equal to 1/2 of the thumb icon width. */
+ bottom: 15px;
+ left: 14px; /* Exactly 1/2 of the thumb width */
+ pointer-events: none; /* Mouse events pass through to the standard input. */
+ position: absolute;
+ right: 14px;
+ top: 15px;
+}
+
+.custom-slider > .bar > .filled,
+.custom-slider > .bar > .cap {
+ bottom: 0;
+ position: absolute;
+ top: 0;
+}
+
+/* The filled portion of the slider bar to the left of the thumb. */
+.custom-slider > .bar > .filled {
+ background-image: -webkit-image-set(
+ url(../assets/100/player_timeline_played_center.png) 1x,
+ url(../assets/200/player_timeline_played_center.png) 2x);
+ border-left-style: none;
+ border-right-style: none;
+ left: 0;
+ width: 0; /* The element style.width is manipulated from the code. */
+}
+
+/* Rounded caps to the left and right of the slider bar. */
+.custom-slider > .bar > .cap {
+ width: 1px;
+}
+
+/* Left cap is always filled, should be the same color as .filled. */
+.custom-slider > .bar > .cap.left {
+ background-image: -webkit-image-set(
+ url(../assets/100/player_timeline_played_left.png) 1x,
+ url(../assets/200/player_timeline_played_left.png) 2x);
+ right: 100%;
+}
+
+/* Right cap is always not filled. */
+.custom-slider > .bar > .cap.right {
+ background-image: -webkit-image-set(
+ url(../assets/100/player_timeline_base_right.png) 1x,
+ url(../assets/200/player_timeline_base_right.png) 2x);
+ left: 100%;
+}
+
+.media-button.disabled,
+.custom-slider.disabled,
+.custom-slider.readonly {
+ pointer-events: none;
+}
+
+/* Progress seek marker (precise time shown on mouse hover. */
+
+/* Thin vertical line across the slider bar */
+.custom-slider > .bar > .seek-mark {
+ background-color: #202020;
+ bottom: -1px;
+ left: 0;
+ position: absolute;
+ top: -1px;
+ width: 0;
+}
+
+.custom-slider > .bar > .seek-mark.visible {
+ width: 1px;
+}
+
+.custom-slider > .bar > .seek-mark.inverted {
+ background-color: #808080;
+}
+
+/* Text label giving the precise time corresponding to the hover position. */
+.custom-slider > .bar > .seek-mark > .seek-label {
+ align-items: center;
+ background: #202020;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ bottom: 19px;
+ color: white;
+ display: flex;
+ flex-direction: row;
font-size: 12px;
- padding: 8px;
- position: relative;
-}
-
-.time-container > .time {
- position: absolute;
- right: 8px; /* Should be same as time-container's right padding. */
- top: 8px; /* Should be same as time-container's top padding. */
-}
-
-.time-container > .time.disabled {
+ height: 15px;
+ justify-content: center;
+ left: 0;
opacity: 0;
-}
-
-.time-container > .time-spacer {
- opacity: 0; /* This class is intended to be used as invisible spacer. */
-}
-
-.time-controls > paper-slider {
- --paper-slider-active-color: rgb(66, 133, 244);
- --paper-slider-knob-color: rgb(64, 138, 241);
- flex: auto;
-}
-
-.media-button.disabled,
-paper-slider.disabled {
- pointer-events: none;
+ overflow: hidden;
+ position: absolute;
+ transition: opacity 150ms ease;
+}
+
+.custom-slider > .bar > .seek-mark.visible > .seek-label {
+ opacity: 1;
}
/* Media controls in order of appearance. */
@@ -228,14 +363,25 @@
}
/* Invisible div used to compute the width required for the elapsed time. */
+.time-controls > .time > .duration,
.time-controls > .time > .current {
align-items: center;
+ color: rgb(51, 51, 51);
display: flex;
flex-direction: row;
+ font-size: 12px;
height: 100%;
justify-content: flex-end;
position: absolute;
top: -1px;
+}
+
+.time-controls > .time > .duration {
+ left: 0;
+}
+
+.time-controls > .time > .current {
+ right: 0;
}
/* Volume controls: sound button and volume slider */
« no previous file with comments | « ui/file_manager/audio_player/elements/audio_player.js ('k') | ui/file_manager/audio_player/elements/control_panel.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698