| Index: runtime/bin/vmservice/observatory/deployed/web/packages/template_binding/js/microtask.js
|
| diff --git a/runtime/bin/vmservice/observatory/deployed/web/packages/template_binding/js/microtask.js b/runtime/bin/vmservice/observatory/deployed/web/packages/template_binding/js/microtask.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ad954e3198c91238d4994f97ca4cd4403b23af02
|
| --- /dev/null
|
| +++ b/runtime/bin/vmservice/observatory/deployed/web/packages/template_binding/js/microtask.js
|
| @@ -0,0 +1,37 @@
|
| +/*
|
| + * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
| + * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
| + * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
| + * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
| + * Code distributed by Google as part of the polymer project is also
|
| + * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
| + */
|
| +
|
| +(function(scope) {
|
| +
|
| +var iterations = 0;
|
| +var callbacks = [];
|
| +var twiddle = document.createTextNode('');
|
| +
|
| +function endOfMicrotask(callback) {
|
| + twiddle.textContent = iterations++;
|
| + callbacks.push(callback);
|
| +}
|
| +
|
| +function atEndOfMicrotask() {
|
| + while (callbacks.length) {
|
| + callbacks.shift()();
|
| + }
|
| +}
|
| +
|
| +new (window.MutationObserver || JsMutationObserver)(atEndOfMicrotask)
|
| + .observe(twiddle, {characterData: true})
|
| + ;
|
| +
|
| +// exports
|
| +scope.endOfMicrotask = endOfMicrotask;
|
| +// bc
|
| +Platform.endOfMicrotask = endOfMicrotask;
|
| +
|
| +})(Polymer);
|
| +
|
|
|