Chromium Code Reviews| Index: ui/file_manager/audio_player/elements/track_list.js |
| diff --git a/ui/file_manager/audio_player/elements/track_list.js b/ui/file_manager/audio_player/elements/track_list.js |
| index 95894edfd8bc4f3fa654395f33a088949537b641..c611ce64720fb82d02336b00ea8a36a54fc1a398 100644 |
| --- a/ui/file_manager/audio_player/elements/track_list.js |
| +++ b/ui/file_manager/audio_player/elements/track_list.js |
| @@ -166,8 +166,15 @@ var TrackInfo; |
| trackClicked: function(event) { |
| var index = ~~event.currentTarget.getAttribute('index'); |
| var track = this.tracks[index]; |
| - if (track) |
| - this.selectTrack(track); |
| + if (track) { |
| + if (event.target.classList.contains('icon')) { |
| + // If the play icon on the track is clicked, change the current track |
| + // and start playing it regardless of current play state. |
| + this.selectTrack(track, true /* force to play */); |
| + } else { |
| + this.selectTrack(track, false /* force to play */); |
| + } |
| + } |
| }, |
| /** |
| @@ -250,8 +257,10 @@ var TrackInfo; |
| * Sets the current track. |
| * @param {!TrackInfo} track TrackInfo to be set as the current |
| * track. |
| + * @param {boolean} forcePlay True if the track should be played regardless |
|
yawano
2015/11/18 18:17:29
small optional nit: forcePlay -> forceToPlay.
fukino
2015/11/19 02:14:39
Done.
|
| + * of the current play state (paused/played). |
| */ |
| - selectTrack: function(track) { |
| + selectTrack: function(track, forcePlay) { |
| var index = -1; |
| for (var i = 0; i < this.tracks.length; i++) { |
| if (this.tracks[i].url === track.url) { |
| @@ -261,10 +270,13 @@ var TrackInfo; |
| } |
| if (index >= 0) { |
| // TODO(yoshiki): Clean up the flow and the code around here. |
| - if (this.currentTrackIndex == index) |
| + if (this.currentTrackIndex === index) { |
| this.replayCurrentTrack(); |
| - else |
| + } else { |
| this.currentTrackIndex = index; |
| + if (forcePlay) |
| + this.fire('play'); |
| + } |
| } |
| }, |