PK H8| install.rdf glasser@sixxgate.com 1.0.1 2 {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 3.0b1 3.0.0.* Glasser Adds the Windows Vista glass frame to Firefox Matthew Holder http://www.sixxgate.com/ PK F8chrome/PK )G8chrome/content/PK 8QLY Y chrome/content/dwm-overlay.jsfunction DWM_DelayCollapse() { this.handleEvent = function(e) { var navbar = window.document.getElementById("nav-bar").boxObject; var ptb = window.document.getElementById("PersonalToolbar").boxObject; var nvY = navbar.y + navbar.height; var ptY = (ptb.height ? ptb.y : 0); try { var dwm = Components.classes["@sixxgate.com/DwmCalls/CDwmCalls;1"].createInstance(); dwm = dwm.QueryInterface(Components.interfaces.IDwmCalls); this.dwmObj = dwm; baseWin = gls.getBaseWindow(window); var y = ( ptY > nvY ? ptY : nvY ); dwm.ExtendFrameIntoClientArea(baseWin, y, 0, 0, 0); } catch (err) { window.alert(err); } e.currentTarget.removeEventListener("DOMAttrModified", this, false); return; }; }; function DWM_Glasser() { this.getBaseWindow = function(win) { var rv; try { var requestor = win.QueryInterface(Components.interfaces.nsIInterfaceRequestor); var nav = requestor.getInterface(Components.interfaces.nsIWebNavigation); var dsti = nav.QueryInterface(Components.interfaces.nsIDocShellTreeItem); var owner = dsti.treeOwner; requestor = owner.QueryInterface(Components.interfaces.nsIInterfaceRequestor); rv = requestor.getInterface(Components.interfaces.nsIXULWindow); rv = rv.docShell; rv = rv.QueryInterface(Components.interfaces.nsIDocShell); rv = rv.QueryInterface(Components.interfaces.nsIBaseWindow); } catch (ex) { rv = null; setTimeout(function(){throw ex},0); /* ignore no-interface exception */ } return rv; }; this.onCollapse = function(e) { if (e.attrName != "collapsed") return; var dly = new DWM_DelayCollapse(); dly.gls = this; e.currentTarget.addEventListener("DOMAttrModified", dly, false); } this.onLoad = function(e) { var navbar = window.document.getElementById("nav-bar"); var menubar = window.document.getElementById("toolbar-menubar"); var ptb = window.document.getElementById("PersonalToolbar"); // window.addEventListener("resize", this.onResize(e), false); var gls = this; menubar.addEventListener("DOMAttrModified", function(e) { gls.onCollapse(e); }, false); navbar.addEventListener("DOMAttrModified", function(e) { gls.onCollapse(e); }, false); ptb.addEventListener("DOMAttrModified", function(e) { gls.onCollapse(e); }, false); } }; var gls = new DWM_Glasser(); window.addEventListener("load", function(e) { gls.onLoad(e); }, false); PK 3G8..chrome/content/dwmoverlay.xul