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

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

Issue 1403303011: AudioPlayer: Update control panel with playback progress bar. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments Created 5 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: ui/file_manager/audio_player/elements/control_panel.js
diff --git a/ui/file_manager/audio_player/elements/control_panel.js b/ui/file_manager/audio_player/elements/control_panel.js
index ca7ea24079b16b6f448a595c9eff3c7533358ed9..317d5c21059b4254b44311fa93477d26ff49a89d 100644
--- a/ui/file_manager/audio_player/elements/control_panel.js
+++ b/ui/file_manager/audio_player/elements/control_panel.js
@@ -99,6 +99,15 @@
value: false,
observer: 'volumeSliderShownChanged',
notify: true
+ },
+
+ /**
+ * Whether the knob of time slider is being dragged.
+ */
+ dragging: {
+ type: Boolean,
+ value: false,
+ notify: true
}
},
@@ -112,17 +121,14 @@
this.$.volumeSlider.addEventListener('focusout', onFocusoutBound);
this.$.volumeButton.addEventListener('focusout', onFocusoutBound);
- // Prevent the time slider from being moved by arrow keys.
- this.$.timeInput.addEventListener('keydown', function(event) {
- switch (event.keyCode) {
- case 37: // Left arrow
- case 38: // Up arrow
- case 39: // Right arrow
- case 40: // Down arrow
- event.preventDefault();
- break;
- };
- });
+ this.$.timeSlider.addEventListener('value-change', function() {
+ if (this.dragging)
+ this.dragging = false;
+ }.bind(this));
+ this.$.timeSlider.addEventListener('immediate-value-change', function() {
+ if (!this.dragging)
+ this.dragging = true;
+ }.bind(this));
},
/**
@@ -194,6 +200,16 @@
},
/**
+ * Converts the time and duration into human friendly string.
+ * @param {number} time Time to be converted.
+ * @param {number} duration Duration to be converted.
+ * @return {string} String representation of the given time
+ */
+ computeTimeString_: function(time, duration) {
+ return this.time2string_(time) + ' / ' + this.time2string_(duration);
+ },
+
+ /**
* Computes state for play button based on 'playing' property.
* @return {string}
*/
« no previous file with comments | « ui/file_manager/audio_player/elements/control_panel.html ('k') | ui/file_manager/audio_player/elements/track_list.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698