| Index: chrome/browser/resources/file_manager/audio_player/elements/audio_player.js
|
| diff --git a/chrome/browser/resources/file_manager/audio_player/elements/audio_player.js b/chrome/browser/resources/file_manager/audio_player/elements/audio_player.js
|
| index c6b76b3fbc8fb1398ebd6cae56f5316004e4cf13..0694030f7abb54c6ccc6766acc1eaa12e298a68d 100644
|
| --- a/chrome/browser/resources/file_manager/audio_player/elements/audio_player.js
|
| +++ b/chrome/browser/resources/file_manager/audio_player/elements/audio_player.js
|
| @@ -12,7 +12,9 @@ Polymer('audio-player', {
|
| audioElement: null,
|
| trackList: null,
|
|
|
| - // Attributes of the element (little charactor only)
|
| + // Attributes of the element (little charactor only).
|
| + // These value must be used only to data binding and shouldn't be assignred
|
| + // anu value nowhere except in the handler.
|
| playing: false,
|
| currenttrackurl: '',
|
|
|
| @@ -70,7 +72,8 @@ Polymer('audio-player', {
|
| if (currentTrack && currentTrack.url != this.audioElement.src) {
|
| this.audioElement.src = currentTrack.url;
|
| currentTrackUrl = this.audioElement.src;
|
| - this.audioElement.play();
|
| + if (this.audioController.playing)
|
| + this.audioElement.play();
|
| }
|
| }
|
|
|
| @@ -103,7 +106,6 @@ Polymer('audio-player', {
|
|
|
| // When the new status is "stopped".
|
| this.cancelAutoAdvance_();
|
| - this.audioController.playing = false;
|
| this.audioElement.pause();
|
| this.currenttrackurl = '';
|
| this.lastAudioUpdateTime_ = null;
|
| @@ -202,15 +204,10 @@ Polymer('audio-player', {
|
| var isNextTrackAvailable =
|
| (this.trackList.getNextTrackIndex(forward, repeat) !== -1);
|
|
|
| + this.audioController.playing = isNextTrackAvailable;
|
| this.trackList.currentTrackIndex = nextTrackIndex;
|
|
|
| - if (isNextTrackAvailable) {
|
| - var nextTrack = this.trackList.tracks[nextTrackIndex];
|
| - this.audioElement.src = nextTrack.url;
|
| - this.audioElement.play();
|
| - } else {
|
| - this.audioElement.pause();
|
| - }
|
| + Platform.performMicrotaskCheckpoint();
|
| },
|
|
|
| /**
|
|
|