home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 4490 / 4490.xpi / components / ui.js < prev    next >
Encoding:
Text File  |  2010-01-27  |  3.0 KB  |  81 lines

  1. WebMailNotifier.prototype.openTab = function(url,name,reuse,mailDomain) {
  2.   if(reuse){
  3.     var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
  4.              .getService(Components.interfaces.nsIWindowMediator);
  5.     var enm = wm.getEnumerator("navigator:browser");
  6.     while(enm.hasMoreElements()){
  7.       var browser = enm.getNext().getBrowser();
  8.       for (var i = 0;i< browser.mTabContainer.childNodes.length;i++){
  9.         var tab = browser.mTabContainer.childNodes[i];
  10.         if (tab.hasAttribute("tabname")&&tab.getAttribute("tabname")==name) {
  11.           var tabbrowser=browser.getBrowserForTab(tab);
  12.           if(this.canReuse(tabbrowser.currentURI,mailDomain)){
  13.             tabbrowser.loadURIWithFlags(url);
  14.             browser.selectedTab = tab;
  15.             browser.contentWindow.focus();            
  16.             return;
  17.           }else{
  18.             tab.removeAttribute("tabname");
  19.           }
  20.         }
  21.       }
  22.     }
  23.   }
  24.   //not found
  25.   var win=this.getWindow(true);
  26.   var browser=win.getBrowser();
  27.   var tab = browser.selectedTab;
  28.   if(browser.currentURI.spec=="about:blank"
  29.       &&!tab.hasAttribute("tabname")){
  30.     browser.loadURIWithFlags(url);
  31.   }else{
  32.     tab=browser.addTab(url);
  33.     browser.selectedTab = tab;
  34.   }
  35.   tab.setAttribute("tabname",name);
  36.   win.focus();
  37. }
  38. WebMailNotifier.prototype.openNewWindow = function() {
  39.     var win=Components.classes["@mozilla.org/appshell/appShellService;1"]
  40.                     .getService(Components.interfaces.nsIAppShellService).hiddenDOMWindow;
  41.     win.open("about:blank");
  42. }
  43. WebMailNotifier.prototype.openWindow = function(url,name,reuse,mailDomain) {
  44.   if(reuse){
  45.     var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
  46.              .getService(Components.interfaces.nsIWindowMediator);
  47.     var enm = wm.getEnumerator("navigator:browser");
  48.     while(enm.hasMoreElements()){
  49.       var browser=enm.getNext().getBrowser();
  50.       var win = browser.contentWindow;
  51.       if(win.name==name){
  52.         if(this.canReuse(browser.currentURI,mailDomain)){
  53.           browser.loadURIWithFlags(url);
  54.           win.focus();
  55.           return;
  56.         }else{
  57.           win.name=null;
  58.         }
  59.       }
  60.     }
  61.   }
  62.   //not found
  63.   this.getWindow().open(url,name);
  64. }
  65. WebMailNotifier.prototype.getWindow = function(notChrome) {
  66.  /* var win=Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
  67.               .getService(Components.interfaces.nsIWindowWatcher).activeWindow;
  68.   if(win==null){*/
  69.   var wm = Components.classes['@mozilla.org/appshell/window-mediator;1']
  70.                       .getService(Components.interfaces.nsIWindowMediator);
  71.   var win = wm.getMostRecentWindow("navigator:browser");
  72.   if(win==null){
  73.     win=Components.classes["@mozilla.org/appshell/appShellService;1"]
  74.                     .getService(Components.interfaces.nsIAppShellService).hiddenDOMWindow;
  75.     if(notChrome){
  76.       win.open("about:blank");
  77.       win = wm.getMostRecentWindow("navigator:browser");
  78.     }
  79.   }
  80.   return  win;
  81. }