| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * Overrided metadata worker's path. | 6 * Overrided metadata worker's path. |
| 7 * @type {string} | 7 * @type {string} |
| 8 * @const | 8 * @const |
| 9 */ | 9 */ |
| 10 ContentMetadataProvider.WORKER_SCRIPT = '/js/metadata_worker.js'; | 10 ContentMetadataProvider.WORKER_SCRIPT = '/js/metadata_worker.js'; |
| 11 | 11 |
| 12 /** | 12 /** |
| 13 * @param {HTMLElement} container Container element. | 13 * @param {HTMLElement} container Container element. |
| 14 * @constructor | 14 * @constructor |
| 15 */ | 15 */ |
| 16 function AudioPlayer(container) { | 16 function AudioPlayer(container) { |
| 17 this.container_ = container; | 17 this.container_ = container; |
| 18 this.volumeManager_ = new VolumeManagerWrapper( | 18 this.volumeManager_ = new VolumeManagerWrapper( |
| 19 VolumeManagerWrapper.DriveEnabledStatus.DRIVE_ENABLED); | 19 VolumeManagerWrapper.DriveEnabledStatus.DRIVE_ENABLED); |
| 20 this.fileSystemMetadata_ = new FileSystemMetadata(this.volumeManager_); | 20 this.metadataModel_ = new MetadataModel.create(this.volumeManager_); |
| 21 this.selectedEntry_ = null; | 21 this.selectedEntry_ = null; |
| 22 | 22 |
| 23 this.model_ = new AudioPlayerModel(); | 23 this.model_ = new AudioPlayerModel(); |
| 24 var observer = new PathObserver(this.model_, 'expanded'); | 24 var observer = new PathObserver(this.model_, 'expanded'); |
| 25 observer.open(function(newValue, oldValue) { | 25 observer.open(function(newValue, oldValue) { |
| 26 // Inverse arguments intentionally to match the Polymer way. | 26 // Inverse arguments intentionally to match the Polymer way. |
| 27 this.onModelExpandedChanged(oldValue, newValue); | 27 this.onModelExpandedChanged(oldValue, newValue); |
| 28 }.bind(this)); | 28 }.bind(this)); |
| 29 | 29 |
| 30 this.entries_ = []; | 30 this.entries_ = []; |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 this.selectedEntry_ = entry; | 230 this.selectedEntry_ = entry; |
| 231 }.bind(this)); | 231 }.bind(this)); |
| 232 }; | 232 }; |
| 233 | 233 |
| 234 /** | 234 /** |
| 235 * @param {FileEntry} entry Track file entry. | 235 * @param {FileEntry} entry Track file entry. |
| 236 * @param {function(object)} callback Callback. | 236 * @param {function(object)} callback Callback. |
| 237 * @private | 237 * @private |
| 238 */ | 238 */ |
| 239 AudioPlayer.prototype.fetchMetadata_ = function(entry, callback) { | 239 AudioPlayer.prototype.fetchMetadata_ = function(entry, callback) { |
| 240 this.fileSystemMetadata_.get( | 240 this.metadataModel_.get( |
| 241 [entry], ['mediaTitle', 'mediaArtist', 'present']).then( | 241 [entry], ['mediaTitle', 'mediaArtist', 'present']).then( |
| 242 function(generation, metadata) { | 242 function(generation, metadata) { |
| 243 // Do nothing if another load happened since the metadata request. | 243 // Do nothing if another load happened since the metadata request. |
| 244 if (this.playlistGeneration_ == generation) | 244 if (this.playlistGeneration_ == generation) |
| 245 callback(metadata[0]); | 245 callback(metadata[0]); |
| 246 }.bind(this, this.playlistGeneration_)); | 246 }.bind(this, this.playlistGeneration_)); |
| 247 }; | 247 }; |
| 248 | 248 |
| 249 /** | 249 /** |
| 250 * Media error handler. | 250 * Media error handler. |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 // TODO(yoshiki): Handle error in better way. | 424 // TODO(yoshiki): Handle error in better way. |
| 425 // TODO(yoshiki): implement artwork (metadata.thumbnail) | 425 // TODO(yoshiki): implement artwork (metadata.thumbnail) |
| 426 this.title = metadata.mediaTitle || this.getDefaultTitle(); | 426 this.title = metadata.mediaTitle || this.getDefaultTitle(); |
| 427 this.artist = error || metadata.mediaArtist || this.getDefaultArtist(); | 427 this.artist = error || metadata.mediaArtist || this.getDefaultArtist(); |
| 428 }; | 428 }; |
| 429 | 429 |
| 430 // Starts loading the audio player. | 430 // Starts loading the audio player. |
| 431 window.addEventListener('polymer-ready', function(e) { | 431 window.addEventListener('polymer-ready', function(e) { |
| 432 AudioPlayer.load(); | 432 AudioPlayer.load(); |
| 433 }); | 433 }); |
| OLD | NEW |