Skip to content

Commit

Permalink
Merge pull request #1724 from Polymer/fix-scripts-head-unresolved
Browse files Browse the repository at this point in the history
Move non-webcomponents script unresolved case to `load` instead of synchronous
  • Loading branch information
Steve Orvell committed Jun 4, 2015
2 parents f48e0c8 + 2258920 commit b8ffcdd
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 3 deletions.
8 changes: 6 additions & 2 deletions src/lib/unresolved.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
-->
<script>
(function() {

// Ensure that the `unresolved` attribute added by the WebComponents polyfills
// is removed. This is done as a convenience so users don't have to remember
// to do so themselves. This attribute provides FOUC prevention when
Expand All @@ -22,7 +22,11 @@
if (window.WebComponents) {
addEventListener('WebComponentsReady', resolve);
} else {
resolve();
if (document.readyState === 'interactive' || document.readyState === 'complete') {
resolve();
} else {
addEventListener('DOMContentLoaded', resolve);
}
}

})();
Expand Down
3 changes: 2 additions & 1 deletion test/runner.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@
'unit/dynamic-import.html',
'unit/dom-repeat.html',
'unit/dom-if.html',
'unit/dom-bind.html'
'unit/dom-bind.html',
'unit/script-after-import-in-head.html'
]);
</script>
</body>
Expand Down
34 changes: 34 additions & 0 deletions test/unit/script-after-import-in-head.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<!doctype html>
<!--
@license
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
-->
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="../../../web-component-tester/browser.js"></script>
<script>
var shouldRun = 'import' in document.createElement('link');
</script>
<link rel="import" href="../../polymer.html">
<script>var SCRIPT_AFTER_IMPORT_IN_HEAD = true;</script>
</head>
<body>

<script>
suite('head scripts', function() {
var t = shouldRun ? test : test.skip;
t('script after import in head works', function() {
assert(SCRIPT_AFTER_IMPORT_IN_HEAD);
assert.equal(document.body.getAttribute('unresolved'), null);
});
});
</script>

</body>
</html>

0 comments on commit b8ffcdd

Please sign in to comment.