dom/tests/mochitest/ajax/mochikit/MochiKit/MochiKit.js

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     1 /***
     3 MochiKit.MochiKit 1.4
     5 See <http://mochikit.com/> for documentation, downloads, license, etc.
     7 (c) 2005 Bob Ippolito.  All rights Reserved.
     9 ***/
    11 if (typeof(MochiKit) == 'undefined') {
    12     MochiKit = {};
    13 }
    15 if (typeof(MochiKit.MochiKit) == 'undefined') {
    16     /** @id MochiKit.MochiKit */
    17     MochiKit.MochiKit = {};
    18 }
    20 MochiKit.MochiKit.NAME = "MochiKit.MochiKit";
    21 MochiKit.MochiKit.VERSION = "1.4";
    22 MochiKit.MochiKit.__repr__ = function () {
    23     return "[" + this.NAME + " " + this.VERSION + "]";
    24 };
    26 /** @id MochiKit.MochiKit.toString */
    27 MochiKit.MochiKit.toString = function () {
    28     return this.__repr__();
    29 };
    31 /** @id MochiKit.MochiKit.SUBMODULES */
    32 MochiKit.MochiKit.SUBMODULES = [
    33     "Base",
    34     "Iter",
    35     "Logging",
    36     "DateTime",
    37     "Format",
    38     "Async",
    39     "DOM",
    40     "Selector",
    41     "Style",
    42     "LoggingPane",
    43     "Color",
    44     "Signal",
    45     "Position",
    46     "Visual"
    47 ];
    49 if (typeof(JSAN) != 'undefined' || typeof(dojo) != 'undefined') {
    50     if (typeof(dojo) != 'undefined') {
    51         dojo.provide('MochiKit.MochiKit');
    52         dojo.require("MochiKit.*");
    53     }
    54     if (typeof(JSAN) != 'undefined') {
    55         (function (lst) {
    56             for (var i = 0; i < lst.length; i++) {
    57                 JSAN.use("MochiKit." + lst[i], []);
    58             }
    59         })(MochiKit.MochiKit.SUBMODULES);
    60     }
    61     (function () {
    62         var extend = MochiKit.Base.extend;
    63         var self = MochiKit.MochiKit;
    64         var modules = self.SUBMODULES;
    65         var EXPORT = [];
    66         var EXPORT_OK = [];
    67         var EXPORT_TAGS = {};
    68         var i, k, m, all;
    69         for (i = 0; i < modules.length; i++) {
    70             m = MochiKit[modules[i]];
    71             extend(EXPORT, m.EXPORT);
    72             extend(EXPORT_OK, m.EXPORT_OK);
    73             for (k in m.EXPORT_TAGS) {
    74                 EXPORT_TAGS[k] = extend(EXPORT_TAGS[k], m.EXPORT_TAGS[k]);
    75             }
    76             all = m.EXPORT_TAGS[":all"];
    77             if (!all) {
    78                 all = extend(null, m.EXPORT, m.EXPORT_OK);
    79             }
    80             var j;
    81             for (j = 0; j < all.length; j++) {
    82                 k = all[j];
    83                 self[k] = m[k];
    84             }
    85         }
    86         self.EXPORT = EXPORT;
    87         self.EXPORT_OK = EXPORT_OK;
    88         self.EXPORT_TAGS = EXPORT_TAGS;
    89     }());
    91 } else {
    92     if (typeof(MochiKit.__compat__) == 'undefined') {
    93         MochiKit.__compat__ = true;
    94     }
    95     (function () {
    96         if (typeof(document) == "undefined") {
    97             return;
    98         }
    99         var scripts = document.getElementsByTagName("script");
   100         var kXULNSURI = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
   101         var base = null;
   102         var baseElem = null;
   103         var allScripts = {};
   104         var i;
   105         for (i = 0; i < scripts.length; i++) {
   106             var src = scripts[i].getAttribute("src");
   107             if (!src) {
   108                 continue;
   109             }
   110             allScripts[src] = true;
   111             if (src.match(/MochiKit.js$/)) {
   112                 base = src.substring(0, src.lastIndexOf('MochiKit.js'));
   113                 baseElem = scripts[i];
   114             }
   115         }
   116         if (base === null) {
   117             return;
   118         }
   119         var modules = MochiKit.MochiKit.SUBMODULES;
   120         for (var i = 0; i < modules.length; i++) {
   121             if (MochiKit[modules[i]]) {
   122                 continue;
   123             }
   124             var uri = base + modules[i] + '.js';
   125             if (uri in allScripts) {
   126                 continue;
   127             }
   128             if (document.documentElement &&
   129                 document.documentElement.namespaceURI == kXULNSURI) {
   130                 // XUL
   131                 var s = document.createElementNS(kXULNSURI, 'script');
   132                 s.setAttribute("id", "MochiKit_" + base + modules[i]);
   133                 s.setAttribute("src", uri);
   134                 s.setAttribute("type", "application/x-javascript");
   135                 baseElem.parentNode.appendChild(s);
   136             } else {
   137                 // HTML
   138                 /*
   139                     DOM can not be used here because Safari does
   140                     deferred loading of scripts unless they are
   141                     in the document or inserted with document.write
   143                     This is not XHTML compliant.  If you want XHTML
   144                     compliance then you must use the packed version of MochiKit
   145                     or include each script individually (basically unroll
   146                     these document.write calls into your XHTML source)
   148                 */
   149                 document.write('<script src="' + uri +
   150                     '" type="text/javascript"></script>');
   151             }
   152         };
   153     })();
   154 }

mercurial