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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? downloadactions.js

?? 現(xiàn)在很火的郵件客戶端軟件thunderbird的源碼
?? JS
?? 第 1 頁 / 共 2 頁
字號:
# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-# ***** 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 Download Actions Manager.## The Initial Developer of the Original Code is# Ben Goodger.# Portions created by the Initial Developer are Copyright (C) 2000-2005# the Initial Developer. All Rights Reserved.## Contributor(s):#   Ben Goodger <ben@mozilla.org>## 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 kRootTypePrefix = "urn:mimetype:";///////////////////////////////////////////////////////////////////////////////// MIME Types Datasource RDF Utilsfunction NC_URI(aProperty){  return "http://home.netscape.com/NC-rdf#" + aProperty;}function MIME_URI(aType){  return "urn:mimetype:" + aType;}function HANDLER_URI(aHandler){  return "urn:mimetype:handler:" + aHandler;}function APP_URI(aType){  return "urn:mimetype:externalApplication:" + aType;}var gDownloadActionsWindow = {    _tree         : null,  _editButton   : null,  _removeButton : null,  _actions      : [],  _plugins      : {},  _bundle       : null,  _pref         : Components.classes["@mozilla.org/preferences-service;1"]                            .getService(Components.interfaces.nsIPrefBranch),  _mimeSvc      : Components.classes["@mozilla.org/uriloader/external-helper-app-service;1"]                            .getService(Components.interfaces.nsIMIMEService),  _excludingPlugins           : false,  _excludingMissingExtensions : false,    init: function ()  {    (this._editButton = document.getElementById("editFileHandler")).disabled = true;    (this._removeButton = document.getElementById("removeFileHandler")).disabled = true;           // Initialize the File Type list    this._bundle = document.getElementById("bundlePreferences");    this._tree = document.getElementById("fileHandlersList");    this._loadView();    // Determine any exclusions being applied - e.g. don't show types for which    // only a plugin handler exists, don't show types lacking extensions, etc.     this._view._rowCount = this._updateExclusions();        this._tree.treeBoxObject.view = this._view;      var indexToSelect = parseInt(this._tree.getAttribute("lastSelected"));    if (indexToSelect < this._tree.view.rowCount)      this._tree.view.selection.select(indexToSelect);    this._tree.focus();      },    _loadView: function ()  {    // Reset ALL the collections and state flags, because we can call this after    // the window has initially displayed by resetting the filter.     this._actions = [];    this._plugins = {};    this._view._filtered = false;    this._view._filterSet = [];    this._view._usingExclusionSet = false;    this._view._exclusionSet = [];    this._view._filterValue = "";    this._loadPluginData();    this._loadMIMERegistryData();  },    _updateRowCount: function (aNewRowCount)  {    var oldCount = this._view._rowCount;    this._view._rowCount = 0;    this._tree.treeBoxObject.rowCountChanged(0, -oldCount);    this._view._rowCount = aNewRowCount;    this._tree.treeBoxObject.rowCountChanged(0, aNewRowCount);  },    uninit: function ()  {  },    _updateExclusions: function ()  {    this._excludingPlugins = true;    this._excludingMissingExtensions = true;        this._view._exclusionSet = [].concat(this._actions);    if (this._excludingMissingExtensions) {      this._view._usingExclusionSet = true;      for (var i = 0; i < this._view._exclusionSet.length;) {        if (!this._view._exclusionSet[i].hasExtension)          this._view._exclusionSet.splice(i, 1);        else          ++i;      }    }    if (this._excludingPlugins) {      this._view._usingExclusionSet = true;      for (i = 0; i < this._view._exclusionSet.length;) {        if (this._view._exclusionSet[i].handledOnlyByPlugin)          this._view._exclusionSet.splice(i, 1);        else          ++i              }          }    return this._view._usingExclusionSet ? this._view._exclusionSet.length                                          : this._view._filtered ? this._view._filterSet.length                                                                 : this._actions.length;  },       _loadPluginData: function ()  {  },  _createAction: function (aMIMEType, aActionName,                            aIsEditable, aHandleMode, aCustomHandler,                           aPluginAvailable, aPluginEnabled,                            aHandledOnlyByPlugin)  {    var newAction = !(aMIMEType in this._plugins);    var action = newAction ? new FileAction() : this._plugins[aMIMEType];    action.type = aMIMEType;    var info = this._mimeSvc.getFromTypeAndExtension(action.type, null);        // File Extension    try {      action.extension = info.primaryExtension;    }    catch (e) {      action.extension = this._bundle.getString("extensionNone");      action.hasExtension = false;    }        // Large and Small Icon    try {      action.smallIcon = "moz-icon://goat." + info.primaryExtension + "?size=16";      action.bigIcon = "moz-icon://goat." + info.primaryExtension + "?size=32";    }    catch (e) {      action.smallIcon = "moz-icon://goat?size=16&contentType=" + info.MIMEType;      action.bigIcon = "moz-icon://goat?contentType=" + info.MIMEType + "&size=32";    }    // Pretty Type Name    if (info.description == "") {      try {        action.typeName = this._bundle.getFormattedString("fileEnding", [info.primaryExtension.toUpperCase()]);      }      catch (e) {         // Wow, this sucks, just show the MIME type as a last ditch effort to display        // the type of file that this is.         action.typeName = info.MIMEType;      }    }    else      action.typeName = info.description;    // Pretty Action Name    if (aActionName)      action.action         = aActionName;    action.pluginAvailable  = aPluginAvailable;    action.pluginEnabled    = aPluginEnabled;    action.editable         = aIsEditable;    action.handleMode       = aHandleMode;    action.customHandler    = aCustomHandler;    action.mimeInfo         = info;    action.handledOnlyByPlugin  = aHandledOnlyByPlugin        if (newAction && !(action.handledOnlyByPlugin && !action.pluginEnabled)) {      this._actions.push(action);      this._plugins[action.type] = action;    }          return action;  },    _loadMIMEDS: function ()  {    var fileLocator = Components.classes["@mozilla.org/file/directory_service;1"]                                .getService(Components.interfaces.nsIProperties);        var file = fileLocator.get("UMimTyp", Components.interfaces.nsIFile);    var ioService = Components.classes["@mozilla.org/network/io-service;1"]                              .getService(Components.interfaces.nsIIOService);    var fileHandler = ioService.getProtocolHandler("file")                               .QueryInterface(Components.interfaces.nsIFileProtocolHandler);    this._mimeDS = this._rdf.GetDataSourceBlocking(fileHandler.getURLSpecFromFile(file));  },    _getLiteralValue: function (aResource, aProperty)  {    var property = this._rdf.GetResource(NC_URI(aProperty));    var value = this._mimeDS.GetTarget(aResource, property, true);    if (value)      return value.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;    return "";  },    _getChildResource: function (aResource, aProperty)  {    var property = this._rdf.GetResource(NC_URI(aProperty));    return this._mimeDS.GetTarget(aResource, property, true);  },    _getDisplayNameForFile: function (aFile)  {#ifdef XP_WIN    if (aFile instanceof Components.interfaces.nsILocalFileWin)      return aFile.getVersionInfoField("FileDescription"); #else    // XXXben - Read the bundle name on OS X.    var ios = Components.classes["@mozilla.org/network/io-service;1"]                        .getService(Components.interfaces.nsIIOService);    var url = ios.newFileURI(aFile).QueryInterface(Components.interfaces.nsIURL);    return url.fileName;#endif  },      _loadMIMERegistryData: function ()  {    this._rdf = Components.classes["@mozilla.org/rdf/rdf-service;1"]                          .getService(Components.interfaces.nsIRDFService);    this._loadMIMEDS();                                                        var root = this._rdf.GetResource("urn:mimetypes:root");    var container = Components.classes["@mozilla.org/rdf/container;1"]                              .createInstance(Components.interfaces.nsIRDFContainer);    container.Init(this._mimeDS, root);        var elements = container.GetElements();    while (elements.hasMoreElements()) {      var type = elements.getNext();      if (!(type instanceof Components.interfaces.nsIRDFResource))        break;      var editable = this._getLiteralValue(type, "editable") == "true";      if (!editable)        continue;            var handler = this._getChildResource(type, "handlerProp");      var alwaysAsk = this._getLiteralValue(handler, "alwaysAsk") == "true";      if (alwaysAsk)        continue;      var saveToDisk        = this._getLiteralValue(handler, "saveToDisk") == "true";      var useSystemDefault  = this._getLiteralValue(handler, "useSystemDefault") == "true";      var editable          = this._getLiteralValue(type, "editable") == "true";      var handledInternally = this._getLiteralValue(handler, "handleInternal") == "true";      var externalApp       = this._getChildResource(handler, "externalApplication");      var externalAppPath   = this._getLiteralValue(externalApp, "path");      try {        var customHandler = Components.classes["@mozilla.org/file/local;1"]                                      .createInstance(Components.interfaces.nsILocalFile);        customHandler.initWithPath(externalAppPath);      }      catch (e) {        customHandler = null;      }            if (customHandler && !customHandler.exists())        customHandler = null;      var mimeType = this._getLiteralValue(type, "value");      var typeInfo = this._mimeSvc.getFromTypeAndExtension(mimeType, null);      // Determine the pretty name of the associated action.      var actionName = "";      var handleMode = 0;      if (saveToDisk) {        // Save the file to disk        actionName = this._bundle.getString("saveToDisk");        handleMode = FILEACTION_SAVE_TO_DISK;      }      else if (useSystemDefault) {        // Use the System Default handler        actionName = this._bundle.getFormattedString("openWith",                                                      [typeInfo.defaultDescription]);        handleMode = FILEACTION_OPEN_DEFAULT;      }      else {        // Custom Handler        if (customHandler) {          actionName = this._bundle.getFormattedString("openWith",                                                        [this._getDisplayNameForFile(customHandler)]);          handleMode = FILEACTION_OPEN_CUSTOM;        }        else {          // Corrupt datasource, invalid custom handler path. Revert to default.          actionName = this._bundle.getFormattedString("openWith",                                                        [typeInfo.defaultDescription]);          handleMode = FILEACTION_OPEN_DEFAULT;        }      }      if (handledInternally)        handleMode = FILEACTION_OPEN_INTERNALLY;            var pluginAvailable = mimeType in this._plugins && this._plugins[mimeType].pluginAvailable;      var pluginEnabled = pluginAvailable && this._plugins[mimeType].pluginEnabled;      if (pluginEnabled) {        handleMode = FILEACTION_OPEN_PLUGIN;        actionName = null;      }      var action = this._createAction(mimeType, actionName, editable, handleMode,                                       customHandler, pluginAvailable, pluginEnabled,                                      false);    }  },    _view: {    _filtered           : false,    _filterSet          : [],    _usingExclusionSet  : false,    _exclusionSet       : [],    _filterValue        : "",    _rowCount: 0,    get rowCount()     {       return this._rowCount;     },        get activeCollection ()    {      return this._filtered ? this._filterSet                             : this._usingExclusionSet ? this._exclusionSet                                                       : gDownloadActionsWindow._actions;    },    getItemAtIndex: function (aIndex)    {      return this.activeCollection[aIndex];    },        getCellText: function (aIndex, aColumn)    {      switch (aColumn.id) {      case "fileExtension":        return this.getItemAtIndex(aIndex).extension.toUpperCase();      case "fileType":        return this.getItemAtIndex(aIndex).typeName;      case "fileMIMEType":        return this.getItemAtIndex(aIndex).type;      case "fileHandler":        return this.getItemAtIndex(aIndex).action;      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费色视频| 午夜精品久久久久久久| 欧美性三三影院| 国内精品写真在线观看| 尤物视频一区二区| 欧美国产激情二区三区| 欧美一级国产精品| 欧洲视频一区二区| 国产二区国产一区在线观看| 日韩黄色片在线观看| 亚洲欧洲成人精品av97| 久久免费午夜影院| 欧美一卡二卡三卡四卡| 欧洲精品一区二区| 99久久精品免费精品国产| 国产做a爰片久久毛片| 日韩和欧美一区二区| 亚洲欧美另类久久久精品| 中日韩av电影| 久久这里只有精品6| 91精品国产免费久久综合| 在线免费观看成人短视频| 成人午夜短视频| 韩国一区二区三区| 精品中文字幕一区二区小辣椒| 亚洲国产aⅴ成人精品无吗| 中文字幕日韩欧美一区二区三区| 久久久久久9999| 久久久综合精品| 欧美精品一区男女天堂| 337p日本欧洲亚洲大胆色噜噜| 3d成人动漫网站| 欧美日韩精品系列| 欧美日韩激情一区二区| 欧美日韩不卡一区二区| 欧美三级电影精品| 欧美亚洲日本国产| 欧美综合一区二区| 欧美精品少妇一区二区三区| 欧美视频一二三区| 欧美色视频一区| 欧美三级视频在线| 在线播放一区二区三区| 777久久久精品| 日韩欧美一区中文| 26uuu精品一区二区在线观看| 欧美sm极限捆绑bd| 国产婷婷色一区二区三区四区 | 国产曰批免费观看久久久| 久久99精品国产麻豆婷婷| 老司机精品视频线观看86 | 亚洲sss视频在线视频| 亚洲一区二区视频| 日韩中文字幕亚洲一区二区va在线| 午夜精品久久久久久久99水蜜桃| 日本中文字幕一区二区视频| 蜜桃一区二区三区在线| 久久99精品久久久| 成人涩涩免费视频| 欧美亚洲一区二区在线| 日韩欧美你懂的| 欧美激情自拍偷拍| 亚洲丝袜制服诱惑| 亚洲妇熟xx妇色黄| 韩国三级中文字幕hd久久精品| 成人精品一区二区三区中文字幕| 色综合天天综合网国产成人综合天 | 亚洲欧美怡红院| 亚洲高清免费观看 | 亚洲国产精品嫩草影院| 日韩精品久久久久久| 国产在线精品视频| 91网站在线观看视频| 欧美精品欧美精品系列| 国产亚洲欧美一级| 亚洲一区二区三区四区在线| 久久99精品久久久久久国产越南| av中文字幕在线不卡| 欧美日韩国产系列| 国产欧美精品国产国产专区| 亚洲美女视频在线| 蜜臀av一级做a爰片久久| 成人免费视频视频在线观看免费| 欧美丝袜丝交足nylons图片| 精品国产一区二区三区久久久蜜月 | 91老司机福利 在线| 日韩一区二区免费在线观看| 中文字幕欧美国产| 青青草视频一区| 91麻豆国产福利精品| 久久综合久久鬼色中文字| 亚洲激情图片一区| 国产成人激情av| 7777精品伊人久久久大香线蕉 | 91麻豆自制传媒国产之光| 91视频91自| 欧美一区二区日韩一区二区| 欧美日韩在线三区| 久久精品夜夜夜夜久久| 亚洲国产成人精品视频| 懂色av一区二区三区免费看| 欧美日韩国产一级| 国产精品美女久久久久高潮| 日本va欧美va瓶| 在线精品视频免费观看| 欧美激情一区二区| 麻豆精品国产传媒mv男同| 色先锋aa成人| 欧美激情在线看| 精品在线免费视频| 欧美精品高清视频| 亚洲最大色网站| 97se亚洲国产综合自在线观| 国产亚洲1区2区3区| 国产呦萝稀缺另类资源| 欧美日韩国产123区| 日韩美女精品在线| 成人深夜在线观看| 国产色一区二区| 极品尤物av久久免费看| 欧美α欧美αv大片| 亚洲mv大片欧洲mv大片精品| 欧美最猛性xxxxx直播| 一区二区三区不卡视频 | 丝袜亚洲另类欧美综合| 国产一区二区美女诱惑| 日韩欧美黄色影院| 欧美国产成人精品| 高清国产一区二区三区| 日韩精品免费专区| 久久久久久久精| 色婷婷av一区二区| 视频精品一区二区| 中文字幕一区二区三区不卡| 91理论电影在线观看| 丝袜美腿亚洲色图| 日韩一区二区影院| 一本到三区不卡视频| 午夜影视日本亚洲欧洲精品| 国产精品伦理在线| 欧美一区二区三区白人 | 亚洲免费av观看| av成人免费在线观看| 国产精品美女久久久久久久| 成人av资源在线观看| 国产精品免费aⅴ片在线观看| 成人av网站免费观看| 中文字幕一区二区三区乱码在线| 91免费观看视频| 成人免费视频一区| 国产精品久久久久久久岛一牛影视| 国产91综合网| 亚洲青青青在线视频| 欧美色爱综合网| 麻豆精品一区二区三区| 国产网站一区二区| 91丨九色丨蝌蚪丨老版| 一区二区三区在线播| 91精品欧美久久久久久动漫| 精品一区二区在线视频| 国产精品久久久久影院| 在线精品视频免费播放| 毛片av一区二区三区| 欧美激情在线看| 欧洲av在线精品| 久久成人av少妇免费| 综合电影一区二区三区 | 色综合欧美在线视频区| 亚洲国产精品一区二区久久恐怖片| 欧美一级在线视频| 国产成人久久精品77777最新版本| 国产精品久久久久精k8| 欧美精品黑人性xxxx| 国产精品99久久久久| 一区二区三区不卡在线观看 | 日韩黄色免费电影| 日本一区二区免费在线| 日本韩国一区二区三区视频| 麻豆91精品视频| 日韩毛片视频在线看| 日韩欧美区一区二| 91视频一区二区| 久久国产婷婷国产香蕉| 亚洲久草在线视频| 2023国产精华国产精品| 色系网站成人免费| 国产精品99久久久久久宅男| 亚洲3atv精品一区二区三区| 国产一区二区三区四区五区入口| 国产一区二区三区日韩 | 国产高清精品在线| 成年人国产精品| 色婷婷久久一区二区三区麻豆| 色菇凉天天综合网| 91精品国产综合久久婷婷香蕉| 久久网这里都是精品| 亚洲欧美一区二区三区国产精品 | 婷婷综合久久一区二区三区| 亚洲精品一区二区三区蜜桃下载| 91丨porny丨首页|