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

Unified Diff: chrome/browser/resources/mediaplayer.html

Issue 7067020: Moving mediaplayer to the chrome filebrowser. Observable behaviour should not change. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Resolved conflicts. Created 9 years, 7 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
« no previous file with comments | « chrome/browser/resources/file_manager/playlist.html ('k') | chrome/browser/resources/playlist.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/mediaplayer.html
diff --git a/chrome/browser/resources/mediaplayer.html b/chrome/browser/resources/mediaplayer.html
deleted file mode 100644
index 4b84c0fb3868f3cde5ad5e5a62fb99e1bad66dad..0000000000000000000000000000000000000000
--- a/chrome/browser/resources/mediaplayer.html
+++ /dev/null
@@ -1,894 +0,0 @@
-<!DOCTYPE HTML>
-<html i18n-values="dir:textdirection;">
-<head>
-<meta charset="utf-8">
-<title>Media Player</title>
-<style type="text/css">
-
-body {
- overflow: hidden;
- background: black;
-}
-
-.error {
- left: 0;
- right: 0;
- color: white;
- bottom: 38px;
- position: absolute;
-}
-
-.glow {
- left: 0;
- right: 0;
- bottom: 30px;
- height: 8px;
- opacity: .4;
- position: absolute;
- background: -webkit-linear-gradient(transparent, white);
-}
-
-.audiotitle {
- left: 0;
- right: 0;
- text-align: center;
- position: absolute;
- color: white;
- top: 100px;
-}
-
-.progress {
- -webkit-appearance: sliderthumb-horizontal;
- position: absolute;
- background: transparent;
- left: 93px;
- right: 120px;
- bottom: -2px;
- height: 30px;
- z-index: 99999;
- border-left: 1px solid #424242;
-}
-
-.playercontrolsbox {
- bottom: 0;
- left: 0;
- height: 30px;
- right: 0;
- position: absolute;
-}
-
-.videocontrols {
- top: 0;
- left: 0;
- z-index: 999;
- height: 100%;
- opacity: .9;
- right: 0;
- position: absolute;
- background: -webkit-linear-gradient(#323232, #070707);
-}
-
-.sliderback {
- bottom: 12px;
- left: 93px;
- right: 120px;
- height: 5px;
- position: absolute;
- border-radius: 3px;
- background: -webkit-linear-gradient(#ced9fa, #e8ecf9);
- border: 1px solid #ffffff;
-}
-
-.sliderplayed {
- height: 100%;
- width:0;
- left: -1px;
- top: -1px;
- border-radius: 3px;
- border: 1px solid #9ca5b7;
- position: absolute;
- background: -webkit-linear-gradient(#4a5d84, #232c3d);
-}
-
-.sliderloaded {
- height: 100%;
- width:0;
- left: -1px;
- top: -1px;
- border-radius: 3px;
- position: absolute;
- background: #6a799a;
- border: 1px solid #ffffff;
-}
-
-.audiocontrols {
- top: 0;
- left: 0;
- z-index: 999;
- height: 100%;
- opacity: .9;
- right: 0;
- position: absolute;
- background: -webkit-linear-gradient(#323232, #070707);
-}
-
-.soundbutton {
- position: absolute;
- right: 30px;
- bottom: 0;
- border-left: 1px solid #424242;
- border-right: 1px solid black;
-}
-
-.soundiconhigh {
- /* background: TODO(serya): Restore mediaplayer_vol_high.png after moving mediaplayer to extension. */
-}
-
-.soundiconmuted {
- /* background: TODO(serya): Restore mediaplayer_vol_mute.png after moving mediaplayer to extension. */
-}
-
-.soundiconhigh,
-.soundiconmuted {
- background-repeat: no-repeat;
- background-position: 6px 8px;
-}
-
-.volume {
- position: absolute;
- bottom: 30px;
- height: 80px;
- width: 30px;
- right: 30px;
- z-index: 99999;
- background: black;
- background: -webkit-linear-gradient(#323232, #070707);
-}
-
-.fullscreen {
- position: absolute;
- right: 60px;
- bottom: 0;
- border-left: 1px solid #424242;
- border-right: 1px solid black;
-}
-
-.fullscreenicon {
- /* background: TODO(serya): Restore mediaplayer_full_screen.png after moving mediaplayer to extension. */
- background-repeat: no-repeat;
- background-position: 6px 8px;
-}
-
-.fullscreenexiticon {
- /* background: TODO(serya): Restore mediaplayer_full_screen_exit.png after moving mediaplayer to extension. */
- background-repeat: no-repeat;
- background-position: 6px 8px;
-}
-
-.volumeslider {
- -webkit-appearance: slider-vertical;
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
- top: 0;
-}
-
-.playbutton {
- position: absolute;
- left: 30px;
- bottom: 0;
- border-left: 1px solid #424242;
- border-right: 1px solid black;
-}
-
-.playicon {
- /* background: TODO(serya): Restore mediaplayer_play.png after moving mediaplayer to extension. */
- background-repeat: no-repeat;
- background-position: 9px 8px;
-}
-
-.pausebutton {
- position: absolute;
- left: 30px;
- bottom: 0;
- border-left: 1px solid #424242;
- border-right: 1px solid black;
-}
-
-.pauseicon {
- /* background: Restore mediaplayer_pause.png after moving mediaplayer to extension. */
- background-repeat: no-repeat;
- background-position: 9px 8px;
-}
-
-.prevbutton {
- position: absolute;
- left: 0;
- bottom: 0;
- border-right: 1px solid black;
-}
-
-.previcon {
- /* background: TODO(serya): Restore mediaplayer_prev.png after moving mediaplayer to extension. */
- background-repeat: no-repeat;
- background-position: 6px 8px;
-}
-
-.playbackvideoelement {
- width: 100%;
- height: 100%;
- position: absolute;
- left: 0;
- top: 0;
- -webkit-transform: translateZ(0);
-}
-
-.duration {
- right: 90px;
- color: white;
- position: absolute;
- top: 8.5px;
- font-size: .6em;
- height: 30px;
-}
-
-.playbackaudioelement {
- width: 100%;
- height: 100%;
- position: absolute;
- left: 0;
- top: 0;
-}
-
-.nextbutton {
- position: absolute;
- left: 60px;
- bottom: 0;
- border-left: 1px solid #424242;
- border-right: 1px solid black;
-}
-
-.nexticon {
- /* background: TODO(serya): Restore mediaplayer_next.png after moving mediaplayer to extension. */
- background-repeat: no-repeat;
- background-position: 6px 8px;
-}
-
-.playlistbutton {
- position: absolute;
- right: 0;
- bottom: 0;
- border-left: 1px solid #424242;
- border-right: 1px solid black;
-}
-
-.playlisticon {
- /* background: TODO(serya): Restore mediaplayer_playlist.png after moving mediaplayer to extension. */
- background-repeat: no-repeat;
- background-position: 6px 8px;
-}
-
-.controlbutton {
- z-index: 9999;
- cursor: pointer;
- width: 28px;
- height: 30px;
-}
-
-.controlbutton:hover {
- background: -webkit-linear-gradient(#6a7eac, #000);
-}
-
-.icon {
- width: 100%;
- height: 100%;
- z-index: 9999;
-}
-
-</style>
-<script src="shared/js/local_strings.js"></script>
-<script src="shared/js/media_common.js"></script>
-<script>
-
-function $(o) {
- return document.getElementById(o);
-}
-
-var videoPlaybackElement = null;
-var audioPlaybackElement = null;
-var currentPlaylist = null;
-var currentItem = -1;
-var savedVolumeValue = 0;
-var hideVolumeTimerId = 0;
-var localStrings;
-var fullScreen = false;
-
-///////////////////////////////////////////////////////////////////////////////
-// Document Functions:
-/**
- * Window onload handler, sets up the page.
- */
-function load() {
- document.body.addEventListener('dragover', function(e) {
- if (e.preventDefault) e.preventDefault();
- });
- document.body.addEventListener('drop', function(e) {
- if (e.preventDefault) e.preventDefault();
- });
- document.body.addEventListener('keydown', onkeydown);
-
- localStrings = new LocalStrings();
- chrome.send('getCurrentPlaylist', []);
-}
-
-function onMediaProgress() {
- var element = getMediaElement();
- var current = element.currentTime;
- var duration = element.duration;
- var progress = $('progress');
- progress.value = (current*100)/duration;
- var played = $('sliderplayed');
- played.style.width = '' + progress.value + '%';
- if (progress.value == 100) {
- onMediaComplete();
- }
-}
-
-function onLoadedProgress(e) {
- var element = $('sliderloaded');
- if (e.lengthComputable) {
- element.style.display = 'block';
- var percent = (e.loaded * 100) / e.total;
- element.style.width = '' + percent + '%';
- } else {
- element.style.display = 'none';
- }
-}
-
-function onMediaError(e) {
- console.log('Got new error');
- console.log(e);
- chrome.send('playbackError', ['Error playing back',
- currentPlaylist[currentItem].path]);
- if (currentPlaylist.length == 1) {
- $('error').textContent = localStrings.getString('errorstring');
- } else {
- chrome.send("showPlaylist", []);
- }
- onMediaComplete();
-}
-
-function onMediaComplete() {
- currentItem ++;
- if (currentItem >= currentPlaylist.length) {
- currentItem -= 1;
- var element = getMediaElement();
- if (!getMediaElement().error) {
- element.currentTime = 0;
- element.pause();
- onMediaProgress();
- }
- onMediaPause();
- return;
- }
- var mediaElement = getMediaElement();
- mediaElement.removeEventListener("progress", onLoadedProgress, true);
- mediaElement.removeEventListener("timeupdate", onMediaProgress, true);
- mediaElement.removeEventListener("durationchange", onMetadataAvail, true);
- // MediaElement.removeEventListener("ended", onMediaComplete, true);
- mediaElement.removeEventListener("play", onMediaPlay, true);
- mediaElement.removeEventListener("pause", onMediaPause, true);
- mediaElement.onerror = undefined;
- chrome.send('currentOffsetChanged', ['' + currentItem]);
- playMediaFile(currentPlaylist[currentItem].path);
-}
-
-function onMediaPlay() {
- var pausebutton = $('pausebutton');
- var playbutton = $('playbutton');
- pausebutton.style.display = 'block';
- playbutton.style.display = 'none';
-}
-
-function onMediaPause() {
- var pausebutton = $('pausebutton');
- var playbutton = $('playbutton');
- playbutton.style.display = 'block';
- pausebutton.style.display = 'none';
-}
-
-function setupMediaEvents(element) {
- element.addEventListener("progress", onLoadedProgress, true);
- element.addEventListener("timeupdate", onMediaProgress, true);
- element.addEventListener("durationchange", onMetadataAvail, true);
- // element.addEventListener("ended", onMediaComplete, true);
- element.onerror = onMediaError;
- element.addEventListener("play", onMediaPlay, true);
- element.addEventListener("pause", onMediaPause, true);
- element.oncontextmenu = function() {
- return false;
- };
-}
-
-function getMediaElement() {
- var mediaElement;
- if (videoPlaybackElement) {
- mediaElement = videoPlaybackElement;
- } else {
- mediaElement = audioPlaybackElement;
- }
- return mediaElement;
-}
-
-function playPauseButtonClick() {
- var mediaElement = getMediaElement();
- if (mediaElement.paused || mediaElement.ended) {
- mediaElement.play();
- } else {
- mediaElement.pause();
- }
-}
-
-function prevButtonClick() {
- var element = getMediaElement();
- if (element.currentTime > 6) {
- element.currentTime = 0;
- return;
- }
- currentItem --;
- if (currentItem < 0) {
- currentItem = -1;
- return;
- }
- chrome.send('currentOffsetChanged', ['' + currentItem]);
- playMediaFile(currentPlaylist[currentItem].path);
-}
-
-function nextButtonClick() {
- currentItem ++;
- if (currentItem >= currentPlaylist.length) {
- currentItem = -1;
- return;
- }
- chrome.send('currentOffsetChanged', ['' + currentItem]);
- playMediaFile(currentPlaylist[currentItem].path);
-}
-
-function userChangedProgress() {
- var val = $('progress').value;
- var element = getMediaElement();
- if (element.seekable && element.duration) {
- var current = (progress.value * element.duration)/100;
- element.currentTime = current;
- }
-}
-
-function changeVolumeVisibility(visible) {
- var volume = $('volume');
- volume.style.display = visible ? 'block' : 'none';
-}
-
-function showVolume() {
- if (hideVolumeTimerId) {
- clearTimeout(hideVolumeTimerId);
- hideVolumeTimerId = 0;
- }
-
- changeVolumeVisibility(true);
-}
-
-function hideVolume() {
- if (!hideVolumeTimerId)
- hideVolumeTimerId = setTimeout('changeVolumeVisibility(false)', 500);
-}
-
-function volumeChange() {
- var volumeslider = $('volumeslider');
- var element = getMediaElement();
- element.volume = (volumeslider.value/100);
-
- var soundicon = $('soundicon');
- soundicon.className = soundicon.className.replace(
- /soundicon.*/,
- element.volume > 0 ? 'soundiconhigh' : 'soundiconmuted');
-}
-
-function muteVolume(mute) {
- var volumeslider = $('volumeslider');
- var element = getMediaElement();
- if (mute) {
- savedVolumeValue = volumeslider.value;
- volumeslider.value = 0;
- volumeChange();
- } else {
- volumeslider.value = savedVolumeValue;
- volumeChange();
- }
-}
-
-function toggleVolumeMute() {
- muteVolume($('volumeslider').value != 0);
-}
-
-function getPathAndFilenameForPath(path) {
- return path.match(/(.*)[\/\\]([^\/\\]+)\.\w+$/);
-}
-
-
-var hidingControlsAnimation = null;
-
-const INACTIVITY_TIMEOUT = 5000;
-const INACTIVITY_CHECK_INTERVAL = 1000;
-const ANIMATION_DURATION = 1500;
-const ANIMATION_STEP = 50;
-
-function HidingControlsAnimation() {
- this.offsetPercent = 0;
- this.recentActivity = Date.now();
-
- this.inactivityInterval = setInterval(this.checkInactivity.bind(this),
- INACTIVITY_CHECK_INTERVAL);
-
- this.onActivityClosure = this.onActivity.bind(this);
- document.body.addEventListener('mousemove', this.onActivityClosure);
- document.body.addEventListener('mousedown', this.onActivityClosure);
- document.body.addEventListener('keydown', this.onActivityClosure);
-}
-
-HidingControlsAnimation.prototype = {
-
- cleanup: function () {
- this.stopAnimation();
- clearInterval(this.inactivityInterval);
- document.body.removeEventListener('mousemove', this.onActivityClosure);
- document.body.removeEventListener('mousedown', this.onActivityClosure);
- document.body.removeEventListener('keydown', this.onActivityClosure);
- },
-
- onActivity: function() {
- this.recentActivity = Date.now();
- // If not fully visible, start sliding up (or reverse sliding down).
- if (this.offsetPercent != 0)
- this.startAnimation(-1);
- },
-
- checkInactivity: function() {
- if ((Date.now() - this.recentActivity) > INACTIVITY_TIMEOUT) {
- // If fully visible start sliding down.
- if (this.offsetPercent == 0)
- this.startAnimation(1);
- }
- },
-
- startAnimation: function (direction) {
- this.direction = direction;
- this.startOffset = this.offsetPercent;
- this.startTime = Date.now();
- if (!this.animationInterval)
- this.animationInterval = setInterval(this.doAnimation.bind(this),
- ANIMATION_STEP);
- },
-
- doAnimation: function () {
- var phase = (Date.now() - this.startTime) / ANIMATION_DURATION;
-
- var newOffsetPercent = this.startOffset + this.direction * phase * 100;
-
- if (newOffsetPercent <= 0) {
- this.offsetPercent = 0;
- this.stopAnimation();
- } else if (newOffsetPercent >= 100){
- this.offsetPercent = 100;
- this.stopAnimation();
- } else {
- this.offsetPercent = Math.round(newOffsetPercent);
- }
-
- $('playercontrols').style.top = this.offsetPercent + '%';
- },
-
- stopAnimation: function () {
- if (this.animationInterval) {
- clearInterval(this.animationInterval);
- this.animationInterval = null;
- }
- }
-};
-
-function setupPlaybackControls() {
- var element = $('playercontrols');
- playercontrols.innerHTML = ''; // clear out other
- var controlsclass = '';
- if (hidingControlsAnimation) {
- hidingControlsAnimation.cleanup();
- hidingControlsAnimation = null;
- }
- if (videoPlaybackElement != null) {
- controlsclass = 'video';
- element.className = 'videocontrols';
- hidingControlsAnimation = new HidingControlsAnimation();
- } else if (audioPlaybackElement != null) {
- controlsclass = 'audio';
- element.className = 'audiocontrols';
- }
-
- var playbutton = document.createElement('div');
- playbutton.id = 'playbutton';
- playbutton.className = controlsclass + ' controlbutton playbutton';
- playbutton.onclick = playPauseButtonClick;
- var playicon = document.createElement('div');
- playicon.className = 'icon playicon';
- playbutton.appendChild(playicon);
- element.appendChild(playbutton);
-
-
- var pausebutton = document.createElement('div');
- pausebutton.id = 'pausebutton';
- pausebutton.className = controlsclass + ' controlbutton pausebutton';
- pausebutton.onclick = playPauseButtonClick;
- var pauseicon = document.createElement('div');
- pauseicon.className = 'icon pauseicon';
- pausebutton.appendChild(pauseicon);
- element.appendChild(pausebutton);
-
- var nextbutton = document.createElement('div');
- nextbutton.id = 'nextbutton';
- nextbutton.className = controlsclass + ' controlbutton nextbutton';
- nextbutton.onclick = nextButtonClick;
- var nexticon = document.createElement('div');
- nexticon.className = 'icon nexticon';
- nextbutton.appendChild(nexticon);
- element.appendChild(nextbutton);
-
- var prevbutton = document.createElement('div');
- prevbutton.id = 'prevbutton';
- prevbutton.className = controlsclass + ' controlbutton prevbutton';
- prevbutton.onclick = prevButtonClick;
- var previcon = document.createElement('div');
- previcon.className = 'icon previcon';
- prevbutton.appendChild(previcon);
- element.appendChild(prevbutton);
-
- var playlistbutton = document.createElement('div');
- playlistbutton.id = 'playlistbutton';
- playlistbutton.className = ' controlbutton playlistbutton';
- playlistbutton.onclick = togglePlaylist;
- var playlisticon = document.createElement('div');
- playlisticon.className = 'icon playlisticon';
- playlistbutton.appendChild(playlisticon);
- element.appendChild(playlistbutton);
-
- var slider = document.createElement('input');
- slider.type = 'range';
- slider.id = 'progress';
- slider.className = controlsclass + ' progress';
- slider.onchange = userChangedProgress;
- element.appendChild(slider);
-
- var sliderback = document.createElement('div');
- sliderback.className = 'sliderback';
- element.appendChild(sliderback);
-
- var loaded = document.createElement('div');
- loaded.id = 'sliderloaded';
- loaded.className = 'sliderloaded';
- sliderback.appendChild(loaded);
-
- var played = document.createElement('div');
- played.id = 'sliderplayed';
- played.className = 'sliderplayed';
- sliderback.appendChild(played);
-
- var soundbutton = document.createElement('div');
- soundbutton.id = 'soundbutton';
- soundbutton.className = controlsclass + ' controlbutton soundbutton';
- soundbutton.onclick = toggleVolumeMute;
- soundbutton.onmouseover = showVolume;
- soundbutton.onmouseout = hideVolume;
- var soundicon = document.createElement('div');
- soundicon.id = 'soundicon';
- soundicon.className = 'icon soundiconhigh';
- soundbutton.appendChild(soundicon);
- element.appendChild(soundbutton);
-
- var fullscreen = document.createElement('div');
- fullscreen.id = 'fullscreen';
- fullscreen.className = controlsclass + ' controlbutton fullscreen';
- fullscreen.onclick = toggleFullscreen;
- var fullscreenicon = document.createElement('div');
- fullscreenicon.id = 'fullscreenicon';
- fullscreenicon.className = 'icon fullscreenicon';
- fullscreen.appendChild(fullscreenicon);
- element.appendChild(fullscreen);
-
- var volume = document.createElement('div');
- volume.id = 'volume';
- volume.className = controlsclass + ' volume';
- volume.style.display = 'none';
- volume.onmouseover = showVolume;
- volume.onmouseout = hideVolume;
- var volumeslider = document.createElement('input');
- volumeslider.type = 'range';
- volumeslider.id = 'volumeslider';
- volumeslider.className = 'volumeslider';
- volumeslider.onchange = volumeChange;
- volume.appendChild(volumeslider);
- document.body.appendChild(volume);
- volumeChange();
-
- var duration = document.createElement('div');
- duration.id = 'duration';
- duration.className = 'duration';
- element.appendChild(duration);
-}
-
-function playAudioFile(uri) {
- if (videoPlaybackElement != null) {
- videoPlaybackElement.onerror = undefined;
- document.body.removeChild(videoPlaybackElement);
- videoPlaybackElement = null;
- }
- if (audioPlaybackElement == null) {
- audioPlaybackElement = document.createElement('audio');
- audioPlaybackElement.className = 'playbackaudioelement';
- audioPlaybackElement.autoplay = true;
- audioPlaybackElement.controls = false;
- setupMediaEvents(audioPlaybackElement);
- audioPlaybackElement.src = uri;
- setupPlaybackControls();
- document.body.appendChild(audioPlaybackElement);
- var paths = getPathAndFilenameForPath(uri);
- $('title').textContent = decodeURI(paths[2]);
- } else {
- setupMediaEvents(audioPlaybackElement);
- audioPlaybackElement.src = uri;
- audioPlaybackElement.load();
- audioPlaybackElement.play();
- var paths = getPathAndFilenameForPath(uri);
- $('title').textContent = decodeURI(paths[2]);
- }
-}
-
-function onkeydown(event) {
- const ESCAPE_KEY_CODE = 27;
- const SPACE_KEY_CODE = 32;
- switch (event.keyCode) {
- case ESCAPE_KEY_CODE:
- if (fullScreen)
- toggleFullscreen();
- break;
-
- case SPACE_KEY_CODE:
- playPauseButtonClick();
- break;
- }
-}
-
-function toggleFullscreen() {
- fullScreen = !fullScreen;
- var fullscreenicon = $('fullscreenicon');
- if (fullScreen) {
- fullscreenicon.classList.remove('fullscreenicon');
- fullscreenicon.classList.add('fullscreenexiticon');
- }
- else {
- fullscreenicon.classList.remove('fullscreenexiticon');
- fullscreenicon.classList.add('fullscreenicon');
- }
- chrome.send('toggleFullscreen', ['']);
-}
-
-function onMetadataAvail() {
- var element = getMediaElement();
- var duration = element.duration;
- if (duration) {
- var durString = '' + Math.floor((duration / 60)) + ':' + (Math.floor(duration) % 60);
- var durDiv = $('duration');
- durDiv.textContent = durString;
- }
-}
-
-function playVideoFile(uri) {
- if (audioPlaybackElement != null) {
- document.body.removeChild(audioPlaybackElement);
- audioPlaybackElement = null;
- }
- if (videoPlaybackElement == null) {
- videoPlaybackElement = document.createElement('video');
- videoPlaybackElement.className = 'playbackvideoelement';
- videoPlaybackElement.autoplay = true;
- videoPlaybackElement.controls = false;
- setupMediaEvents(videoPlaybackElement);
- videoPlaybackElement.src = uri;
- videoPlaybackElement.load();
- var toggleButton = document.createElement('div');
- toggleButton.className = 'fullscreentoggle';
- toggleButton.id = 'fullscreentoggle';
- toggleButton.onclick = toggleFullscreen;
- document.body.appendChild(toggleButton);
- setupPlaybackControls();
- document.body.appendChild(videoPlaybackElement);
- } else {
- setupMediaEvents(videoPlaybackElement);
- videoPlaybackElement.src = uri;
- videoPlaybackElement.load();
- videoPlaybackElement.currentTime = 0;
- videoPlaybackElement.play();
- }
-}
-
-function stopAllPlayback() {
- var element = getMediaElement();
- if (element != null) {
- element.pause();
- }
-}
-
-function playlistChanged(info, playlist) {
- if (info.force) {
- currentPlaylist = playlist;
- stopAllPlayback();
- if (playlist.length >= 1) {
- if (info.currentOffset) {
- currentItem = info.currentOffset;
- } else {
- currentItem = 0;
- }
- var item = playlist[currentItem];
- chrome.send('currentOffsetChanged', ['' + currentItem]);
- playMediaFile(item.path);
- }
- } else {
- var media = getMediaElement();
- currentPlaylist = playlist;
- // Only need to handle the case where we are not playing
- // since if it is currently playing, it will just move
- // to the next file when the current is complete.
- if (media == null) {
- for (var x = 0; x < playlist.length; x++) {
- if (playlist[x].path == info.path) {
- // found the newly added item.
- currentItem = x;
- chrome.send('currentOffsetChanged', ['' + currentItem]);
- playMediaFile(playlist[x].path);
- return;
- }
- }
- if (playlist.length > 0) {
- currentItem = 0;
- chrome.send('currentOffsetChanged', ['' + currentItem]);
- playMediaFile(playlist[0].path);
- }
- }
- }
-}
-
-function togglePlaylist() {
- chrome.send("togglePlaylist", []);
-}
-
-function playMediaFile(url) {
- $('error').textContent = '';
- console.log('playfile '+url);
- $('title').textContent = '';
- if (pathIsVideoFile(url) ) {
- playVideoFile(url);
- } else if(pathIsAudioFile(url)) {
- playAudioFile(url);
- } else {
- alert('file unknown:' + url);
- }
-}
-
-</script>
-<body onload='load();' onselectstart='return false'>
-<div id='error' class='error'></div>
-<div id='title' class='audiotitle'></div>
-<div id='glow' class='glow'></div>
-<div class='playercontrolsbox'>
- <div id='playercontrols'>
- </div>
-</div>
-</body>
-</html>
« no previous file with comments | « chrome/browser/resources/file_manager/playlist.html ('k') | chrome/browser/resources/playlist.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698