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.2
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.2";
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 "DragAndDrop",
48 "Sortable"
49 ];
51 if (typeof(JSAN) != 'undefined' || typeof(dojo) != 'undefined') {
52 if (typeof(dojo) != 'undefined') {
53 dojo.provide('MochiKit.MochiKit');
54 (function (lst) {
55 for (var i = 0; i < lst.length; i++) {
56 dojo.require("MochiKit." + lst[i]);
57 }
58 })(MochiKit.MochiKit.SUBMODULES);
59 }
60 if (typeof(JSAN) != 'undefined') {
61 (function (lst) {
62 for (var i = 0; i < lst.length; i++) {
63 JSAN.use("MochiKit." + lst[i], []);
64 }
65 })(MochiKit.MochiKit.SUBMODULES);
66 }
67 (function () {
68 var extend = MochiKit.Base.extend;
69 var self = MochiKit.MochiKit;
70 var modules = self.SUBMODULES;
71 var EXPORT = [];
72 var EXPORT_OK = [];
73 var EXPORT_TAGS = {};
74 var i, k, m, all;
75 for (i = 0; i < modules.length; i++) {
76 m = MochiKit[modules[i]];
77 extend(EXPORT, m.EXPORT);
78 extend(EXPORT_OK, m.EXPORT_OK);
79 for (k in m.EXPORT_TAGS) {
80 EXPORT_TAGS[k] = extend(EXPORT_TAGS[k], m.EXPORT_TAGS[k]);
81 }
82 all = m.EXPORT_TAGS[":all"];
83 if (!all) {
84 all = extend(null, m.EXPORT, m.EXPORT_OK);
85 }
86 var j;
87 for (j = 0; j < all.length; j++) {
88 k = all[j];
89 self[k] = m[k];
90 }
91 }
92 self.EXPORT = EXPORT;
93 self.EXPORT_OK = EXPORT_OK;
94 self.EXPORT_TAGS = EXPORT_TAGS;
95 }());
97 } else {
98 if (typeof(MochiKit.__compat__) == 'undefined') {
99 MochiKit.__compat__ = true;
100 }
101 (function () {
102 if (typeof(document) == "undefined") {
103 return;
104 }
105 var scripts = document.getElementsByTagName("script");
106 var kXHTMLNSURI = "http://www.w3.org/1999/xhtml";
107 var kSVGNSURI = "http://www.w3.org/2000/svg";
108 var kXLINKNSURI = "http://www.w3.org/1999/xlink";
109 var kXULNSURI = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
110 var base = null;
111 var baseElem = null;
112 var allScripts = {};
113 var i;
114 var src;
115 for (i = 0; i < scripts.length; i++) {
116 src = null;
117 switch (scripts[i].namespaceURI) {
118 case kSVGNSURI:
119 src = scripts[i].getAttributeNS(kXLINKNSURI, "href");
120 break;
121 /*
122 case null: // HTML
123 case '': // HTML
124 case kXHTMLNSURI:
125 case kXULNSURI:
126 */
127 default:
128 src = scripts[i].getAttribute("src");
129 break;
130 }
131 if (!src) {
132 continue;
133 }
134 allScripts[src] = true;
135 if (src.match(/MochiKit.js(\?.*)?$/)) {
136 base = src.substring(0, src.lastIndexOf('MochiKit.js'));
137 baseElem = scripts[i];
138 }
139 }
140 if (base === null) {
141 return;
142 }
143 var modules = MochiKit.MochiKit.SUBMODULES;
144 for (var i = 0; i < modules.length; i++) {
145 if (MochiKit[modules[i]]) {
146 continue;
147 }
148 var uri = base + modules[i] + '.js';
149 if (uri in allScripts) {
150 continue;
151 }
152 if (baseElem.namespaceURI == kSVGNSURI ||
153 baseElem.namespaceURI == kXULNSURI) {
154 // SVG, XUL
155 /*
156 SVG does not support document.write, so if Safari wants to
157 support SVG tests it should fix its deferred loading bug
158 (see following below).
160 */
161 var s = document.createElementNS(baseElem.namespaceURI, 'script');
162 s.setAttribute("id", "MochiKit_" + base + modules[i]);
163 if (baseElem.namespaceURI == kSVGNSURI) {
164 s.setAttributeNS(kXLINKNSURI, 'href', uri);
165 } else {
166 s.setAttribute('src', uri);
167 }
168 s.setAttribute("type", "application/x-javascript");
169 baseElem.parentNode.appendChild(s);
170 } else {
171 // HTML, XHTML
172 /*
173 DOM can not be used here because Safari does
174 deferred loading of scripts unless they are
175 in the document or inserted with document.write
177 This is not XHTML compliant. If you want XHTML
178 compliance then you must use the packed version of MochiKit
179 or include each script individually (basically unroll
180 these document.write calls into your XHTML source)
182 */
183 document.write('<' + baseElem.nodeName + ' src="' + uri +
184 '" type="text/javascript"></script>');
185 }
186 };
187 })();
188 }