Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
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 "Style",
41 "LoggingPane",
42 "Color",
43 "Signal",
44 "Visual"
45 ];
47 if (typeof(JSAN) != 'undefined' || typeof(dojo) != 'undefined') {
48 if (typeof(dojo) != 'undefined') {
49 dojo.provide('MochiKit.MochiKit');
50 dojo.require("MochiKit.*");
51 }
52 if (typeof(JSAN) != 'undefined') {
53 (function (lst) {
54 for (var i = 0; i < lst.length; i++) {
55 JSAN.use("MochiKit." + lst[i], []);
56 }
57 })(MochiKit.MochiKit.SUBMODULES);
58 }
59 (function () {
60 var extend = MochiKit.Base.extend;
61 var self = MochiKit.MochiKit;
62 var modules = self.SUBMODULES;
63 var EXPORT = [];
64 var EXPORT_OK = [];
65 var EXPORT_TAGS = {};
66 var i, k, m, all;
67 for (i = 0; i < modules.length; i++) {
68 m = MochiKit[modules[i]];
69 extend(EXPORT, m.EXPORT);
70 extend(EXPORT_OK, m.EXPORT_OK);
71 for (k in m.EXPORT_TAGS) {
72 EXPORT_TAGS[k] = extend(EXPORT_TAGS[k], m.EXPORT_TAGS[k]);
73 }
74 all = m.EXPORT_TAGS[":all"];
75 if (!all) {
76 all = extend(null, m.EXPORT, m.EXPORT_OK);
77 }
78 var j;
79 for (j = 0; j < all.length; j++) {
80 k = all[j];
81 self[k] = m[k];
82 }
83 }
84 self.EXPORT = EXPORT;
85 self.EXPORT_OK = EXPORT_OK;
86 self.EXPORT_TAGS = EXPORT_TAGS;
87 }());
89 } else {
90 if (typeof(MochiKit.__compat__) == 'undefined') {
91 MochiKit.__compat__ = true;
92 }
93 (function () {
94 if (typeof(document) == "undefined") {
95 return;
96 }
97 var scripts = document.getElementsByTagName("script");
98 var kXULNSURI = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
99 var base = null;
100 var baseElem = null;
101 var allScripts = {};
102 var i;
103 for (i = 0; i < scripts.length; i++) {
104 var src = scripts[i].getAttribute("src");
105 if (!src) {
106 continue;
107 }
108 allScripts[src] = true;
109 if (src.match(/MochiKit.js$/)) {
110 base = src.substring(0, src.lastIndexOf('MochiKit.js'));
111 baseElem = scripts[i];
112 }
113 }
114 if (base === null) {
115 return;
116 }
117 var modules = MochiKit.MochiKit.SUBMODULES;
118 for (var i = 0; i < modules.length; i++) {
119 if (MochiKit[modules[i]]) {
120 continue;
121 }
122 var uri = base + modules[i] + '.js';
123 if (uri in allScripts) {
124 continue;
125 }
126 if (document.documentElement &&
127 document.documentElement.namespaceURI == kXULNSURI) {
128 // XUL
129 var s = document.createElementNS(kXULNSURI, 'script');
130 s.setAttribute("id", "MochiKit_" + base + modules[i]);
131 s.setAttribute("src", uri);
132 s.setAttribute("type", "application/x-javascript");
133 baseElem.parentNode.appendChild(s);
134 } else {
135 // HTML
136 /*
137 DOM can not be used here because Safari does
138 deferred loading of scripts unless they are
139 in the document or inserted with document.write
141 This is not XHTML compliant. If you want XHTML
142 compliance then you must use the packed version of MochiKit
143 or include each script individually (basically unroll
144 these document.write calls into your XHTML source)
146 */
147 document.write('<script src="' + uri +
148 '" type="text/javascript"></script>');
149 }
150 };
151 })();
152 }