summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/playlist.html
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/resources/playlist.html')
-rw-r--r--chrome/browser/resources/playlist.html146
1 files changed, 146 insertions, 0 deletions
diff --git a/chrome/browser/resources/playlist.html b/chrome/browser/resources/playlist.html
new file mode 100644
index 0000000..52aa594
--- /dev/null
+++ b/chrome/browser/resources/playlist.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML>
+<html i18n-values="dir:textdirection;">
+<head>
+<meta charset="utf-8">
+<title>Media Playlist</title>
+<style type="text/css">
+body {
+ background: #080809;
+}
+
+.playlist {
+ width: 100%;
+ height: 100%;
+ background: #080809;
+ color: #8AACE7;
+ font-size: .7em;
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+
+.playlistitem {
+ width: 100%;
+ padding: 6px;
+ cursor: pointer;
+}
+
+.playing {
+ background: #393b41;
+ color: #dddde7;
+ font-weight: bold;
+}
+
+.tracknum {
+ width: 20px;
+ position: relative;
+ float: left;
+}
+
+.title {
+
+}
+
+.innertitle {
+ text-decoration: line-through;
+}
+
+.error {
+ color: red;
+ float: left;
+ padding-right: 5px;
+}
+
+</style>
+<script src="shared/js/local_strings.js"></script>
+<script>
+
+function $(o) {
+ return document.getElementById(o);
+}
+
+function pathIsVideoFile(path) {
+ return /\.(mp4|ogg|mpg|avi)$/i.test(path);
+};
+
+function pathIsAudioFile(path) {
+ return /\.(mp3|m4a)$/i.test(path);
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Document Functions:
+/**
+ * Window onload handler, sets up the page.
+ */
+
+var currentPlaylist = null;
+var currentOffset = -1;
+function load() {
+ chrome.send("getCurrentPlaylist", []);
+};
+
+function getDisplayNameFromPath(path) {
+ slash = path.lastIndexOf("/")
+ if (slash != -1) {
+ fileName = path.substring(slash+1,path.length)
+ return fileName;
+ } else {
+ return path;
+ }
+};
+
+function setPlaylistOffset(offset) {
+ chrome.send("setCurrentPlaylistOffset", ['' + offset]);
+};
+
+function updateUI() {
+ var main = $('main');
+ if (currentPlaylist) {
+ main.innerHTML = '';
+ var main = $('main');
+ for (var x = 0; x < currentPlaylist.length; x++) {
+ var rowdiv = document.createElement('div');
+ rowdiv.className = 'playlistitem';
+
+ var numberdiv = document.createElement('div');
+ numberdiv.className = 'tracknum';
+ numberdiv.textContent = '' + (x + 1);
+ rowdiv.appendChild(numberdiv);
+
+ var titlediv = document.createElement('div');
+ if (currentPlaylist[x].error) {
+ var errormark = document.createElement('div');
+ errormark.className = 'error';
+ errormark.textContent = 'X';
+ var innertitle = document.createElement('div');
+ innertitle.className = 'innertitle';
+ innertitle.textContent =
+ decodeURI(getDisplayNameFromPath(currentPlaylist[x].path));
+ titlediv.appendChild(errormark);
+ titlediv.appendChild(innertitle);
+ } else {
+ titlediv.className = 'title';
+ titlediv.textContent =
+ decodeURI(getDisplayNameFromPath(currentPlaylist[x].path));
+ }
+ rowdiv.appendChild(titlediv);
+ rowdiv.onclick = new Function('setPlaylistOffset(' + x + ')');
+ if (currentOffset == x) {
+ rowdiv.className = 'playlistitem playing';
+ }
+ main.appendChild(rowdiv);
+ }
+ }
+};
+
+function playlistChanged(info, playlist) {
+ currentPlaylist = playlist;
+ currentOffset = info.currentOffset;
+ updateUI();
+};
+</script>
+<body onload='load();' onselectstart='return false'>
+<div id='main' class='playlist'>
+</div>
+</body>
+</html>