updates to camp and things
This commit is contained in:
parent
16e1340a7c
commit
7724a42e73
442 changed files with 97335 additions and 8 deletions
86
static/js/cljs-runtime/goog.async.nexttick.js
Normal file
86
static/js/cljs-runtime/goog.async.nexttick.js
Normal file
|
@ -0,0 +1,86 @@
|
|||
goog.provide("goog.async.nextTick");
|
||||
goog.require("goog.debug.entryPointRegistry");
|
||||
goog.require("goog.dom");
|
||||
goog.require("goog.dom.TagName");
|
||||
goog.require("goog.functions");
|
||||
goog.require("goog.labs.userAgent.browser");
|
||||
goog.require("goog.labs.userAgent.engine");
|
||||
goog.async.nextTick = function(callback, opt_context, opt_useSetImmediate) {
|
||||
var cb = callback;
|
||||
if (opt_context) {
|
||||
cb = goog.bind(callback, opt_context);
|
||||
}
|
||||
cb = goog.async.nextTick.wrapCallback_(cb);
|
||||
if (typeof goog.global.setImmediate === "function" && (opt_useSetImmediate || goog.async.nextTick.useSetImmediate_())) {
|
||||
goog.global.setImmediate(cb);
|
||||
return;
|
||||
}
|
||||
if (!goog.async.nextTick.nextTickImpl) {
|
||||
goog.async.nextTick.nextTickImpl = goog.async.nextTick.getNextTickImpl_();
|
||||
}
|
||||
goog.async.nextTick.nextTickImpl(cb);
|
||||
};
|
||||
goog.async.nextTick.useSetImmediate_ = function() {
|
||||
if (!goog.global.Window || !goog.global.Window.prototype) {
|
||||
return true;
|
||||
}
|
||||
if (goog.labs.userAgent.browser.isEdge() || goog.global.Window.prototype.setImmediate != goog.global.setImmediate) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
goog.async.nextTick.nextTickImpl;
|
||||
goog.async.nextTick.getNextTickImpl_ = function() {
|
||||
var Channel = goog.global["MessageChannel"];
|
||||
if (typeof Channel === "undefined" && typeof window !== "undefined" && window.postMessage && window.addEventListener && !goog.labs.userAgent.engine.isPresto()) {
|
||||
Channel = function() {
|
||||
var iframe = goog.dom.createElement(goog.dom.TagName.IFRAME);
|
||||
iframe.style.display = "none";
|
||||
document.documentElement.appendChild(iframe);
|
||||
var win = iframe.contentWindow;
|
||||
var doc = win.document;
|
||||
doc.open();
|
||||
doc.close();
|
||||
var message = "callImmediate" + Math.random();
|
||||
var origin = win.location.protocol == "file:" ? "*" : win.location.protocol + "//" + win.location.host;
|
||||
var onmessage = goog.bind(function(e) {
|
||||
if (origin != "*" && e.origin != origin || e.data != message) {
|
||||
return;
|
||||
}
|
||||
this["port1"].onmessage();
|
||||
}, this);
|
||||
win.addEventListener("message", onmessage, false);
|
||||
this["port1"] = {};
|
||||
this["port2"] = {postMessage:function() {
|
||||
win.postMessage(message, origin);
|
||||
}};
|
||||
};
|
||||
}
|
||||
if (typeof Channel !== "undefined" && !goog.labs.userAgent.browser.isIE()) {
|
||||
var channel = new Channel();
|
||||
var head = {};
|
||||
var tail = head;
|
||||
channel["port1"].onmessage = function() {
|
||||
if (head.next !== undefined) {
|
||||
head = head.next;
|
||||
var cb = head.cb;
|
||||
head.cb = null;
|
||||
cb();
|
||||
}
|
||||
};
|
||||
return function(cb) {
|
||||
tail.next = {cb:cb};
|
||||
tail = tail.next;
|
||||
channel["port2"].postMessage(0);
|
||||
};
|
||||
}
|
||||
return function(cb) {
|
||||
goog.global.setTimeout(cb, 0);
|
||||
};
|
||||
};
|
||||
goog.async.nextTick.wrapCallback_ = goog.functions.identity;
|
||||
goog.debug.entryPointRegistry.register(function(transformer) {
|
||||
goog.async.nextTick.wrapCallback_ = transformer;
|
||||
});
|
||||
|
||||
//# sourceMappingURL=goog.async.nexttick.js.map
|
Loading…
Add table
Add a link
Reference in a new issue