亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nsmaildefaulthandler.js

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? JS
字號:
/* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Mozilla Firefox browser. * * The Initial Developer of the Original Code is * Benjamin Smedberg <benjamin@smedbergs.us> * * Portions created by the Initial Developer are Copyright (C) 2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */const nsISupports              = Components.interfaces.nsISupports;const nsICommandLine           = Components.interfaces.nsICommandLine;const nsICommandLineHandler    = Components.interfaces.nsICommandLineHandler;const nsIDOMWindowInternal     = Components.interfaces.nsIDOMWindowInternal;const nsIFactory               = Components.interfaces.nsIFactory;const nsISupportsString        = Components.interfaces.nsISupportsString;const nsIWindowMediator        = Components.interfaces.nsIWindowMediator;const nsIWindowWatcher         = Components.interfaces.nsIWindowWatcher;const NS_ERROR_ABORT = Components.results.NS_ERROR_ABORT;function mayOpenURI(uri){  var ext = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]    .getService(Components.interfaces.nsIExternalProtocolService);  return ext.isExposedProtocol(uri.scheme);}function openURI(uri){  if (!mayOpenURI(uri))    throw Components.results.NS_ERROR_FAILURE;  var io = Components.classes["@mozilla.org/network/io-service;1"]                     .getService(Components.interfaces.nsIIOService);  var channel = io.newChannelFromURI(uri);  var loader = Components.classes["@mozilla.org/uriloader;1"]                         .getService(Components.interfaces.nsIURILoader);  var listener = {    onStartURIOpen: function(uri) { return false; },    doContent: function(ctype, preferred, request, handler) { return false; },    isPreferred: function(ctype, desired) { return false; },    canHandleContent: function(ctype, preferred, desired) { return false; },    loadCookie: null,    parentContentListener: null,    getInterface: function(iid) {      if (iid.equals(Components.interfaces.nsIURIContentListener))        return this;      throw Components.results.NS_ERROR_NO_INTERFACE;    }  };  loader.openURI(channel, true, listener);}var nsMailDefaultHandler = {  /* nsISupports */  QueryInterface : function mdh_QI(iid) {    if (iid.equals(nsICommandLineHandler) ||        iid.equals(nsIFactory) ||        iid.equals(nsISupports))      return this;    throw Components.results.NS_ERROR_NO_INTERFACE;  },  /* nsICommandLineHandler */  handle : function mdh_handle(cmdLine) {    var uri;    try {      var remoteCommand = cmdLine.handleFlagWithParam("remote", true);    }    catch (e) {      throw NS_ERROR_ABORT;    }    if (remoteCommand != null) {      try {        var a = /^\s*(\w+)\(([^\)]*)\)\s*$/.exec(remoteCommand);        var remoteVerb = a[1].toLowerCase();        var remoteParams = a[2].split(",");        switch (remoteVerb) {        case "openurl":          var xuri = cmdLine.resolveURI(remoteParams[0]);          openURI(xuri);          break;        case "mailto":          var xuri = cmdLine.resolveURI("mailto:" + remoteParams[0]);          openURI(xuri);          break;        case "xfedocommand":          // xfeDoCommand(openBrowser)          switch (remoteParams[0].toLowerCase()) {          case "openinbox":            var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]                               .getService(Components.classes.nsIWindowMediator);            var win = wm.getMostRecentWindow("mail:3pane");            if (win) {              win.focus();            }            else {              var wwatch = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]                                     .getService(nsIWindowWatcher);              // Bug 277798 - we have to pass an argument to openWindow(), or              // else it won't honor the dialog=no instruction.              var argstring = Components.classes["@mozilla.org/supports-string;1"]                                        .createInstance(nsISupportsString);              wwatch.openWindow(null, "chrome://messenger/content/", "_blank",                                "chrome,dialog=no,all", argstring);            }            break;          case "composemessage":            var wwatch = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]                                   .getService(nsIWindowWatcher);            var argstring = Components.classes["@mozilla.org/supports-string;1"]                                      .createInstance(nsISupportsString);            remoteParams.shift();            argstring.data = remoteParams.join(",");            wwatch.openWindow(null, "chrome://messenger/content/messengercompose/messengercompose.xul", "_blank",                              "chrome,dialog=no,all", argstring);            break;          default:            throw Components.results.NS_ERROR_ABORT;          }          break;        default:          // Somebody sent us a remote command we don't know how to process:          // just abort.          throw Components.results.NS_ERROR_ABORT;        }        cmdLine.preventDefault = true;      }      catch (e) {        // If we had a -remote flag but failed to process it, throw        // NS_ERROR_ABORT so that the xremote code knows to return a failure        // back to the handling code.        dump(e);        throw Components.results.NS_ERROR_ABORT;      }    }    var chromeParam = cmdLine.handleFlagWithParam("chrome", false);    if (chromeParam) {      var features = "chrome,dialog=no,all";      var wwatch = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]                             .getService(nsIWindowWatcher);      var argstring = Components.classes["@mozilla.org/supports-string;1"]                                .createInstance(nsISupportsString);      wwatch.openWindow(null, chromeParam, "_blank",                        "chrome,dialog=no,all", argstring);      cmdLine.preventDefault = true;    }        var count = cmdLine.length;    if (count) {      var i = 0;      while (i < count) {        var curarg = cmdLine.getArgument(i);        if (!curarg.match(/^-/))          break;        dump ("Warning: unrecognized command line flag " + curarg + "\n");        // To emulate the pre-nsICommandLine behavior, we ignore the        // argument after an unrecognized flag.        i += 2;        // xxxbsmedberg: make me use the console service!      }      if (i < count) {        uri = cmdLine.getArgument(i);        // mailto: URIs are frequently passed with spaces in them. They should be        // escaped into %20, but we hack around bad clients, see bug 231032        if (uri.match(/^mailto:/)) {          while (++i < count) {            var testarg = cmdLine.getArgument(i);            if (testarg.match(/^-/))              break;            uri += " " + testarg;          }        }      }    }    if (!uri && cmdLine.preventDefault)      return;    // xxxbsmedberg: This should be using nsIURILoader.openURI, which is what    // the 1.0 branch does (see nsAppShellService.cpp, revision 1.212.6.6).    // However, nsIURILoader.openURI is async, which means that the event loop    // sometimes is not run when it is supposed to, and other badness.    if (cmdLine.state != nsICommandLine.STATE_INITIAL_LAUNCH) {      if (uri) {        openURI(cmdLine.resolveURI(uri));        return;      }      else {        try {          var wmed = Components.classes["@mozilla.org/appshell/window-mediator;1"]                               .getService(nsIWindowMediator);          var wlist = wmed.getEnumerator("mail:3pane");          if (wlist.hasMoreElements()) {            var window = wlist.getNext().QueryInterface(nsIDOMWindowInternal);            window.focus();            return;          }        }        catch (e) {          dump(e);        }      }    }    var wwatch = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]                           .getService(nsIWindowWatcher);    var argstring = Components.classes["@mozilla.org/supports-string;1"]                              .createInstance(nsISupportsString);    var chromeURI = "chrome://messenger/content/";    if (uri) {      argstring.data = uri;      if (uri.match(/^mailto:/)) {        chromeURI = "chrome://messenger/content/messengercompose/messengercompose.xul";      }    }    wwatch.openWindow(null, chromeURI, "_blank",                      "chrome,dialog=no,all", argstring);  },  helpInfo : "",  /* nsIFactory */  createInstance : function mdh_CI(outer, iid) {    if (outer != null)      throw Components.results.NS_ERROR_NO_AGGREGATION;    return this.QueryInterface(iid);  },  lockFactory : function mdh_lock(lock) {    /* no-op */  }};const mdh_contractID = "@mozilla.org/mail/clh;1";const mdh_CID = Components.ID("{44346520-c5d2-44e5-a1ec-034e04d7fac4}");var Module = {  /* nsISupports */  QueryInterface : function QI(iid) {    if (iid.equals(Components.interfaces.nsIModule) &&        iid.equals(Components.interfaces.nsISupports))      return this;    throw Components.results.NS_ERROR_NO_INTERFACE;  },  /* nsIModule */  getClassObject : function (compMgr, cid, iid) {    if (cid.equals(mdh_CID))      return nsMailDefaultHandler.QueryInterface(iid);    throw Components.results.NS_ERROR_FAILURE;  },      registerSelf: function mod_regself(compMgr, fileSpec, location, type) {    var compReg =      compMgr.QueryInterface( Components.interfaces.nsIComponentRegistrar );    compReg.registerFactoryLocation(mdh_CID,                                    "nsMailDefaultHandler",                                    mdh_contractID,                                    fileSpec,                                    location,                                    type );    var catMan = Components.classes["@mozilla.org/categorymanager;1"]                           .getService(Components.interfaces.nsICategoryManager);    catMan.addCategoryEntry("command-line-handler",                            "x-default",                            mdh_contractID, true, true);  },      unregisterSelf : function mod_unregself(compMgr, location, type) {    var compReg = compMgr.QueryInterface(nsIComponentRegistrar);    compReg.unregisterFactoryLocation(mdh_CID, location);    var catMan = Components.classes["@mozilla.org/categorymanager;1"]                           .getService(Components.interfaces.nsICategoryManager);    catMan.deleteCategoryEntry("command-line-handler",                               "y-default", true);  },  canUnload: function(compMgr) {    return true;  }}// NSGetModule: Return the nsIModule object.function NSGetModule(compMgr, fileSpec) {  return Module;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
图片区小说区区亚洲影院| 亚洲精品在线免费播放| 成人h动漫精品一区二区| 国产美女主播视频一区| 日本vs亚洲vs韩国一区三区| 丝袜美腿亚洲综合| 午夜欧美一区二区三区在线播放| 亚洲一卡二卡三卡四卡五卡| 亚洲午夜久久久久久久久久久| 亚洲人成人一区二区在线观看 | 午夜精品福利久久久| 亚洲老司机在线| 一级精品视频在线观看宜春院| 亚洲精品国久久99热| 亚洲一区二区三区四区中文字幕| 亚洲大片精品永久免费| 亚洲va欧美va人人爽| 蜜桃一区二区三区在线| 国产精品456露脸| 99视频热这里只有精品免费| 欧美特级限制片免费在线观看| 欧美人伦禁忌dvd放荡欲情| 欧美一区二区免费视频| 久久综合视频网| 中文字幕一区在线观看视频| 一区二区三区在线高清| 日韩av在线免费观看不卡| 国产乱码精品1区2区3区| eeuss鲁片一区二区三区 | 日本一区二区三区在线观看| 中文字幕在线观看一区二区| 午夜av区久久| 国产98色在线|日韩| 欧洲激情一区二区| 国产亚洲精品aa午夜观看| 亚洲午夜精品久久久久久久久| 韩国女主播成人在线观看| 91色.com| 国产亚洲福利社区一区| 午夜精品在线视频一区| 成人在线综合网站| 日韩一区二区在线看| 亚洲视频免费观看| 国产一区二区三区不卡在线观看 | 韩国毛片一区二区三区| 91网上在线视频| 久久在线观看免费| 亚洲成人动漫在线免费观看| 粉嫩av一区二区三区| 日韩一区二区三区三四区视频在线观看 | 99re这里都是精品| 日韩精品影音先锋| 午夜精品视频一区| 91在线云播放| 久久久久国产免费免费 | 久久免费看少妇高潮| 亚洲高清免费视频| 91久久精品一区二区二区| 久久久久久久久免费| 久久国产精品免费| 在线成人免费视频| 一区二区三区高清在线| 成人午夜免费电影| 久久人人超碰精品| 国产一区欧美一区| 精品国产伦一区二区三区免费 | 粉嫩蜜臀av国产精品网站| 精品动漫一区二区三区在线观看| 午夜精品一区二区三区免费视频 | 亚洲三级免费观看| 成人动漫在线一区| 中文字幕一区免费在线观看| 成人久久18免费网站麻豆| 久久精品欧美一区二区三区不卡| 久久精品国产精品青草| 精品精品欲导航| 久久精品国产一区二区三| 欧美一区二区三区小说| 秋霞电影网一区二区| 欧美精品黑人性xxxx| 秋霞影院一区二区| 精品国产青草久久久久福利| 国内精品国产成人| 国产精品无遮挡| 91美女片黄在线观看91美女| 一个色综合av| 日韩一区二区电影| 国产综合色视频| 国产精品久久综合| 在线看国产日韩| 视频在线在亚洲| 久久一区二区视频| av动漫一区二区| 亚洲福利视频导航| 精品国产亚洲在线| 成人h动漫精品| 亚洲国产精品欧美一二99| 欧美一级日韩免费不卡| 国产乱子轮精品视频| 中文字幕亚洲成人| 91精品在线一区二区| 国产成人av网站| 亚洲国产日韩综合久久精品| 精品奇米国产一区二区三区| 国产乱码一区二区三区| 亚洲另类色综合网站| 欧美成人福利视频| 99re成人在线| 另类小说图片综合网| 日本一二三四高清不卡| 欧美日韩一区在线观看| 国产乱淫av一区二区三区| 亚洲国产精品精华液网站| 精品99一区二区三区| 91麻豆福利精品推荐| 久久av中文字幕片| 夜夜揉揉日日人人青青一国产精品| 欧美不卡视频一区| 欧美主播一区二区三区| 国产一区二区调教| 日本不卡一区二区三区高清视频| 中文字幕一区二区三区色视频| 日韩一二三区不卡| 91国产精品成人| 成人蜜臀av电影| 久久se这里有精品| 视频在线在亚洲| 亚洲综合在线免费观看| 欧美国产一区二区| 欧美一区二区视频在线观看| 色婷婷久久久亚洲一区二区三区| 国产精品996| 国产在线看一区| 蜜臂av日日欢夜夜爽一区| 亚洲国产精品自拍| 亚洲夂夂婷婷色拍ww47| 亚洲欧洲国产日韩| 国产三级精品在线| 精品成人私密视频| 日韩欧美区一区二| 欧美一级高清大全免费观看| 欧美亚洲高清一区| 色婷婷久久久久swag精品| 不卡的av电影| caoporn国产精品| 99久久99精品久久久久久| 东方欧美亚洲色图在线| 国产精品中文有码| 国产91在线看| 成人精品gif动图一区| 成人综合激情网| 91丨九色丨蝌蚪富婆spa| 成人三级伦理片| www.日韩精品| 色综合视频在线观看| 欧美自拍偷拍一区| 欧美日韩电影在线播放| 欧美日韩aaa| 日韩亚洲欧美一区二区三区| 91精品国产综合久久久蜜臀粉嫩 | 日本一区二区三区国色天香 | 精品一区二区三区影院在线午夜| 日本不卡一二三| 麻豆精品视频在线| 国产精品一二三| 91麻豆精品在线观看| 欧美午夜精品久久久久久孕妇| 欧美男同性恋视频网站| 日韩欧美国产综合| 久久久www成人免费无遮挡大片| 久久综合九色综合97婷婷女人| 久久久久88色偷偷免费| 亚洲蜜臀av乱码久久精品| 亚洲成av人片一区二区| 久久精品国产久精国产爱| 成人网在线播放| 欧美日韩色综合| 精品福利一区二区三区| 中文字幕一区二区三区色视频| 亚洲午夜久久久久久久久电影院| 日韩高清不卡在线| 国产91露脸合集magnet | 日本不卡1234视频| 国产高清无密码一区二区三区| 色狠狠一区二区三区香蕉| 日韩欧美三级在线| 亚洲女与黑人做爰| 九色综合狠狠综合久久| 91在线观看一区二区| 日韩西西人体444www| 亚洲欧美日韩电影| 精品一二线国产| 欧美情侣在线播放| 亚洲国产精品av| 欧美aaa在线| 色网站国产精品| 国产欧美视频一区二区| 午夜久久久久久电影| 99视频有精品| 国产亚洲一区字幕|