32 this._originalURI =
null;
39 return this._originalURI;
45 this._originalURI =
value;
49 function(aFile, aMediaList, aReplace)
51 var domParser =
Cc[
"@mozilla.org/xmlextras/domparser;1"]
52 .createInstance(
Ci.nsIDOMParser);
53 var fileStream =
Cc[
"@mozilla.org/network/file-input-stream;1"]
54 .createInstance(
Ci.nsIFileInputStream);
55 var scriptableStream =
Cc[
"@mozilla.org/scriptableinputstream;1"]
56 .createInstance(
Ci.nsIScriptableInputStream);
58 scriptableStream.init(fileStream);
59 var
str = scriptableStream.read(-1);
60 scriptableStream.close();
65 str = str.replace(
"&",
'&',
'g');
67 var
doc = domParser.parseFromString(str,
"text/xml");
69 doc = doc.documentElement;
74 var entries = doc.getElementsByTagName(
"*");
76 for(var
i = 0;
i < entries.length; ++
i) {
81 var children = entries.item(
i).childNodes;
83 for(var j = 0; j < children.length; ++j) {
85 var child = children.item(j);
87 var cNodeName = child.nodeName.toUpperCase();
91 var title = child.firstChild.nodeValue;
99 var
href = child.getAttribute(
"href");
115 itemList.forEach(
function(e) {
116 for(var
i = 0;
i < e.uri.length; ++
i) {
117 var item = { uri: e.uri[
i], properties: {} };
120 item.properties[SBProperties.trackName] = e.title;
136 return "Songbird ASX Reader";
142 return "Loads ASX playlists from remote and local locations.";
146 function(aMIMECount, aMIMETypes)
148 var mimeTypes = [
"video/x-ms-asf"];
149 aMIMECount.value = mimeTypes.length;
154 function(aExtCount, aExts)
157 aExtCount.value = exts.length;
164 if (!iid.equals(
Ci.sbIPlaylistReader) &&
165 !iid.equals(
Ci.nsISupports))
166 throw Cr.NS_ERROR_NO_INTERFACE;
function doc() browser.contentDocument
function SB_AddItems(aItems, aMediaList, aAddDistinctOnly)
function sbASXPlaylistHandler()
function SB_ResolveURI(aStringURL, aBaseURI)
_getSelectedPageStyle s i