Index: ui/file_manager/file_manager/audio_player/js/audio_player.js |
diff --git a/ui/file_manager/file_manager/audio_player/js/audio_player.js b/ui/file_manager/file_manager/audio_player/js/audio_player.js |
index 55eef285469e54f085100c131385b213af387911..50f985afb81f0e56639133a3deffbecfee713573 100644 |
--- a/ui/file_manager/file_manager/audio_player/js/audio_player.js |
+++ b/ui/file_manager/file_manager/audio_player/js/audio_player.js |
@@ -117,18 +117,25 @@ AudioPlayer.prototype.load = function(playlist) { |
return; |
var newTracks = []; |
+ var currentTracks = this.player_.tracks; |
+ var unchanged = (currentTracks.length === this.entries_.length); |
for (var i = 0; i != this.entries_.length; i++) { |
var entry = this.entries_[i]; |
- var onClick = this.select_.bind(this, i, false /* no restore */); |
+ var onClick = this.select_.bind(this, i); |
newTracks.push(new AudioPlayer.TrackInfo(entry, onClick)); |
+ |
+ if (unchanged && entry.toURL() !== currentTracks[i].url) |
+ unchanged = false; |
} |
- this.player_.tracks = newTracks; |
+ if (!unchanged) { |
+ this.player_.tracks = newTracks; |
- // Makes it sure that the handler of the track list is called, before the |
- // handler of the track index. |
- Platform.performMicrotaskCheckpoint(); |
+ // Makes it sure that the handler of the track list is called, before |
+ // the handler of the track index. |
+ Platform.performMicrotaskCheckpoint(); |
+ } |
this.select_(position, !!time); |