OLD | NEW |
1 /** | 1 /** |
2 * Copyright (c) 2014 The Polymer Project Authors. All rights reserved. | 2 * Copyright (c) 2014 The Polymer Project Authors. All rights reserved. |
3 * This code may only be used under the BSD style license found at http://polyme
r.github.io/LICENSE.txt | 3 * This code may only be used under the BSD style license found at http://polyme
r.github.io/LICENSE.txt |
4 * The complete set of authors may be found at http://polymer.github.io/AUTHORS.
txt | 4 * The complete set of authors may be found at http://polymer.github.io/AUTHORS.
txt |
5 * The complete set of contributors may be found at http://polymer.github.io/CON
TRIBUTORS.txt | 5 * The complete set of contributors may be found at http://polymer.github.io/CON
TRIBUTORS.txt |
6 * Code distributed by Google as part of the polymer project is also | 6 * Code distributed by Google as part of the polymer project is also |
7 * subject to an additional IP rights grant found at http://polymer.github.io/PA
TENTS.txt | 7 * subject to an additional IP rights grant found at http://polymer.github.io/PA
TENTS.txt |
8 */ | 8 */ |
9 | 9 |
10 window.Platform = window.Platform || {}; | 10 window.Platform = window.Platform || {}; |
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
400 function isIdent(s) { | 400 function isIdent(s) { |
401 return identRegExp.test(s); | 401 return identRegExp.test(s); |
402 } | 402 } |
403 | 403 |
404 var constructorIsPrivate = {}; | 404 var constructorIsPrivate = {}; |
405 | 405 |
406 function Path(parts, privateToken) { | 406 function Path(parts, privateToken) { |
407 if (privateToken !== constructorIsPrivate) | 407 if (privateToken !== constructorIsPrivate) |
408 throw Error('Use Path.get to retrieve path objects'); | 408 throw Error('Use Path.get to retrieve path objects'); |
409 | 409 |
410 if (parts.length) | 410 for (var i = 0; i < parts.length; i++) { |
411 Array.prototype.push.apply(this, parts.slice()); | 411 this.push(String(parts[i])); |
| 412 } |
412 | 413 |
413 if (hasEval && this.length) { | 414 if (hasEval && this.length) { |
414 this.getValueFrom = this.compiledGetValueFromFn(); | 415 this.getValueFrom = this.compiledGetValueFromFn(); |
415 } | 416 } |
416 } | 417 } |
417 | 418 |
418 // TODO(rafaelw): Make simple LRU cache | 419 // TODO(rafaelw): Make simple LRU cache |
419 var pathCache = {}; | 420 var pathCache = {}; |
420 | 421 |
421 function getPath(pathString) { | 422 function getPath(pathString) { |
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 | 888 |
888 allObservers.push(observer); | 889 allObservers.push(observer); |
889 } | 890 } |
890 | 891 |
891 function removeFromAll(observer) { | 892 function removeFromAll(observer) { |
892 Observer._allObserversCount--; | 893 Observer._allObserversCount--; |
893 } | 894 } |
894 | 895 |
895 var runningMicrotaskCheckpoint = false; | 896 var runningMicrotaskCheckpoint = false; |
896 | 897 |
897 var hasDebugForceFullDelivery = hasObserve && (function() { | 898 var hasDebugForceFullDelivery = hasObserve && hasEval && (function() { |
898 try { | 899 try { |
899 eval('%RunMicrotasks()'); | 900 eval('%RunMicrotasks()'); |
900 return true; | 901 return true; |
901 } catch (ex) { | 902 } catch (ex) { |
902 return false; | 903 return false; |
903 } | 904 } |
904 })(); | 905 })(); |
905 | 906 |
906 global.Platform = global.Platform || {}; | 907 global.Platform = global.Platform || {}; |
907 | 908 |
(...skipping 4539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5447 */ | 5448 */ |
5448 | 5449 |
5449 (function(scope) { | 5450 (function(scope) { |
5450 'use strict'; | 5451 'use strict'; |
5451 | 5452 |
5452 var HTMLElement = scope.wrappers.HTMLElement; | 5453 var HTMLElement = scope.wrappers.HTMLElement; |
5453 var mixin = scope.mixin; | 5454 var mixin = scope.mixin; |
5454 var registerWrapper = scope.registerWrapper; | 5455 var registerWrapper = scope.registerWrapper; |
5455 var wrapHTMLCollection = scope.wrapHTMLCollection; | 5456 var wrapHTMLCollection = scope.wrapHTMLCollection; |
5456 var unwrap = scope.unwrap; | 5457 var unwrap = scope.unwrap; |
5457 var wrap = scope.wrap; | |
5458 | 5458 |
5459 var OriginalHTMLFormElement = window.HTMLFormElement; | 5459 var OriginalHTMLFormElement = window.HTMLFormElement; |
5460 | 5460 |
5461 function HTMLFormElement(node) { | 5461 function HTMLFormElement(node) { |
5462 HTMLElement.call(this, node); | 5462 HTMLElement.call(this, node); |
5463 } | 5463 } |
5464 HTMLFormElement.prototype = Object.create(HTMLElement.prototype); | 5464 HTMLFormElement.prototype = Object.create(HTMLElement.prototype); |
5465 mixin(HTMLFormElement.prototype, { | 5465 mixin(HTMLFormElement.prototype, { |
5466 get elements() { | 5466 get elements() { |
5467 // Note: technically this should be an HTMLFormControlsCollection, but | 5467 // Note: technically this should be an HTMLFormControlsCollection, but |
(...skipping 1217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6685 this.dirty = false; | 6685 this.dirty = false; |
6686 }, | 6686 }, |
6687 | 6687 |
6688 get parentRenderer() { | 6688 get parentRenderer() { |
6689 return getTreeScope(this.host).renderer; | 6689 return getTreeScope(this.host).renderer; |
6690 }, | 6690 }, |
6691 | 6691 |
6692 invalidate: function() { | 6692 invalidate: function() { |
6693 if (!this.dirty) { | 6693 if (!this.dirty) { |
6694 this.dirty = true; | 6694 this.dirty = true; |
| 6695 var parentRenderer = this.parentRenderer; |
| 6696 if (parentRenderer) |
| 6697 parentRenderer.invalidate(); |
6695 pendingDirtyRenderers.push(this); | 6698 pendingDirtyRenderers.push(this); |
6696 if (renderTimer) | 6699 if (renderTimer) |
6697 return; | 6700 return; |
6698 renderTimer = window[request](handleRequestAnimationFrame, 0); | 6701 renderTimer = window[request](handleRequestAnimationFrame, 0); |
6699 } | 6702 } |
6700 }, | 6703 }, |
6701 | 6704 |
6702 // http://w3c.github.io/webcomponents/spec/shadow/#distribution-algorithms | 6705 // http://w3c.github.io/webcomponents/spec/shadow/#distribution-algorithms |
6703 distribution: function(root) { | 6706 distribution: function(root) { |
6704 this.resetAll(root); | 6707 this.resetAll(root); |
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7598 var unwrap = scope.unwrap; | 7601 var unwrap = scope.unwrap; |
7599 | 7602 |
7600 // DataTransfer (Clipboard in old Blink/WebKit) has a single method that | 7603 // DataTransfer (Clipboard in old Blink/WebKit) has a single method that |
7601 // requires wrapping. Since it is only a method we do not need a real wrapper, | 7604 // requires wrapping. Since it is only a method we do not need a real wrapper, |
7602 // we can just override the method. | 7605 // we can just override the method. |
7603 | 7606 |
7604 var OriginalDataTransfer = window.DataTransfer || window.Clipboard; | 7607 var OriginalDataTransfer = window.DataTransfer || window.Clipboard; |
7605 var OriginalDataTransferSetDragImage = | 7608 var OriginalDataTransferSetDragImage = |
7606 OriginalDataTransfer.prototype.setDragImage; | 7609 OriginalDataTransfer.prototype.setDragImage; |
7607 | 7610 |
7608 OriginalDataTransfer.prototype.setDragImage = function(image, x, y) { | 7611 if (OriginalDataTransferSetDragImage) { |
7609 OriginalDataTransferSetDragImage.call(this, unwrap(image), x, y); | 7612 OriginalDataTransfer.prototype.setDragImage = function(image, x, y) { |
7610 }; | 7613 OriginalDataTransferSetDragImage.call(this, unwrap(image), x, y); |
| 7614 }; |
| 7615 } |
7611 | 7616 |
7612 })(window.ShadowDOMPolyfill); | 7617 })(window.ShadowDOMPolyfill); |
7613 | 7618 |
| 7619 /** |
| 7620 * Copyright 2014 The Polymer Authors. All rights reserved. |
| 7621 * Use of this source code is goverened by a BSD-style |
| 7622 * license that can be found in the LICENSE file. |
| 7623 */ |
| 7624 |
| 7625 (function(scope) { |
| 7626 'use strict'; |
| 7627 |
| 7628 var registerWrapper = scope.registerWrapper; |
| 7629 var unwrap = scope.unwrap; |
| 7630 |
| 7631 var OriginalFormData = window.FormData; |
| 7632 |
| 7633 function FormData(formElement) { |
| 7634 this.impl = new OriginalFormData(formElement && unwrap(formElement)); |
| 7635 } |
| 7636 |
| 7637 registerWrapper(OriginalFormData, FormData, new OriginalFormData()); |
| 7638 |
| 7639 scope.wrappers.FormData = FormData; |
| 7640 |
| 7641 })(window.ShadowDOMPolyfill); |
| 7642 |
7614 // Copyright 2013 The Polymer Authors. All rights reserved. | 7643 // Copyright 2013 The Polymer Authors. All rights reserved. |
7615 // Use of this source code is goverened by a BSD-style | 7644 // Use of this source code is goverened by a BSD-style |
7616 // license that can be found in the LICENSE file. | 7645 // license that can be found in the LICENSE file. |
7617 | 7646 |
7618 (function(scope) { | 7647 (function(scope) { |
7619 'use strict'; | 7648 'use strict'; |
7620 | 7649 |
7621 var isWrapperFor = scope.isWrapperFor; | 7650 var isWrapperFor = scope.isWrapperFor; |
7622 | 7651 |
7623 // This is a list of the elements we currently override the global constructor | 7652 // This is a list of the elements we currently override the global constructor |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8106 * | 8135 * |
8107 * and converts this to | 8136 * and converts this to |
8108 * | 8137 * |
8109 * scopeName .foo { ... } | 8138 * scopeName .foo { ... } |
8110 */ | 8139 */ |
8111 scopeCssText: function(cssText, scopeSelector) { | 8140 scopeCssText: function(cssText, scopeSelector) { |
8112 var unscoped = this.extractUnscopedRulesFromCssText(cssText); | 8141 var unscoped = this.extractUnscopedRulesFromCssText(cssText); |
8113 cssText = this.insertPolyfillHostInCssText(cssText); | 8142 cssText = this.insertPolyfillHostInCssText(cssText); |
8114 cssText = this.convertColonHost(cssText); | 8143 cssText = this.convertColonHost(cssText); |
8115 cssText = this.convertColonHostContext(cssText); | 8144 cssText = this.convertColonHostContext(cssText); |
8116 cssText = this.convertCombinators(cssText); | 8145 cssText = this.convertShadowDOMSelectors(cssText); |
8117 if (scopeSelector) { | 8146 if (scopeSelector) { |
8118 var self = this, cssText; | 8147 var self = this, cssText; |
8119 withCssRules(cssText, function(rules) { | 8148 withCssRules(cssText, function(rules) { |
8120 cssText = self.scopeRules(rules, scopeSelector); | 8149 cssText = self.scopeRules(rules, scopeSelector); |
8121 }); | 8150 }); |
8122 | 8151 |
8123 } | 8152 } |
8124 cssText = cssText + '\n' + unscoped; | 8153 cssText = cssText + '\n' + unscoped; |
8125 return cssText.trim(); | 8154 return cssText.trim(); |
8126 }, | 8155 }, |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8199 if (part.match(polyfillHost)) { | 8228 if (part.match(polyfillHost)) { |
8200 return this.colonHostPartReplacer(host, part, suffix); | 8229 return this.colonHostPartReplacer(host, part, suffix); |
8201 } else { | 8230 } else { |
8202 return host + part + suffix + ', ' + part + ' ' + host + suffix; | 8231 return host + part + suffix + ', ' + part + ' ' + host + suffix; |
8203 } | 8232 } |
8204 }, | 8233 }, |
8205 colonHostPartReplacer: function(host, part, suffix) { | 8234 colonHostPartReplacer: function(host, part, suffix) { |
8206 return host + part.replace(polyfillHost, '') + suffix; | 8235 return host + part.replace(polyfillHost, '') + suffix; |
8207 }, | 8236 }, |
8208 /* | 8237 /* |
8209 * Convert ^ and ^^ combinators by replacing with space. | 8238 * Convert combinators like ::shadow and pseudo-elements like ::content |
| 8239 * by replacing with space. |
8210 */ | 8240 */ |
8211 convertCombinators: function(cssText) { | 8241 convertShadowDOMSelectors: function(cssText) { |
8212 for (var i=0; i < combinatorsRe.length; i++) { | 8242 for (var i=0; i < shadowDOMSelectorsRe.length; i++) { |
8213 cssText = cssText.replace(combinatorsRe[i], ' '); | 8243 cssText = cssText.replace(shadowDOMSelectorsRe[i], ' '); |
8214 } | 8244 } |
8215 return cssText; | 8245 return cssText; |
8216 }, | 8246 }, |
8217 // change a selector like 'div' to 'name div' | 8247 // change a selector like 'div' to 'name div' |
8218 scopeRules: function(cssRules, scopeSelector) { | 8248 scopeRules: function(cssRules, scopeSelector) { |
8219 var cssText = ''; | 8249 var cssText = ''; |
8220 if (cssRules) { | 8250 if (cssRules) { |
8221 Array.prototype.forEach.call(cssRules, function(rule) { | 8251 Array.prototype.forEach.call(cssRules, function(rule) { |
8222 if (rule.selectorText && (rule.style && rule.style.cssText !== undefined
)) { | 8252 if (rule.selectorText && (rule.style && rule.style.cssText !== undefined
)) { |
8223 cssText += this.scopeSelector(rule.selectorText, scopeSelector, | 8253 cssText += this.scopeSelector(rule.selectorText, scopeSelector, |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8358 } else { | 8388 } else { |
8359 addCssToDocument(cssText); | 8389 addCssToDocument(cssText); |
8360 } | 8390 } |
8361 } | 8391 } |
8362 }; | 8392 }; |
8363 | 8393 |
8364 var selectorRe = /([^{]*)({[\s\S]*?})/gim, | 8394 var selectorRe = /([^{]*)({[\s\S]*?})/gim, |
8365 cssCommentRe = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim, | 8395 cssCommentRe = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim, |
8366 // TODO(sorvell): remove either content or comment | 8396 // TODO(sorvell): remove either content or comment |
8367 cssCommentNextSelectorRe = /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^
{]*?){/gim, | 8397 cssCommentNextSelectorRe = /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^
{]*?){/gim, |
8368 cssContentNextSelectorRe = /polyfill-next-selector[^}]*content\:[\s]*'([^']*
)'[^}]*}([^{]*?){/gim, | 8398 cssContentNextSelectorRe = /polyfill-next-selector[^}]*content\:[\s]*['|"]([
^'"]*)['|"][^}]*}([^{]*?){/gim, |
8369 // TODO(sorvell): remove either content or comment | 8399 // TODO(sorvell): remove either content or comment |
8370 cssCommentRuleRe = /\/\*\s@polyfill-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim, | 8400 cssCommentRuleRe = /\/\*\s@polyfill-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim, |
8371 cssContentRuleRe = /(polyfill-rule)[^}]*(content\:[\s]*'([^']*)'[^;]*;)[^}]*
}/gim, | 8401 cssContentRuleRe = /(polyfill-rule)[^}]*(content\:[\s]*['|"]([^'"]*)['|"][^;
]*;)[^}]*}/gim, |
8372 // TODO(sorvell): remove either content or comment | 8402 // TODO(sorvell): remove either content or comment |
8373 cssCommentUnscopedRuleRe = /\/\*\s@polyfill-unscoped-rule([^*]*\*+([^/*][^*]
*\*+)*)\//gim, | 8403 cssCommentUnscopedRuleRe = /\/\*\s@polyfill-unscoped-rule([^*]*\*+([^/*][^*]
*\*+)*)\//gim, |
8374 cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content\:[\s]*'([^
']*)'[^;]*;)[^}]*}/gim, | 8404 cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content\:[\s]*['|"
]([^'"]*)['|"][^;]*;)[^}]*}/gim, |
8375 cssPseudoRe = /::(x-[^\s{,(]*)/gim, | 8405 cssPseudoRe = /::(x-[^\s{,(]*)/gim, |
8376 cssPartRe = /::part\(([^)]*)\)/gim, | 8406 cssPartRe = /::part\(([^)]*)\)/gim, |
8377 // note: :host pre-processed to -shadowcsshost. | 8407 // note: :host pre-processed to -shadowcsshost. |
8378 polyfillHost = '-shadowcsshost', | 8408 polyfillHost = '-shadowcsshost', |
8379 // note: :host-context pre-processed to -shadowcsshostcontext. | 8409 // note: :host-context pre-processed to -shadowcsshostcontext. |
8380 polyfillHostContext = '-shadowcsscontext', | 8410 polyfillHostContext = '-shadowcsscontext', |
8381 parenSuffix = ')(?:\\((' + | 8411 parenSuffix = ')(?:\\((' + |
8382 '(?:\\([^)(]*\\)|[^)(]*)+?' + | 8412 '(?:\\([^)(]*\\)|[^)(]*)+?' + |
8383 ')\\))?([^,{]*)'; | 8413 ')\\))?([^,{]*)'; |
8384 cssColonHostRe = new RegExp('(' + polyfillHost + parenSuffix, 'gim'), | 8414 cssColonHostRe = new RegExp('(' + polyfillHost + parenSuffix, 'gim'), |
8385 cssColonHostContextRe = new RegExp('(' + polyfillHostContext + parenSuffix,
'gim'), | 8415 cssColonHostContextRe = new RegExp('(' + polyfillHostContext + parenSuffix,
'gim'), |
8386 selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$', | 8416 selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$', |
8387 colonHostRe = /\:host/gim, | 8417 colonHostRe = /\:host/gim, |
8388 colonHostContextRe = /\:host-context/gim, | 8418 colonHostContextRe = /\:host-context/gim, |
8389 /* host name without combinator */ | 8419 /* host name without combinator */ |
8390 polyfillHostNoCombinator = polyfillHost + '-no-combinator', | 8420 polyfillHostNoCombinator = polyfillHost + '-no-combinator', |
8391 polyfillHostRe = new RegExp(polyfillHost, 'gim'), | 8421 polyfillHostRe = new RegExp(polyfillHost, 'gim'), |
8392 polyfillHostContextRe = new RegExp(polyfillHostContext, 'gim'), | 8422 polyfillHostContextRe = new RegExp(polyfillHostContext, 'gim'), |
8393 combinatorsRe = [ | 8423 shadowDOMSelectorsRe = [ |
8394 /\^\^/g, | 8424 /\^\^/g, |
8395 /\^/g, | 8425 /\^/g, |
8396 /\/shadow\//g, | 8426 /\/shadow\//g, |
8397 /\/shadow-deep\//g, | 8427 /\/shadow-deep\//g, |
8398 /::shadow/g, | 8428 /::shadow/g, |
8399 /\/deep\//g | 8429 /\/deep\//g, |
| 8430 /::content/g |
8400 ]; | 8431 ]; |
8401 | 8432 |
8402 function stylesToCssText(styles, preserveComments) { | 8433 function stylesToCssText(styles, preserveComments) { |
8403 var cssText = ''; | 8434 var cssText = ''; |
8404 Array.prototype.forEach.call(styles, function(s) { | 8435 Array.prototype.forEach.call(styles, function(s) { |
8405 cssText += s.textContent + '\n\n'; | 8436 cssText += s.textContent + '\n\n'; |
8406 }); | 8437 }); |
8407 // strip comments for easier processing | 8438 // strip comments for easier processing |
8408 if (!preserveComments) { | 8439 if (!preserveComments) { |
8409 cssText = cssText.replace(cssCommentRe, ''); | 8440 cssText = cssText.replace(cssCommentRe, ''); |
(...skipping 2441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10851 } | 10882 } |
10852 return true; | 10883 return true; |
10853 } | 10884 } |
10854 }; | 10885 }; |
10855 | 10886 |
10856 function nodeIsImport(elt) { | 10887 function nodeIsImport(elt) { |
10857 return (elt.localName === 'link') && (elt.rel === IMPORT_LINK_TYPE); | 10888 return (elt.localName === 'link') && (elt.rel === IMPORT_LINK_TYPE); |
10858 } | 10889 } |
10859 | 10890 |
10860 function generateScriptDataUrl(script) { | 10891 function generateScriptDataUrl(script) { |
10861 var scriptContent = generateScriptContent(script), b64; | 10892 var scriptContent = generateScriptContent(script); |
| 10893 var b64 = 'data:text/javascript'; |
| 10894 // base64 may be smaller, but does not handle unicode characters |
| 10895 // attempt base64 first, fall back to escaped text |
10862 try { | 10896 try { |
10863 b64 = btoa(scriptContent); | 10897 b64 += (';base64,' + btoa(scriptContent)); |
10864 } catch(e) { | 10898 } catch(e) { |
10865 b64 = btoa(unescape(encodeURIComponent(scriptContent))); | 10899 b64 += (';charset=utf-8,' + encodeURIComponent(scriptContent)); |
10866 console.warn('Script contained non-latin characters that were forced ' + | |
10867 'to latin. Some characters may be wrong.', script); | |
10868 } | 10900 } |
10869 return 'data:text/javascript;base64,' + b64; | 10901 return b64; |
10870 } | 10902 } |
10871 | 10903 |
10872 function generateScriptContent(script) { | 10904 function generateScriptContent(script) { |
10873 return script.textContent + generateSourceMapHint(script); | 10905 return script.textContent + generateSourceMapHint(script); |
10874 } | 10906 } |
10875 | 10907 |
10876 // calculate source map hint | 10908 // calculate source map hint |
10877 function generateSourceMapHint(script) { | 10909 function generateSourceMapHint(script) { |
10878 var moniker = script.__nodeUrl; | 10910 var moniker = script.__nodeUrl; |
10879 if (!moniker) { | 10911 if (!moniker) { |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11217 function markTargetLoaded(event) { | 11249 function markTargetLoaded(event) { |
11218 event.target.__loaded = true; | 11250 event.target.__loaded = true; |
11219 } | 11251 } |
11220 | 11252 |
11221 } | 11253 } |
11222 | 11254 |
11223 // exports | 11255 // exports |
11224 scope.hasNative = hasNative; | 11256 scope.hasNative = hasNative; |
11225 scope.useNative = useNative; | 11257 scope.useNative = useNative; |
11226 scope.importer = importer; | 11258 scope.importer = importer; |
11227 scope.whenImportsReady = whenImportsReady; | |
11228 scope.IMPORT_LINK_TYPE = IMPORT_LINK_TYPE; | 11259 scope.IMPORT_LINK_TYPE = IMPORT_LINK_TYPE; |
11229 scope.isImportLoaded = isImportLoaded; | 11260 scope.isImportLoaded = isImportLoaded; |
11230 scope.importLoader = importLoader; | 11261 scope.importLoader = importLoader; |
| 11262 scope.whenReady = whenImportsReady; |
| 11263 |
| 11264 // deprecated |
| 11265 scope.whenImportsReady = whenImportsReady; |
11231 | 11266 |
11232 })(window.HTMLImports); | 11267 })(window.HTMLImports); |
11233 | 11268 |
11234 /* | 11269 /* |
11235 Copyright 2013 The Polymer Authors. All rights reserved. | 11270 Copyright 2013 The Polymer Authors. All rights reserved. |
11236 Use of this source code is governed by a BSD-style | 11271 Use of this source code is governed by a BSD-style |
11237 license that can be found in the LICENSE file. | 11272 license that can be found in the LICENSE file. |
11238 */ | 11273 */ |
11239 | 11274 |
11240 (function(scope){ | 11275 (function(scope){ |
(...skipping 2952 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14193 } | 14228 } |
14194 } | 14229 } |
14195 | 14230 |
14196 // exports | 14231 // exports |
14197 scope.flush = flush; | 14232 scope.flush = flush; |
14198 | 14233 |
14199 })(window.Platform); | 14234 })(window.Platform); |
14200 | 14235 |
14201 | 14236 |
14202 //# sourceMappingURL=platform.concat.js.map | 14237 //# sourceMappingURL=platform.concat.js.map |
OLD | NEW |