This repository was archived by the owner on Sep 20, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +18
-10
lines changed Expand file tree Collapse file tree 4 files changed +18
-10
lines changed Original file line number Diff line number Diff line change @@ -306,18 +306,12 @@ if (originalCreateShadowRoot) {
306
306
} ;
307
307
}
308
308
309
- function upgradeAll ( doc ) {
310
- if ( HTMLTemplateElement && HTMLTemplateElement . bootstrap ) {
311
- HTMLTemplateElement . bootstrap ( doc ) ;
312
- }
313
- addedNode ( doc ) ;
314
- }
315
309
// exports
316
310
scope . watchShadow = watchShadow ;
317
311
scope . upgradeDocumentTree = upgradeDocumentTree ;
318
312
scope . upgradeDocument = upgradeDocument ;
319
313
scope . upgradeSubtree = addedSubtree ;
320
- scope . upgradeAll = upgradeAll ;
314
+ scope . upgradeAll = addedNode ;
321
315
scope . attached = attached ;
322
316
scope . takeRecords = takeRecords ;
323
317
Original file line number Diff line number Diff line change @@ -33,6 +33,12 @@ var flags = scope.flags;
33
33
*/
34
34
// Upgrade a node if it can be upgraded and is not already.
35
35
function upgrade ( node , isAttached ) {
36
+ // upgrade template elements before custom elements
37
+ if ( node . localName === 'template' ) {
38
+ if ( window . HTMLTemplateElement && HTMLTemplateElement . decorate ) {
39
+ HTMLTemplateElement . decorate ( node ) ;
40
+ }
41
+ }
36
42
if ( ! node . __upgraded__ && ( node . nodeType === Node . ELEMENT_NODE ) ) {
37
43
var is = node . getAttribute ( 'is' ) ;
38
44
// find definition first by localName and secondarily by is attribute
Original file line number Diff line number Diff line change @@ -28,9 +28,11 @@ if (typeof HTMLTemplateElement === 'undefined') {
28
28
NOTE: there is no support for dynamically adding elements to templates.
29
29
*/
30
30
HTMLTemplateElement . decorate = function ( template ) {
31
- if ( ! template . content ) {
32
- template . content = contentDoc . createDocumentFragment ( ) ;
31
+ // if the template is decorated, return fast
32
+ if ( template . content ) {
33
+ return ;
33
34
}
35
+ template . content = contentDoc . createDocumentFragment ( ) ;
34
36
var child ;
35
37
while ( child = template . firstChild ) {
36
38
template . content . appendChild ( child ) ;
@@ -63,6 +65,9 @@ if (typeof HTMLTemplateElement === 'undefined') {
63
65
canDecorate = false ;
64
66
}
65
67
}
68
+
69
+ // bootstrap recursively
70
+ HTMLTemplateElement . bootstrap ( template . content ) ;
66
71
} ;
67
72
68
73
/**
Original file line number Diff line number Diff line change 1
1
{
2
- "suites" : [" tests/runner.html" ]
2
+ "suites" : [" tests/runner.html" ],
3
+ "clientOptions" : {
4
+ "environmentImports" : []
5
+ }
3
6
}
You can’t perform that action at this time.
0 commit comments