home *** CD-ROM | disk | FTP | other *** search
- WebMailNotifier.prototype.openTab = function(url,name,reuse,mailDomain) {
- if(reuse){
- var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interfaces.nsIWindowMediator);
- var enm = wm.getEnumerator("navigator:browser");
- while(enm.hasMoreElements()){
- var browser = enm.getNext().getBrowser();
- for (var i = 0;i< browser.mTabContainer.childNodes.length;i++){
- var tab = browser.mTabContainer.childNodes[i];
- if (tab.hasAttribute("tabname")&&tab.getAttribute("tabname")==name) {
- var tabbrowser=browser.getBrowserForTab(tab);
- if(this.canReuse(tabbrowser.currentURI,mailDomain)){
- tabbrowser.loadURIWithFlags(url);
- browser.selectedTab = tab;
- browser.contentWindow.focus();
- return;
- }else{
- tab.removeAttribute("tabname");
- }
- }
- }
- }
- }
- //not found
- var win=this.getWindow(true);
- var browser=win.getBrowser();
- var tab = browser.selectedTab;
- if(browser.currentURI.spec=="about:blank"
- &&!tab.hasAttribute("tabname")){
- browser.loadURIWithFlags(url);
- }else{
- tab=browser.addTab(url);
- browser.selectedTab = tab;
- }
- tab.setAttribute("tabname",name);
- win.focus();
- }
- WebMailNotifier.prototype.openNewWindow = function() {
- var win=Components.classes["@mozilla.org/appshell/appShellService;1"]
- .getService(Components.interfaces.nsIAppShellService).hiddenDOMWindow;
- win.open("about:blank");
- }
- WebMailNotifier.prototype.openWindow = function(url,name,reuse,mailDomain) {
- if(reuse){
- var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interfaces.nsIWindowMediator);
- var enm = wm.getEnumerator("navigator:browser");
- while(enm.hasMoreElements()){
- var browser=enm.getNext().getBrowser();
- var win = browser.contentWindow;
- if(win.name==name){
- if(this.canReuse(browser.currentURI,mailDomain)){
- browser.loadURIWithFlags(url);
- win.focus();
- return;
- }else{
- win.name=null;
- }
- }
- }
- }
- //not found
- this.getWindow().open(url,name);
- }
- WebMailNotifier.prototype.getWindow = function(notChrome) {
- /* var win=Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
- .getService(Components.interfaces.nsIWindowWatcher).activeWindow;
- if(win==null){*/
- var wm = Components.classes['@mozilla.org/appshell/window-mediator;1']
- .getService(Components.interfaces.nsIWindowMediator);
- var win = wm.getMostRecentWindow("navigator:browser");
- if(win==null){
- win=Components.classes["@mozilla.org/appshell/appShellService;1"]
- .getService(Components.interfaces.nsIAppShellService).hiddenDOMWindow;
- if(notChrome){
- win.open("about:blank");
- win = wm.getMostRecentWindow("navigator:browser");
- }
- }
- return win;
- }