if(!("Cc" in window)) window.Cc = Components.classes; if(!("Ci" in window)) window.Ci = Components.interfaces; function d(s) { //dump("-----> " + s + "\n"); } function SKAS_CreateListener(object, methodName) { return function(event) { return object[methodName].apply(object, [event]); } } var SKAS_Controller = { service : null }; SKAS_Controller.chromeLoad = function(event) { this.service = Cc["@skrul.com/songbird-play-history-service;1"] .getService(Ci.sbIPlayHistoryService); this.service.addBackwardButton(document.getElementById("songbird_btn_back")); this.service.addPlayButton(document.getElementById("songbird_btn_play")); this.service.addForwardButton(document.getElementById("songbird_btn_fwd")); this.service.addPlaylist(document.getElementById("frame_middle_pane")); } SKAS_Controller.chromeUnload = function(event) { this.service.removePlayButton(document.getElementById("songbird_btn_play")); this.service.removeBackwardButton(document.getElementById("songbird_btn_back")); this.service.removeForwardButton(document.getElementById("songbird_btn_fwd")); this.service.removePlaylist(document.getElementById("frame_middle_pane")); this.cleanup(); } SKAS_Controller.onMenuCommand = function() { var browser = document.getElementById("frame_main_pane"); browser.loadURI("chrome://audioscrobbler/content/servicePanel.xul"); } SKAS_Controller.init = function() { this.chromeLoadListener = SKAS_CreateListener(this, "chromeLoad"); this.chromeUnloadListener = SKAS_CreateListener(this, "chromeUnload"); window.addEventListener("load", this.chromeLoadListener, false); window.addEventListener("unload", this.chromeUnloadListener, false); } SKAS_Controller.cleanup = function() { window.removeEventListener("load", this.chromeLoadListener, false); window.removeEventListener("unload", this.chromeUnloadListener, false); } try { SKAS_Controller.init(); } catch(e) { Components.utils.reportError(e); }