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

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

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

mercurial