| Index: pkg/polymer/lib/src/build/polyfill_injector.dart
|
| diff --git a/pkg/polymer/lib/src/build/polyfill_injector.dart b/pkg/polymer/lib/src/build/polyfill_injector.dart
|
| index 3bf7e7a671c28584c5099d5f711768e1df24eede..acc0d7185c9b80267f7f90dbeb760702bb20d085 100644
|
| --- a/pkg/polymer/lib/src/build/polyfill_injector.dart
|
| +++ b/pkg/polymer/lib/src/build/polyfill_injector.dart
|
| @@ -36,6 +36,7 @@ class PolyfillInjector extends Transformer with PolymerTransformer {
|
| bool jsInteropFound = false;
|
| bool customElementFound = false;
|
| bool dartScriptTags = false;
|
| + bool dartLoaderTagFound = false;
|
|
|
| for (var tag in document.queryAll('script')) {
|
| var src = tag.attributes['src'];
|
| @@ -47,6 +48,8 @@ class PolyfillInjector extends Transformer with PolymerTransformer {
|
| shadowDomFound = true;
|
| } else if (_customElementJS.hasMatch(last)) {
|
| customElementFound = true;
|
| + } else if (last == 'dart.js') {
|
| + dartLoaderTagFound = true;
|
| }
|
| }
|
|
|
| @@ -62,7 +65,7 @@ class PolyfillInjector extends Transformer with PolymerTransformer {
|
| }
|
|
|
| _addScript(urlSegment) {
|
| - document.body.nodes.insert(0, parseFragment(
|
| + document.head.nodes.insert(0, parseFragment(
|
| '<script src="packages/$urlSegment"></script>\n'));
|
| }
|
|
|
| @@ -72,10 +75,15 @@ class PolyfillInjector extends Transformer with PolymerTransformer {
|
| _addScript('custom_element/custom-elements.debug.js');
|
| }
|
|
|
| - // This polyfill needs to be the first one on the body
|
| + // This polyfill needs to be the first one on the head
|
| // TODO(jmesserly): this is .debug to workaround issue 13046.
|
| if (!shadowDomFound) _addScript('shadow_dom/shadow_dom.debug.js');
|
|
|
| + if (!dartLoaderTagFound) {
|
| + document.body.nodes.add(parseFragment(
|
| + '<script src="packages/browser/dart.js"></script>'));
|
| + }
|
| +
|
| transform.addOutput(
|
| new Asset.fromString(transform.primaryInput.id, document.outerHtml));
|
| });
|
|
|